Tips & Third Party
Library for Android
OLEH IBNU SINA WARDY
Overview
Action Bar
Sliding Menu
JSON Parsing
Tablet Dimension
TIPS & THIRD PARTY LIBRARY FOR ANDROID 2
Action Bar
TIPS & THIRD PARTY LIBRARY FOR ANDROID 3
Action Bar
ICS Froyo
TIPS & THIRD PARTY LIBRARY FOR ANDROID 4
Action Bar
ICS Froyo
getActionBar().setDisplayHomeAsUpEnabled(true);
TIPS & THIRD PARTY LIBRARY FOR ANDROID 5
Action Bar
ICS Froyo
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Library agar ActionBar tetap ada
untuk device di bawah Honeycomb:
ActionBarSherlock
http://actionbarsherlock.com
TIPS & THIRD PARTY LIBRARY FOR ANDROID 6
Cara Pakai
ActionBarSherlock
Import Project di Eclipse dan tambahkan sebagai library untuk aplikasi
Gunakan extend milik library
◦ Activity  SherlockActivity
◦ Fragment  SherlockFragment
◦ FragmentActivity  SherlockFragmentActivity
◦ ListAcitivity  SherlockListAcitivity
Untuk mengakses Action Bar, gunakan getSupportActionBar()
Pastikan gunakan class milik ActionBarSherlock
◦ com.actionbarsherlock.app.ActionBar
◦ com.actionbarsherlock.view.Menu
◦ com.actionbarsherlock.view.MenuItem
◦ com.actionbarsherlock.view.MenuInflater
TIPS & THIRD PARTY LIBRARY FOR ANDROID 7
Sliding Menu
TIPS & THIRD PARTY LIBRARY FOR ANDROID 8
Navigation Drawer
TIPS & THIRD PARTY LIBRARY FOR ANDROID 9
Membuat Drawer Layout
TIPS & THIRD PARTY LIBRARY FOR ANDROID 10
Membuat Aksi Buka / Tutup
DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) {
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu()
}
};
// Set the drawer toggle as the DrawerListener
mDrawerLayout.setDrawerListener(mDrawerToggle);
TIPS & THIRD PARTY LIBRARY FOR ANDROID 11
Buka / Tutup dengan icon
up
mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
mDrawerToggle = new ActionBarDrawerToggle(
this, /* host Activity */
mDrawerLayout, /* DrawerLayout object */
R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */
R.string.drawer_open, /* "open drawer" description */
R.string.drawer_close /* "close drawer" description */
) {
/** Called when a drawer has settled in a completely closed state. */
public void onDrawerClosed(View view) {
getActionBar().setTitle(mTitle);
}
/** Called when a drawer has settled in a completely open state. */
public void onDrawerOpened(View drawerView) {
getActionBar().setTitle(mDrawerTitle);
}
};
// Set the drawer toggle as the DrawerListener
mDrawerLayout.setDrawerListener(mDrawerToggle);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeButtonEnabled(true);
TIPS & THIRD PARTY LIBRARY FOR ANDROID 12
Library SlidingMenu
Url: https://github.com/jfeinstein10/SlidingMenu
Lebih mudah diimplementasikan
Dapat membuat sliding menu di kiri dan di kanan
Tetapi:
◦ Tidak mempunyai icon garis tiga di actionbar
◦ Menu tidak floating di atas konten
TIPS & THIRD PARTY LIBRARY FOR ANDROID 13
Penggunakan SlidingMenu
TIPS & THIRD PARTY LIBRARY FOR ANDROID 14
JSON Parsing
TIPS & THIRD PARTY LIBRARY FOR ANDROID 15
JSON
TIPS & THIRD PARTY LIBRARY FOR ANDROID 16
Basic Parsing
JSONObject jObj = new JSONObject(strFromUrl);
int id = jObj.getInt("id");
String name = jObj.getString("name");
String address = jObj.getString("address");
String contact = jObj.getString("contact");
//.... dan seterusnya
TIPS & THIRD PARTY LIBRARY FOR ANDROID 17
Gson
Unduh library Gson
◦ https://code.google.com/p/google-gson/
Ekstrak hasil unduh dan letakkan library jar ke folder libs di project
Buat kelas model yang mempresentasikan json yang akan diparsing
TIPS & THIRD PARTY LIBRARY FOR ANDROID 18
Contoh kelas model
public class RestaurantDao {
String id;
String name;
String address;
String contact;
String links;
String about;
String lat;
String lng;
String currency;
String minprice;
String maxprice;
//.... dan seterusnya
}
TIPS & THIRD PARTY LIBRARY FOR ANDROID 19
Parsing menggunakan
Gson
Gson gson = new Gson();
RestaurantDao restaurant = gson.fromJson(strFromUrl,
RestaurantDao.class);
TIPS & THIRD PARTY LIBRARY FOR ANDROID 20
Tablet
Dimension
TIPS & THIRD PARTY LIBRARY FOR ANDROID 21
Dimension for Tablet
Nexus S Galaxy Tab 10.1
TIPS & THIRD PARTY LIBRARY FOR ANDROID 22
dimens.xml
/values/dimens.xml
/values-sw600dp/dimens.xml
<resources>
<dimen name=“text_14sp”>14sp</dimen>
<dimen name=“dimen_10dp”>10dp</dimen>
</resources>
<resources>
<dimen name=“text_14sp”>24sp</dimen>
<dimen name=“dimen_10dp”>20dp</dimen>
</resources>
TIPS & THIRD PARTY LIBRARY FOR ANDROID 23
Dimension compatibility
Nexus S Galaxy Tab 10.1
TIPS & THIRD PARTY LIBRARY FOR ANDROID 24
Work with Us - PT GITS Indonesia
Jalan Jatimulya 1 No 14, Bandung
Jalan Rembang No 17, Menteng, Jakarta Pusat
26

Tips dan Third Party Library untuk Android - Part 1

  • 1.
    Tips & ThirdParty Library for Android OLEH IBNU SINA WARDY
  • 2.
    Overview Action Bar Sliding Menu JSONParsing Tablet Dimension TIPS & THIRD PARTY LIBRARY FOR ANDROID 2
  • 3.
    Action Bar TIPS &THIRD PARTY LIBRARY FOR ANDROID 3
  • 4.
    Action Bar ICS Froyo TIPS& THIRD PARTY LIBRARY FOR ANDROID 4
  • 5.
  • 6.
    Action Bar ICS Froyo getSupportActionBar().setDisplayHomeAsUpEnabled(true); Libraryagar ActionBar tetap ada untuk device di bawah Honeycomb: ActionBarSherlock http://actionbarsherlock.com TIPS & THIRD PARTY LIBRARY FOR ANDROID 6
  • 7.
    Cara Pakai ActionBarSherlock Import Projectdi Eclipse dan tambahkan sebagai library untuk aplikasi Gunakan extend milik library ◦ Activity  SherlockActivity ◦ Fragment  SherlockFragment ◦ FragmentActivity  SherlockFragmentActivity ◦ ListAcitivity  SherlockListAcitivity Untuk mengakses Action Bar, gunakan getSupportActionBar() Pastikan gunakan class milik ActionBarSherlock ◦ com.actionbarsherlock.app.ActionBar ◦ com.actionbarsherlock.view.Menu ◦ com.actionbarsherlock.view.MenuItem ◦ com.actionbarsherlock.view.MenuInflater TIPS & THIRD PARTY LIBRARY FOR ANDROID 7
  • 8.
    Sliding Menu TIPS &THIRD PARTY LIBRARY FOR ANDROID 8
  • 9.
    Navigation Drawer TIPS &THIRD PARTY LIBRARY FOR ANDROID 9
  • 10.
    Membuat Drawer Layout TIPS& THIRD PARTY LIBRARY FOR ANDROID 10
  • 11.
    Membuat Aksi Buka/ Tutup DrawerLayout mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, R.drawable.ic_drawer, R.string.drawer_open, R.string.drawer_close) { /** Called when a drawer has settled in a completely closed state. */ public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() } /** Called when a drawer has settled in a completely open state. */ public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); invalidateOptionsMenu(); // creates call to onPrepareOptionsMenu() } }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); TIPS & THIRD PARTY LIBRARY FOR ANDROID 11
  • 12.
    Buka / Tutupdengan icon up mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); mDrawerToggle = new ActionBarDrawerToggle( this, /* host Activity */ mDrawerLayout, /* DrawerLayout object */ R.drawable.ic_drawer, /* nav drawer icon to replace 'Up' caret */ R.string.drawer_open, /* "open drawer" description */ R.string.drawer_close /* "close drawer" description */ ) { /** Called when a drawer has settled in a completely closed state. */ public void onDrawerClosed(View view) { getActionBar().setTitle(mTitle); } /** Called when a drawer has settled in a completely open state. */ public void onDrawerOpened(View drawerView) { getActionBar().setTitle(mDrawerTitle); } }; // Set the drawer toggle as the DrawerListener mDrawerLayout.setDrawerListener(mDrawerToggle); getActionBar().setDisplayHomeAsUpEnabled(true); getActionBar().setHomeButtonEnabled(true); TIPS & THIRD PARTY LIBRARY FOR ANDROID 12
  • 13.
    Library SlidingMenu Url: https://github.com/jfeinstein10/SlidingMenu Lebihmudah diimplementasikan Dapat membuat sliding menu di kiri dan di kanan Tetapi: ◦ Tidak mempunyai icon garis tiga di actionbar ◦ Menu tidak floating di atas konten TIPS & THIRD PARTY LIBRARY FOR ANDROID 13
  • 14.
    Penggunakan SlidingMenu TIPS &THIRD PARTY LIBRARY FOR ANDROID 14
  • 15.
    JSON Parsing TIPS &THIRD PARTY LIBRARY FOR ANDROID 15
  • 16.
    JSON TIPS & THIRDPARTY LIBRARY FOR ANDROID 16
  • 17.
    Basic Parsing JSONObject jObj= new JSONObject(strFromUrl); int id = jObj.getInt("id"); String name = jObj.getString("name"); String address = jObj.getString("address"); String contact = jObj.getString("contact"); //.... dan seterusnya TIPS & THIRD PARTY LIBRARY FOR ANDROID 17
  • 18.
    Gson Unduh library Gson ◦https://code.google.com/p/google-gson/ Ekstrak hasil unduh dan letakkan library jar ke folder libs di project Buat kelas model yang mempresentasikan json yang akan diparsing TIPS & THIRD PARTY LIBRARY FOR ANDROID 18
  • 19.
    Contoh kelas model publicclass RestaurantDao { String id; String name; String address; String contact; String links; String about; String lat; String lng; String currency; String minprice; String maxprice; //.... dan seterusnya } TIPS & THIRD PARTY LIBRARY FOR ANDROID 19
  • 20.
    Parsing menggunakan Gson Gson gson= new Gson(); RestaurantDao restaurant = gson.fromJson(strFromUrl, RestaurantDao.class); TIPS & THIRD PARTY LIBRARY FOR ANDROID 20
  • 21.
    Tablet Dimension TIPS & THIRDPARTY LIBRARY FOR ANDROID 21
  • 22.
    Dimension for Tablet NexusS Galaxy Tab 10.1 TIPS & THIRD PARTY LIBRARY FOR ANDROID 22
  • 23.
    dimens.xml /values/dimens.xml /values-sw600dp/dimens.xml <resources> <dimen name=“text_14sp”>14sp</dimen> <dimen name=“dimen_10dp”>10dp</dimen> </resources> <resources> <dimenname=“text_14sp”>24sp</dimen> <dimen name=“dimen_10dp”>20dp</dimen> </resources> TIPS & THIRD PARTY LIBRARY FOR ANDROID 23
  • 24.
    Dimension compatibility Nexus SGalaxy Tab 10.1 TIPS & THIRD PARTY LIBRARY FOR ANDROID 24
  • 26.
    Work with Us- PT GITS Indonesia Jalan Jatimulya 1 No 14, Bandung Jalan Rembang No 17, Menteng, Jakarta Pusat 26