Pages

Subscribe:

Ads 468x60px

Rabu, 24 April 2013

Daur Hidup Activity


android1 (1) Sebuah Activity biasanya ditampilkan dalam satu screen sebagai bagian komponen dari View (yang terdiri dari komponen UI, widget atau control), yang bertugas melakukan interaksi dengan user untuk melakukan sebuah task tunggal (misalnya, melihat informasi, mengedit data, atau memasukkan data). Sebuah aplikasi Android biasanya memiliki satu atau lebih Activity. Salah satu Activity ditandai sebagai startup activity, yang pada gilirannya memulai activity berikutnya, melalui sebuah intent. Untuk membuat suatu activity, kita melakukan extend terhadap class android.app.Activity, dan melakukan override beberapa method, khususnya method OnCreate(). Kita bisa mengatur konten view dari activity secara bahasa pemrograman java atau juga bisa melalui kode layout file XML Daur hidup sebuah activity diatur melalui method call-back, yang di definisikan pada class dasar Activity : Android_ActivityLifeCycle<




Untuk menggambarkan contoh ini, maka mari kita buat sebuah aplikasi yang diberinama ”Life Cycle“,dengan nama project “ActivityLifeCycle” dan nama package “com.mytest“. Buat sebuah activity yang disebut “LifeCycleActivity” dengan judul “Life Cycle Test“.
package com.mytest;
 
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
 
public class LifeCycleActivity extends Activity {
   private static final String TAG = "LifeCycleActivity: ";
 
   @Override
   public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Log.d(TAG, "in onCreate()");
   }
 
   @Override
   public void onStart() {
      super.onStart();
      Log.d(TAG, "in onStart()");
   }
 
   @Override
   public void onRestart() {
      super.onRestart();
      Log.d(TAG, "in onReStart()");
   }
 
   @Override
   public void onResume() {
      super.onResume();
      Log.d(TAG, "in onResume()");
   }
 
   @Override
   public void onPause() {
      super.onPause();
      Log.d(TAG, "in onPause()");
   }
 
   @Override
   public void onStop() {
      super.onStop();
      Log.d(TAG, "in onStop()");
   }
 
   @Override
   public void onDestroy() {
      super.onDestroy();
      Log.d(TAG, "in onDestroy()");
   }
 
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      getMenuInflater().inflate(R.menu.activity_main, menu);
      return true;
   }
}
“LogCat” & DDMS Dalam LifeCycleActivity, kita menggunakan method static Log.d() untuk menuliskan sebuah pesan “debug” ke ”LogCat” view. Ini adalah cara yang umum digunakan untuk membuat pesan log dalam aplikasi android, ketimbang menggunakan System.out.println(). LogCat adalah Android Logging Utility yang memungkinkan sistem dan aplikasi untuk mencatat informasi keluaran pada level-level yang bervariasi. Setiap masukan log memiliki time stamp, sebuah logging level (V – verbose, D – debug, I – informational, W – warning , E – error), Process ID (pid) yang menunjukkan dari mana sebuah log datang, juga sebuah tag, dan pesan logging tersebut. Kita bisa menggunakan bermacam – macam method – method static di dalam class java.Android.Log untuk mencatat sebuah pesan dengan bermacam level log:
public static void v(String tag, String message);  // Verbose
public static void d(String tag, String message);  // Debug
public static void i(String tag, String message);  // Informational
public static void w(String tag, String message);  // Warning
public static void e(String tag, String message);  // Error
  // where tag identifies the applicatoin

Dari tampilan LogCat view, kita bisa memilih logging level tertentu, atau memfilternya berdasarkan pid, tag dan log level. Selain itu, kita juga bisa menggunakan perspektif DDMS (Dalvik Debugging Monitor Server) pada Eclipse IDE (melalui menu “Window” ⇒ Open Perspective⇒ Other ⇒ DDMS). Di perspektif ini, kita bisa mendapatkan informasi tentang semua proses, VM dan thread, kondisi heap space, dan lain -lain Menjalankan Aplikasi Jalankan aplikasi “Life Cycle“, yang telah kita buat dengan klik kanan pada project ⇒ Run As ⇒ Android Application, kemudian amati yang ditampilkan pada ”LogCat” view.
07-14 03:45:48.698: D/LifeCycleActivity:(752): in onCreate()
07-14 03:45:48.698: D/LifeCycleActivity:(752): in onStart()
07-14 03:45:48.708: D/LifeCycleActivity:(752): in onResume()
Kemudian klik button “BACK”, LogCat akan menampilkan sebagai berikut:
07-14 03:46:29.559: D/LifeCycleActivity:(752): in onPause()
07-14 03:46:31.849: D/LifeCycleActivity:(752): in onStop()
07-14 03:46:31.899: D/LifeCycleActivity:(752): in onDestroy()
Kemudian jalankan kembali aplikasi melalui ”App Menu”, Log Cat akan menampilkan sebagai berikut:
07-14 03:47:24.749: D/LifeCycleActivity:(752): in onCreate()
07-14 03:47:24.749: D/LifeCycleActivity:(752): in onStart()
07-14 03:47:24.759: D/LifeCycleActivity:(752): in onResume()
Klik button “HOME” untuk mengirim activity ke background. Perhatikan bahwa onDestroy() tidak akan dipanggil.
07-14 03:48:06.369: D/LifeCycleActivity:(752): in onPause()
07-14 03:48:08.258: D/LifeCycleActivity:(752): in onStop()

07-14 03:49:14.650: D/LifeCycleActivity:(752): in onReStart()
07-14 03:49:14.650: D/LifeCycleActivity:(752): in onStart()
07-14 03:49:14.659: D/LifeCycleActivity:(752): in onResume()
Klik button “PHONE” dan kemudian tekan “BACK”:
07-14 03:51:31.829: D/LifeCycleActivity:(752): in onPause()
07-14 03:51:36.700: D/LifeCycleActivity:(752): in onStop()
07-14 03:51:38.308: D/LifeCycleActivity:(752): in onReStart()

07-14 03:51:38.308: D/LifeCycleActivity:(752): in onStart()
07-14 03:51:38.329: D/LifeCycleActivity:(752): in onResume()
Dari percobaan ini, kita tahu bahwa dengan menekan button “BACK” akan activity akan dihancurkan, namun ketika button “HOME” dan button “PHONE” yang ditekan, activity tidak akan hancur, hanya dihentikan sementara

Selasa, 23 April 2013

Kelebihan dan Kelemahan OS Mobile

1.      iOS Apple


iOS adalah sistem operasi mobile Apple. Dikembangkan awalnya untuk iPhone, kemudian telah digunakan juga pada iPod Touch, iPad dan Apple TV. Apple tidak mengizinkan OS untuk dijalankan pada hardware pihak ketiga. Interface pengguna iOS didasarkan pada konsep manipulasi langsung, menggunakan gerakan multi-touch. Elemen kendali Interface terdiri dari slider, switch, dan tombol. Interaksi dengan OS mencakup gerakan seperti menggesekkan, penyadapan, mencubit, dan sebaliknya mencubit. Akselerometer internal digunakan oleh beberapa aplikasi untuk merespon guncangan perangkat (satu hasil yang umum adalah membatalkan perintah) atau berputar dalam mode tiga dimensi (satu hasil yang umum adalah beralih dari portrait ke modus landscape). Dalam IOS, ada empat lapisan abstraksi: Core OS layer, Core Services layer, Media layer, dan Cocoa Touch layer. Sistem operasi membutuhkan sekitar 500 megabyte penyimpanan perangkat, bervariasi untuk setiap perangkat yang diimplementasikan.
Kelebihan:
1.  Multitasking.
2. Navigasi mudah.
3. Terintegrasi penuh dengan OS Apple yang lain.
4. Dukungan multimedia sangat baik.
5. User Interface yang interaktif.
6. Tersedia AppStore untuk memenuhi kebutuhan user.       
7. Mendukung GPS.
Kekurangan:
1. Tidak support flash (Safari Mobile).
2. Penempatan antena kurang baik.
3. Standar aplikasi pengembang sangat ketat.


2.      Android
Android adalah sistem operasi untuk telepon seluler berbasis linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam peranti penggerak. Awalnya Google Inc. membeli Android Inc., perangkat baru yang membuat perangkat lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah open Handset Alliance, konsorium dari34 perusahaan perangkat keras, perangkat lunak, dan telekomunikasi seperti Google, HTC, Intel, Motorola, Qualcommn, T-Mobile, dan Nvidia.
Android dirilis pertama pada tanggal 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standart terbuka pada perangkat seluler. Di lain pihak, Google Inc. Merilis kode-kode Android dibawah lisensi Apache.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar–benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD).
Kelebihan:
1.  Open source.
2. Multitasking.
3.  Kemudahan dalam notifikasi
4. Mendukung banyak hardware mobile.
5. Management widget yang flexibel.
6.  Tersedia banyak aplikasi pendukung.
7.  Dukungan penuh dari Google.
8.  User Interface yang interaktif.
9.  Telah mendukung HTML5.
10.  Tersedia Android Market untuk memenuhi kebutuhan user.
11. Mendukung GPS.
Kekurangan:
1.  Harus terus update untuk memperbaiki bug.
2. Banyak terpampang iklan dalam aplikasi.
3.      Windows 7 Mobile
Windows Mobile adalah salah satu sistem operasi mobile yang dikembangkan oleh Microsoft  dan di desain untuk digunakan pada smartphone dan perangkat nirkabel lainya. Versi saat ini disebut Windows 7 Mobile. OS ini berbasis pada Windows CE 7 Kernel, dan fitur-fiturnya dikembangkan menggunakan Microsoft Windows API. Windows Mobile didesain sedemikian rupa agar mirip dengan versi Windows Desktop. Sebagai tambahan, third party software development tersedia untuk Windows Mobile. Pertama kali dirilis sebagai sistem operasi Pocket PC 2000, kebanyakan perangkat Windows Mobile dilengkapi dengan Stylus Pen, yang mana di gunakan untuk memasukan perintah-perintah dengan cara men-tap-nya di layar.
Kelebihan:
1.  Dukungan penuh dari Microsoft.
2.  Aplikasi office yang lengkap.
3.  Tersedia Android Market untuk memenuhi kebutuhan user.
4.  Tersedia fitur Find My Phone untuk mengetahui lokasi ponsel anda.
5.  Tersedia fitur Live Tiles untuk memberikan informasi pada homescreen ponsel anda.
Kekurangan:
1.  Mudah terserang malware.
2.  Keterbatasan multitasking (hanya untuk aplikasi tertentu).
3.  Aplikasi bawaan dari sistem kurang memadai (tidak ada file transfer bluetooth, Windows Explorer, Silverlight).
4.  Tidak mendukung internet tethering.
4.     RIM Blackberry
BlackBerry OS adalah sistem operasi mobile yang dikembangkan RIM yang mendukung layanan multitasking untuk produk BlackBerry. BlackBerry diperkenalkan tahun 1997 oleh Perusahaan Kanada, Research in Motion(RIM) yang mampu menyampaikan informasi jaringan data nirkabel. BlackBerry mulai dikenalkan di Indonesia pada Desember 2004 oleh operator di Indonesia. Pasar BlackBerry mulai diramaikan oleh berbagai operator dengan menyediakan berbagai pilihan layanan seperti BlackBerry Internet Service dan BlackBerry Enterprise Server. BES+ adalah layanan gabungan dari BES dan BIS, ditujukan bagi pelanggan korporasi sehingga pelanggan dapat menerima dan mengirim email kantor yang berbasis Microsoft Exchange, Novel Wise, Lotus Domino dan 10 akun e-mail berbasis POP3/IMAP melalui telepon genggam. Sejauh ini, fasilitas BlackBerry memang baru dimanfaatkan oleh para pengguna pribadi dan korporasi, belum merambah hingga bidang pemerintahan dan intelijen seperti di negara-negara lain.
Kelebihan:
1.  Fungsi BBM yang digunakan untuk chatting antar blackberry.
2.  Customize Theme untuk user level untuk mendesign thema blackberrynya sendiri.
3.  Fungsi geotag pada blackberry berGPS yang berisikan informasi.
4.  Tampilan akses multimedia yang sangat nyaman untuk digunakan.
5.  Fitur firewallnya,sangat efektif dalam memblok sms/mms/phone call yang tidak kita inginkan.
6.  System full backup/recover mempermudah user dalam membackup data-data penting.
Kekurangan:
1.  Belum mendukung conference call.
2.  Tidak ada aplikasi native untuk menerima dan mengirimkan fax.
3.  Spell check yang membantu pengecekan kesalahan ketik hanya dapat berjalan jika selesai diketik semua.
4.  Sinkronisasi antara email di blackberry dan server kurang maksimal.
5.  Browser bawaan blackberry tidak sempurna menampilkan webpage ber-javascript dan animasi.
5.      Symbian OS
Symbian OS adalah sistem operasi tak bebas yang dikembangkan oleh Symbian Ltd. Saat ini Symbian OS banyak telah banyak digunakan oleh berbagai vendor produk peralatan komunikasi mobile pada berbagai jenis produk mereka yang bervariasi. Variasi dari sisi hardware ini dimana Symbian OS diimplementasi dapat dimungkinkan karena sistem operasi ini memiliki antarmuka pemprograman aplikasi (Application Programming Interface; API). API mendukung terhadap komunikasi dan tingkah laku yang umum pada hardware yang dapat digunakan oleh objek aplikasi lain. Hal ini dimungkinkan karena API merupakan objek antarmuka yang didefenisikan pada level aplikasi, yang berisikan prosedur dan fungsi (dan juga variabel serta struktur data) yang mengelola/memanggil kernel dimana sebagai penghubung antara software dan hardware. Dengan adanya standar API ini membantu pihak pengembang untuk melakukan penyesuaian atas aplikasi yang dibuatnya agar dapat diinstal pada produk telepon bergerak yang bermacam-macam.
Mirip seperti sistem operasi desktop, Symbian OS mampu melakukan operasi secara multithreading, multitasking dan pengamanan terhadap memori. Dan semua pemrograman pada Symbian dilakukan secaraevent-based, artinya hardware CPU menjadi tidak aktif ketika tidak ada inputan berupa aktivitas tertentu. Namun perlu dipahami sistem operasi ini memang ditujukan untuk diinstal pada peralatan mobile dengan keterbatasan sumber daya. Multithread dan multitasking memberikan kemampuan Symbian OS untuk menjalankan lebih dari satu aplikasi sekaligus. Namun khusus ini, adanya preemptive multitasking kernel akan memberi tiap-tiap program suatu pembagian waktu pemprosesan yang dilakukan bergantian dengan cepat sehingga nampak bagi pemakai seolah-olah proses ini dieksekusi secara bersamaan. Untuk itu telah didefinisikan penjadwalan berdasar prioritas tertentu untuk menentukan proses mana yang berjalan terlebih dahulu dan proses apa berikutnya serta berapa banyak waktu akan jadi diberi.
Symbian OS sendiri bukanlah software yang sifatnya open source secara penuh karena meskipun terdapat ketersedian API dan dokumentasinya, yang banyak membantu pihak pengembang aplikasi untuk membuat software yang berjalan di atas sistem operasi ini, dipublikasi untuk umum namun tidak untuk kode source sendiri.
Kelebihan:
1.  Sistem stabil.
2.  Hemat Baterai.
3.  Mendukung video call.
4.  User Friendly.
5.  Banyak dukungan aplikasi.
Kekurangan:
1.  Interface yang statis.
2.  Mudah terserang malware.
Perbandingan dari sistem operasi diatas tidak membuat hp anda menjadi yang terbaik dan yang terjelek semua sistem operasi itu memiliki kelebihan dan kekurangan masing product, dan diharapkan bisa membantu anda untuk memilih perangkat mobile yang memiliki sistem operasi yang sesuai dan mampu memenuhi kebutuhan anda.