tips dan third party library untuk android - part 1
DESCRIPTION
Actionbar, NavigationDrawer / SlidingMenu, JSON Parsing, Dimensi untuk TabletTRANSCRIPT
Tips & Third Party Library for AndroidOLEH IBNU SINA WARDY
TIPS & THIRD PARTY LIBRARY FOR ANDROID 2
Overview Action Bar
Sliding Menu
JSON Parsing
Tablet Dimension
TIPS & THIRD PARTY LIBRARY FOR ANDROID 3
Action Bar
TIPS & THIRD PARTY LIBRARY FOR ANDROID 4
Action Bar
ICS Froyo
TIPS & THIRD PARTY LIBRARY FOR ANDROID 5
Action Bar
ICS Froyo
getActionBar().setDisplayHomeAsUpEnabled(true);
FORCE CLOSE
TIPS & THIRD PARTY LIBRARY FOR ANDROID 6
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 7
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 8
Sliding Menu
TIPS & THIRD PARTY LIBRARY FOR ANDROID 9
Navigation Drawer
TIPS & THIRD PARTY LIBRARY FOR ANDROID 10
Membuat Drawer Layout
TIPS & THIRD PARTY LIBRARY FOR ANDROID 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 12
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 13
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 14
Penggunakan SlidingMenu
TIPS & THIRD PARTY LIBRARY FOR ANDROID 15
JSON Parsing
TIPS & THIRD PARTY LIBRARY FOR ANDROID 16
JSON
TIPS & THIRD PARTY LIBRARY FOR ANDROID 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 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 19
Contoh kelas modelpublic 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 20
Parsing menggunakan GsonGson gson = new Gson();RestaurantDao restaurant = gson.fromJson(strFromUrl, RestaurantDao.class);
TIPS & THIRD PARTY LIBRARY FOR ANDROID 21
Tablet Dimension
TIPS & THIRD PARTY LIBRARY FOR ANDROID 22
Dimension for TabletNexus S Galaxy Tab 10.1
TIPS & THIRD PARTY LIBRARY FOR ANDROID 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> <dimen name=“text_14sp”>24sp</dimen> <dimen name=“dimen_10dp”>20dp</dimen></resources>
TIPS & THIRD PARTY LIBRARY FOR ANDROID 24
Dimension compatibilityNexus S Galaxy Tab 10.1
26
Work with Us - PT GITS IndonesiaJalan Jatimulya 1 No 14, BandungJalan Rembang No 17, Menteng, Jakarta Pusat