Nama : Arif Setyawan Nim : 12111034 Kelas: Kelas malam 22 Teknik Informatika Tugas Mobile Computing 1. Jelaskan siklus hidup android? Android – Hampir semua orang di seluruh penjuru dunia menggunakan sistem operasi yang satu ini pada smartphone mereka. Namun tak banyak yang tahu bagaimana awal mula OS Android bisa begitubooming seperti sekarang ini. Andoid merupakan sistem operasi berbasis Linux yang memang diperuntukkan bagi smartphone maupun komputer tablet. Awalnya, Android dikembangkan oleh Android, Inc dengan bantuan finansial dari Google. Android, Inc sendiri didirikan pada tahun 2003 dengan tujuan untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital. Namun melihat pangsa pasar kamera digital yang tidak begitu luas, akhirnya Android, Inc memutuskan untuk mengalihkan peruntukkan sistem pengoperasian tersebut dari yang awalnya diperuntukkan bagi kamera digital dialihkan bagi telepon pintar atau smartphone, menyaingi Symbian dan Windows Mobile yang telah lebih dahulu menguasai pasar. Karena adanya keterbatasan dana, maka Android ini diakuisisi oleh perusahaan besar Google pada tahun 2005. Android Inc menjadi anak perusahaan Google, dimana para pendirinya tetap bekerja di perusahaan yang telah diakusisis Google tersebut. Akhirnya pada tahun 2008 telepon pintar (Smartphone) pertama yang menggunakan Android sebagai sistem pengoperasiaannya berhasil dirilis dan diperkenalkan ke pasar. Telepon seluler ini adalah HTC Dream. Menggunakan OS Android versi 1.0, smartphone ini berhasil mmenarik perhatian masyarakat. Pada tahun 2010, Android bermitra dan bekerjasama dengan beberapa produsen telepon seluler ternama seperti Samsung, HTC, dan LG. Android menggunakan kode dengan sistem terbuka sehingga memungkinkan para pembuat perangkat, operator nirkabel, dan para pengembang aplikasi secara bebas memodifikasi serta mengembangkan perangkat lunak yang ada pada sistem operasi Android tersebut. Maka bukan suatu hal yang mengherankan apabila hingga saat ini Android telah memiliki lebih dari 700 ribu aplikasi dan sekitar lebih dari 25 juta aplikasi telah diunduh oleh para penggunanya melalui toko aplikasi utama milik Android, yakni Google Play Store. Karena berbagai kemudahan dan pencapaian inilah maka Android menjadi sistem operasi telepon pintar paling popular dan paling banyak digunakan oleh milyaran manusia di berbagai penjuru dunia, mengalahkan Symbian yang sebelumnya sempat berjaya memimpin pasar. Berbagai transformasi dan pengembangan-pengembangan pun dilakukan oleh Android untuk meningkatkan performanya. Sistem operasi Andorid dikembangkan dengan kode yang diberi nama berdasarkan berbagai nama dessert atau makanan pencuci mulut dan diurutkan berdasarkan urutan alfabetis. Sebenarnya, versi komersil pertama dari Android adalah Android 1.0, OS ini dirilis pada bulan September 2008 dan versi beta yang dirilis pada November 2007. Android merupakan pengembangan berkelanjutan oleh Google dan Open Handset Alliance (OHA) dan telah melakukan beberapa kali update sejak sistem operasi ini dirilis. Berikut akan dibahas perkembangan Android yang memiliki kode nama khusus dari masing-masing versi nya. Cupcake (OS Android 1.5) Merupakan versi OS Android pertama yang menggunakan nama dessert. OS ini diluncurkan pertama kali pada tahun 2009. Berbagai aplikasi dan fitur yang ditawarkan dalam sistem Android ini di antaranya ialah aplikasi kamus dan keyboard, kemampuan merekam dan memutar video dalam format MPEG-4, aplikasi widget yang lebih lengkap, serta kemampuan transisi layar dan fitur untuk mengunggah video ke dalam Youtube secara lebih mudah dan cepat. Donut (OS Android 1.6) Enam bulan setelah peluncuran OS Android versi 1.5 Cupcake, Android kembali memperkenalkan sistem operasi versi terbarunya yaitu OS Android versi 1.6 Donut. Secara keseluruhan tampilan OS ini sama dengan Cupcake, hanya saja terdapat penambahan dan perkembangan pada sistem kamera danserach engine atau mensin pencarian. Selain itu, Androd versi ini dilengkapi pula dengan dukungan bagi jaringan CDMA yang sebelumnya belum ada pada OS Android versi 1.5 Cupcake. Eclair (OS Android 2.0-2.1) Perkembangan atau transformasi yang lebih besar lagi dilakukan oleh Android. Bersamaan dengan diluncurkannya perangkat seluler bernama Motorola Droid yang merupakan peningkatan spesifikasi dari perangkat sebelumnya yaitu HTC Dream, Android memperkenalkan sistem operasi terbarunya versi 2.0-2.1 dengan kode Eclair. Perangkat ini hadir dengan adanya fitur GPS dan tampilan yang lebih modern dibandingkan versi sebelumnya. Froyo (OS Android 2.2-2.2.3) Tahun 2010, tepatnya pada bulan Mei, Android kembali memperkenalkan versi OS terbarunya yaitu OS Android 2.2-2.2.3 Froyo yang memiliki dukungan Adobe Flash Player yang belum ada pada versi sebelumnya, Eclair. Performa Froyo lebih baik dibandingkan Eclair, ditambah lagi dengan adanya dukungan SD (Secure Digital) Card yang semakin mempermudah pengguna atau user-nya dalam melakukan penyimpanan data dalam perangkat seluler pintarnya. Gingerbread (OS Android 2.3-2.3.7) Tak lama berselang, pada bulan Desember tahun 2010, versi terbaru Android, Gingerbread, diperkenalkan ke pasar. Banyak sekali transformasi dan perubahan yang dilakukan, mengingat versi Gingerbread ini memang diperuntukkan untuk memaksimalkan jalannya berbagai aplikasi dan game yang ada pada Google Play Store. Dilengkapi dengan layar WXGA dan konektivitas NFC semakin membuat ctra Android semakin bersinar di hati para penggunanya. Honeycomb (OS Android 3.0-3.2.6) OS Android versi terbaru ini hadir pada bulan Februari tahun 2011. Versi ini menawarkan tampilan status bar yang semakin mudah untuk dilakukan kustomisasi oleh penggunanya. OS ini memang diluncurkan khusus mendukung perangkat tablet PC. Ice Cream Sandwich (OS Android 4.0-4.0.4) Ice Cream Sandwich hadir dengan tampilan yang lebih elegan dan menarik dibandingkan OS versi terdahulu yaitu Honeycomb. Mulai diluncurkan pada bulan Oktober tahun 2011, Ice Cream Sandwich semakin mempertegas konsistensi Android dalam melakukan transformasi dan perkembangan yang konsisten terhadap sistem operasi yang dimilikinya. Jelly Bean (OS Android 4.1-4.3) Tak berhenti sampai di situ, Android membuktikan eksistensinya lewat OS versi terbarunya yaitu Jelly Bean yang resmi dirilis bulan Juli tahun 2012. Dalam ersi terbarunya ini, terdapat pembaharuan peningkatan input keyboard yang kian lengkap dan adanya pencarian Google Now yang mampu memberikan berbagai informasi mengenai cuaca dan traffic. Kitkat (OS Android 4.4+) OS ini mampu memberikan tampilan status bar transparan serta dapat beroperasi secara optimal pada perangkat berspesifikasi rendah. Dan juga pada saat perilisan OS ini, Android juga merilis Android Wear, yang mana dapat digunakan pada smartwaches. Selain itu Android juga memperbarui User Interface pada program Google Maps Navigation dan Alarms. Lolipop (OS Android 5.+) Fitur-fitur pada Android Lollipop merupakan desain ulang dari user interface yang dibangun sekitar bahasa desain responsif yang disebut dengan”material design”. Perubahan lainnya yaitu perbaikan pada pemberitahuan/notifikasi, yang bisa di akses dari lockscreen dan dapat ditampilkan tanpa aplikasi tambahan sebagai top-of-the-screen banner. Dan Google juga membuat suatu perubahan internal untuk platform, dengan Android Runtime (ART) yang secara resmi menggantikan Dalvik untuk meningkatkan performa aplikasi dan bermaksud juga untuk meningkatkan dan mengoptimalkan penggunaan baterai yang dikenal oleh mereka sebagai projek Volta. 2. Jelaskan share preferences android ! Versi 1.0 1. Mengenal Shared Preferences Menyimpan data pada aplikasi Android dapat dilakukan dengan beberapa cara, antara lain : Shared Preferences Adalah penyimpanan data primitif pada file internal aplikasi dengan pasangan key-value. Internal Storage Adalah penyimpanan data privat pada memory internal device. External Storage Adalah penyimpanan data yang bersifat publik (dapat diakses siapapun) pada memory external device. SQLite Databases Adalah penyimpanan data terstruktur pada database internal aplikasi. Network Connection Adalah penyimpanan data pada server dengan perantara jaringan (internet). Yang akan kita bahas pada artikel ini adalah penyimpanan data dengan Shared Preferences. Penyimpanan dengan metode ini merupakan penyimpanan data yang paling sederhana. Sederhana pada data yang disimpan maupun metode penyimpanannya. Data yang dapat disimpan hanyalah data primitif seperti int, boolean, float, long, dan String. Data disimpan dengan konsep pasangan KeyValue. Key digunakan sebagai id dari data dan Value adalah nilai datanya, misalnya key adalah “nama” dan value adalah nilai dari nama itu misalnya “dian”, sehingga pasangan Key-Valuenya adalah (key,value) = (“nama”,”dian”). 2. Implementasi Shared Preferences Shared Preferences bisa dimanfaatkan untuk penyimpanan data yang sederhana. Saya akan mencontohkan penggunaan Shared Preferences sebagai Pertama kita buat xml layout pada file activity_main.xml seperti berikut ini. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" seperti berikut ini. android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Masukkan Nama : " /> <EditText android:id="@+id/et_name" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/bt_save" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Simpan" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Nama Tersimpan : " /> <TextView android:id="@+id/tv_saved_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" /> </LinearLayout> Kemudian kita buat class MainActivity menjadi seperti berikut ini. import android.os.Bundle; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity { private SharedPreferences pref; private final String KEY_NAME = "key_name"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); pref = getSharedPreferences("mypreferences", MODE_PRIVATE); showSavedName(); final EditText etName = (EditText) findViewById(R.id.et_name); Button bSave = (Button) findViewById(R.id.bt_save); bSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { String name = etName.getText().toString(); if(name.equals("")){ Toast.makeText(MainActivity.this, "Nama tidak boleh kosong", Toast.LENGTH_SHORT).show(); }else{ saveName(name); showSavedName(); } } }); } private void showSavedName(){ String savedName = getSavedName(); TextView tvSavedName = (TextView) findViewById(R.id.tv_saved_name); tvSavedName.setText(savedName); } private String getSavedName(){ return pref.getString(KEY_NAME, "-"); } private void saveName(String name){ Editor editor = pref.edit(); editor.putString(KEY_NAME, name); editor.commit(); } } Jalankan project maka aplikasi akan berjalan seperti berikut ini. Jika aplikasi kita tutup, kemudian kita jalankan lagi, maka pada Nama Tersimpan akan langsung muncul nama Jono. Karena nama terakhir yang disimpan adalah Jono. Maka terbukti bahwa data nama telah berhasil disimpan pada penyimpanan Shared Preferences. Shared Preferences dapat dimanfaatkan untuk membuat berbagai penyimpanan sederhana seperti : Session Account (username dan password) dari aplikasi Data Pengaturan (Setting: bahasa, tema, volume, dsb) dari aplikasi Dan Lain-Lain 3. Sebutkan beberapa contoh method yang ada di siklus android! Siklus Hidup Activity Android Sedikit berbagi seiring dengan sedang belajarnya gue mengenai pemograman Android. Berikut gue akan coba menjelaskan Acitvity Life Cycle pada aplikasi berbasis Android. Siklus ini penting dipahami oleh para developer Android agar dapat mengetahui state aplikasi yang dikembangkan sejak aplikasi tersebut mulai dijalankan. Berikut Flowchart siklus tersebut Activity adalah suatu kelas yang disediakan oleh Android guna mengimplementasikan siklus hidup suatu kelas-kelas pada suatu aplikasi. Oleh karena itu, kelas Activity wajib diturunkan ke kelaskelas lain pada aplikasi. Jika kalian masih bingung dengan konsep kelas dan keturunan (inherintance), sebaiknya kalian belajar mengenai bahasa pemograman Java terlebih dahulu karena sesungguhnya pemograman Android berangkat dari bahasa pemograman Java. Berikut ilustrasi di dalam kode pemograman Nama kelas yang kita inisiasi adalah StartingPoint yang berada dalam package bernama com.thenewboston.travis. Package adalah suatu pembungkus atau suatu kemasan yang berisi banyak kelas-kelas. Setelah Activity menurunkan sifat-sifatnya atau dengan kata lain setelah StartingPoint melakukan extends kepada kelas Activity, maka siklus di atas berlaku pula pada kelas StartingPoint. Siklus sesungguhnya berisi dengan masing-masing state yang sebenarnya adalah suatu method yang dimiliki kelas activity .Berikut penjelasan pada masing-masing state : onCreate() Method ini dipanggil ketika activity pertama kali dibuat onStart() Method ini dipanggil ketika sebuah activity tampil ke pengguna onResume() Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resumed). (Hasil dari method OnRestart()) onFreeze() Method ini dipanggil ketika activity berada dalam keadaan freeze atau tidak merespon akibat sedang sibuk mengerjakan task tertentu pada sistem onPause() Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume( ) onStop() Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna onDestroy() Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori onRestart() Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop Pada state di atas, kita bebas mendefenisikan method-method terkait seperti contoh padastate start, kita dapat mendefenisikan suatu Splash screen sehingga saat aplikasi baru dimulai, akan menampilkan suatu gambar terlebih dahulu disertai dengan musik lalu masuk ke aplikasi utama. Siklus di atas pun berlangsung terus menerus hingga aplikasi atau activity akhirnya di terminasi. Konsep siklus ini penting agar developer tidak mengimplementasikan banyak kelas di waktu yang bersamaan yang pastinya memakan banyak sekali memori. Ketika kelas lain aktif, kelas yang tidak berjalan perlu dihentkan sementara agar menghemat penggunaan memori. Mungkin itu tadi sekilas ilmu bermanfaat mengenai pemogramanAndroid. Saran dan Kritik terbuka lebar di comment section di bawah