PMO Pertemuan 4 : Notifikasi, Dialog dan Intent pada Android

NOTIFIKASI

Notifikasi pada android merupakan salah satu hal penting bagi pengguna android, notifikasi bisa muncul dari aplikasi atau sistem dari android, biasanya jika dari sistem android  karena ada pembaharuan atau update dari suatu software aplikasi.

Bagaimana cara kerja dari Notifikasi

  • Android menampilkan notifikasi yang muncul sebagai sebuah icon
  • Untuk melihat detilnya, pengguna membuka dapat drawer pemberitahuan
  • Pengguna bisa melihat notifikasi kapan saja di drawer notifikasi

Tindakan Notifikasi

Walaupun bersifat opsional, Anda harus menambahkan setidaknya satu tindakan pada pemberitahuan. Tindakan memungkinkan pengguna beralih langsung dari pemberitahuan ke Activity dalam aplikasi Anda, tempat pengguna bisa melihat satu atau beberapa kejadian atau melakukan pekerjaan lebih jauh.

Pemberitahuan bisa menyediakan beberapa tindakan sekaligus. Anda harus selalu mendefinisikan tindakan yang akan diaktifkan bila pengguna mengklik pemberitahuan; biasanya tindakan ini akan membuka Activity dalam aplikasi Anda. Anda juga bisa menambahkan tombol pada pemberitahuan yang melakukan tindakan tambahan seperti mendiamkan alarm atau segera merespons pesan teks; fitur ini tersedia mulai Android 4.1. Jika menggunakan tombol tindakan tambahan, Anda juga harus membuat fungsionalitasnya tersedia dalam Activity di aplikasi Anda.

Membuat pemberitahuan sederhana

Cuplikan berikut mengilustrasikan pemberitahuan sederhana yang menetapkan aktivitas untuk dibuka bila pengguna mengklik pemberitahuan. Perhatikan bahwa kode ini membuat objek TaskStackBuilder dan menggunakannya untuk membuat PendingIntent untuk tindakan. Pola ini dijelaskan secara lebih detail di bagian Mempertahankan Navigasi saat Memulai Aktivitas:

NotificationCompat.Builder mBuilder =
        new NotificationCompat.Builder(this)
        .setSmallIcon(R.drawable.notification_icon)
        .setContentTitle("My notification")
        .setContentText("Hello World!");
// Creates an explicit intent for an Activity in your app
Intent resultIntent = new Intent(this, ResultActivity.class);

// The stack builder object will contain an artificial back stack for the
// started Activity.
// This ensures that navigating backward from the Activity leads out of
// your application to the Home screen.
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
// Adds the back stack for the Intent (but not the Intent itself)
stackBuilder.addParentStack(ResultActivity.class);
// Adds the Intent that starts the Activity to the top of the stack
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent =
        stackBuilder.getPendingIntent(
            0,
            PendingIntent.FLAG_UPDATE_CURRENT
        );
mBuilder.setContentIntent(resultPendingIntent);
NotificationManager mNotificationManager =
    (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
// mId allows you to update the notification later on.
mNotificationManager.notify(mId, mBuilder.build());

Sumber : https://developer.android.com/guide/topics/ui/notifiers/notifications.html?hl=id

 

DIALOG

Dialog adalah jendela kecil yang meminta pengguna untuk membuat keputusan atau memasukkan informasi tambahan. Tampilan dialog tidak satu layar full dan biasanya digunakan untuk kejadian yang mengharuskan pengguna untuk melakukan aksi sebelum bisa melanjutkan proses selanjutnya. Ada beberapa jenis dari dialog diantaranya adalah :

  • AlertDialog

Dialog yang bisa menampilkan judul, hingga tiga tombol, daftar item yang dapat dipilih, atau layout khusus.

  • DatePickerDialog atau TimePickerDialog

Dialog berisi UI yang sudah didefinisikan dan memungkinkan pengguna memilih tanggal atau waktu.

Kelas AlertDialog memungkinkan Anda membangun berbagai desain dialog dan sering kali satu-satunya kelas dialog yang akan Anda perlukan. Seperti yang ditampilkan dalam gambar 2, ada tiga region pada dialog peringatan:

  1. Judul
    Area ini opsional dan hanya boleh digunakan bila area materi ditempati oleh pesan terperinci, daftar, atau layout khusus. Jika Anda perlu menyatakan pesan atau pertanyaan sederhana (seperti dialog dalam gambar 1), Anda tidak memerlukan judul.
  2. Area materi
    Area ini bisa menampilkan pesan, daftar, atau layout khusus lainnya.
  3. Tombol aksiTidak boleh ada lebih dari tiga tombol aksi dalam sebuah dialog.

Kelas AlertDialog.Builder menyediakan API yang memungkinkan Anda membuat AlertDialogdengan jenis materi ini, termasuk layout khusus.

Berikut adalah contoh syntaks AlertDialog

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
// Add the buttons
builder.setPositiveButton(R.string.ok, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               // User clicked OK button
           }
       });
builder.setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int id) {
               // User cancelled the dialog
           }
       });
// Set other dialog properties
...

// Create the AlertDialog
AlertDialog dialog = builder.create();

 

ANDROID INTENT

Intent merupakan suatu pesan yang digunakan untuk mengaktifkan tiga komponen dasar pada aplikasi Android yaitu Activity, Service, dan Broadcast Receiver. Aktifasi pada komponen-komponen tersebut bisa terjadi pada aplikasi yang sama atau berbeda, seperti menjalankan Activity, inisiasi Service, atau pengiriman pesan kepada Broadcast Receiver. Pada saat terjadi komunikasi antar komponen, Intent menyimpan paket informasi yang digunakan pada proses tersebut. Berikut ini adalah beberapa contoh mekanisme pengiriman Intent pada masing-masing jenis komponen :

  • Object Intent untuk menjalankan Activity baru atau memerintahkan Activity melakukan sesuatu dengan mempassing object Intent pada fungsi startActivity() atau Acvity.startActivityForResult().
  • Object Intent untuk menginisiasi sebuah Service baru atau melakukan sesuatu pada Service yang sedang berjalan dengan mempassing object Intent pada fungsi startService().
  • Object Intent untuk mengirimkan pesan kepada seluruh Broadcast Receiver dengan mempassing object Intent pada fungsi sendBroadcast(), Context.sendOrderedBroadcast(), atau Context.sendStickyBroadcast().

 

Adapun beberapa macam dari Intent diantaranya :

  • Intent Untuk Transfer Data

Intent dapat digunakan untuk transfer data antar Activity. Pada saat sebuah Activity memanggil Activity yang lain, Intent dapat menyimpan data informasi yang ikut dikirimkan pada pemanggilan tersebut, seperti berikut ini.

Intent intent = new Intent( this, ActivityProfile.class);
intent.putExtra( “NAMA”, “dian” );
intent.putExtra( “UMUR”, 17);
startActivity(intent);

Pada pemanggilan Activity tersebut, dikirimkan informasi berupa data NAMA dengan nilai String “dian” dan data UMUR dengan nilai integer 17. Informasi tersebut dapat ditangkap oleh activity yang dipanggil dengan code seperti ini.

Bundle extras = getIntent().getExtras();
String nama = extras.getString(“NAMA”);
int umur = extras.getInt( “UMUR”);

 

  • Intent untuk melakukan aktifitas tertentu

Mengirim email, membuka halaman website, melihat lokasi pada map, merupakan aktifitas-aktifitas yang biasanya ada pada aplikasi Android. Untuk melakukan aktifitas-aktifitas tersebut, kita bisa membuat sendiri fiturnya atau bisa dengan memanfaatkan Intent untuk mengerjakannya. Intent dapat memanggil aplikasi lain untuk mengerjakan aktifitas tersebut, seperti memanggil aplikasi Gmail untuk mengirim email, aplikasi browser seperti Opera atau Chrome untuk membuka halaman website, atau aplikasi Maps untuk menampilkan lokasi pada peta.

Sumber :https://diandeveloper.wordpress.com/2013/11/16/android-intent/

 

Penerapan Dialog, Notifikasi dan  Intent

  • Notifikasi

Syntaks Notifikasipublic void Notifikasi(View v)
{
NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
builder
.setSmallIcon(R.mipmap.ic_launcher)
.setContentTitle(“Sebuah Notifikasi”)
.setContentText(“Notifikasi dari ALif Luthfi”);

Intent intent = new Intent(this,ActivityPertama.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
stackBuilder.addParentStack(ActivityPertama.class);
stackBuilder.addNextIntent(intent);
PendingIntent pendingIntent = stackBuilder.getPendingIntent(0,PendingIntent.FLAG_UPDATE_CURRENT);
builder.setContentIntent(pendingIntent);
NotificationManager NM = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
NM.notify(0, builder.build());

}

 

  • Syntaks Dialog

 

private void TampilDialog(){
AlertDialog.Builder Peringatan = new AlertDialog.Builder(this);
Peringatan.setTitle(“Ingin keluar dari Apliaksi”);
Peringatan
.setMessage(“Klik Ya untuk keluar!!!”)
.setIcon(R.mipmap.ic_launcher_round)
.setCancelable(false)
.setPositiveButton(“Ya”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface Peringatan, int id) {
finish();
}
})
.setNegativeButton(“Tidak”, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface Peringatan, int id) {
Peringatan.cancel();
}
}).show();
}

  • Syntaks Intent Activity 1

 

public void onClick(View v) {
switch (v.getId())
{
case R.id.btnAtc2:
Intent intenku = new Intent(v.getContext(),Activitykedua.class);
startActivity(intenku);
break;
case R.id.btnKeluar:
TampilDialog();
break;
}
}

  • Syntaks Intent Activity 2

 

public void diklik(View v)
{
Intent i = new Intent(this, ActivityPertama.class);
startActivity(i);
}

Sumber : https://developer.android.com/guide/topics/ui/notifiers/notifications.html?hl=id

Untuk Download file PPT dapat diunduh dengan klik link disamping PMO Pertemuan 4 Dialog, Notification, Intens