Rabu, 08 Agustus 2012

Tutorial Android : Cara Membuat Notification di Aplikasi Android



Akhirnya musim KRS semester genap di tahun ini tiba juga, yang di perkirakan dimulai kemarin ternyata molor dan baru akan diadakan besok. Jadi ingat deh dengan pengalaman saya bersama teman-teman yang lainnya semester kemarin mengawal jalannya proses KRS’an. Ada suka dan dukanya, kebanyakan dukanya sih. Sukanya yaw bisa berkuasa, karena password database saya yang pegang ;) . Dukanya, gak bisa tidur tenang karena sewaktu-waktu pasti ditelpon kalau aplikasi KRS’nya error. Belum lagi uang capeknya yang gak seberapa, pokoknya sesuatu banget deh. Semester ini, aplikasi KRS dikerjakan oleh bagian SISFO, tepatnya oleh mas Erda. Lanjut ke judul postingan di atas, dimana pada postingan kali ini yang masih berbau-bau android, saya akan membagikan sedikit cara membuat notifikasi sederhana di aplikasi android. Ini biasanya muncul di status bar dan kalau notification bar di tarik ke bawah maka akan muncul notifikasinya. Kebanyakan yang saya lihat dari aplikasi-aplikasi yang pernah saya coba, notifikasi ini malah dijadikan sebagai tempat untuk memasang iklan. Kalau di-klik, otomatis langsung menuju ke halaman web yang berisi iklan (licik juga yaw :p). Cara membuatnya ternyata cukup mudah, bisa memanfaatkan lib Notification yang sudah include di dalam SDK. Berikut cara membuatnya, cekidot….
1. Seperti biasa, kita buat terlebih dahulu project android baru. Detailnya seperti gambar di bawah ini :
2. Buka dan edit file main.xml yang ada di folder layout. Ketikkan kode layout di bawah ini yang nantinya akan menghasilkan sebuah tombol untuk mengaktifkan notifikasi :
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_width="fill_parent"
4    android:layout_height="fill_parent"
5    android:orientation="vertical" >
6 
7    <Button
8        android:layout_width="fill_parent"
9        android:layout_height="wrap_content"
10        android:onClick="tampilNotifikasi"
11        android:text="Tampilkan Notifikasi" >
12    </Button>
13 
14</LinearLayout>
3. Disini kita membutuhkan 2 buah activity, otomatis juga membutuhkan 2 file layout dan 2 file activity. Buat file layout baru dengan nama result.xml di dalam folder layout.
1<?xml version="1.0" encoding="utf-8"?>
2<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3    android:layout_width="match_parent"
4    android:layout_height="match_parent" >
5 
6    <TextView
7        android:id="@+id/text_hasil"
8        android:layout_width="wrap_content"
9        android:layout_height="wrap_content"
10        android:text="" >
11    </TextView>
12 
13</LinearLayout>
4. Sekarang kita melangkah ke pembuatan file activity-nya. Buka dan edit file NotifReadActivity.java, ketikkan kode di bawah ini :
1public class NotifReadActivity extends Activity {
2 
3    @Override
4 
5    public void onCreate(Bundle savedInstanceState) {
6        super.onCreate(savedInstanceState);
7        setContentView(R.layout.main);
8    }
9 
10    public void tampilNotifikasi(View view) {
11        NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
12        Notification notification = new Notification(R.drawable.suse,"Halo mas brow, ente dapat notifikasi dari ane..!!!", System.currentTimeMillis());
13        notification.flags |= Notification.FLAG_AUTO_CANCEL;
14 
15        Intent intent = new Intent(this, NotificationReceiver.class);
16        Bundle b = new Bundle();
17        b.putString("pesan""Halo mas brow, ini notifikasi dari ane. Makasi udah berkunjung ke http://gedelumbung.com.");
18        intent.putExtras(b);
19 
20        PendingIntent activity = PendingIntent.getActivity(this, 0, intent, 0);
21        notification.setLatestEventInfo(this, "Notifikasi Dari Gede Lumbung","Klik mas brow, untuk lihat isi pesannya", activity);
22        notification.number += 1;
23        notificationManager.notify(0, notification);
24    }
25}
Function tampilNotifikasi() dipanggil dari tombol yang telah kita buat di file main.xml tadi dengan menggunakan event onClick. Saya sisipkan sebuah variabel yang bertipekan string, dan akan ditampilkan di file activity yang kedua. Silahkan baca postingan saya yang kemarin, tentang parsing variabel dari activity ke activity lain.
5. Buat file activity yang kedua dengan nama NotificationReceiver.java. Kodenya sederhana, yaitu mengekstrak variabel yang disisipkan dari activity yang pertama kemudian di tampilkan ke dalam sebuah textview.
1public class NotificationReceiver extends Activity {
2    TextView set_pesan;
3    @Override
4    protected void onCreate(Bundle savedInstanceState) {
5        super.onCreate(savedInstanceState);
6        setContentView(R.layout.result);
7        set_pesan = (TextView) findViewById(R.id.text_hasil);
8        Bundle b = getIntent().getExtras();
9        set_pesan.setText(b.getString("pesan"));
10    }
11}
6. Jangan lupa untuk mendaftarkan activity yang kedua ke dalam file AndroidManifest.xml, kalau tidak didaftarkan file activity yang kedua tidak akan bisa dieksekusi.
1<?xml version="1.0" encoding="utf-8"?>
2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3      package="dlmbg.pckg.notif.read"
4      android:versionCode="1"
5      android:versionName="1.0">
6    <uses-sdk android:minSdkVersion="10" />
7 
8    <application android:icon="@drawable/icon" android:label="@string/app_name">
9        <activity android:name=".NotifReadActivity"
10                  android:label="Membuat Notifikasi Sederhana">
11            <intent-filter>
12                <action android:name="android.intent.action.MAIN" />
13                <category android:name="android.intent.category.LAUNCHER" />
14            </intent-filter>
15        </activity>
16 
17        <activity android:name="NotificationReceiver" android:label="Isi Notifikasi"></activity>
18    </application>
19</manifest>
7. Dan yang terakhir, jalankan aplikasi di emulator.
Notifikasi ini cukup penting untuk aplikasi android yang selalu terhubung dengan internet seperti aplikasi Facebook, TweetCaster dan yang lainnya. Tidak perlu susah-susah buka aplikasinya, pasti ada notifikasi yang akan muncul di status bar-nya. OK deh, sekian dulu postingan saya kali ini. Semoga bermanfaat untuk rekan-rekan.

2 komentar: