Pemberitahuan(notification)
- Pemberitahuan adalah pesan yang bisa Anda tampilkan kepada pengguna di luar UI normal aplikasi. Bila Anda memberi tahu sistem untuk mengeluarkan pemberitahuan, pemberitahuan akan muncul lebih dahulu sebagai ikon dalam area pemberitahuan. Untuk melihat detail pemberitahuan, pengguna membuka laci pemberitahuan. Baik area pemberitahuan maupun laci pemberitahuan adalah area-area yang dikontrol sistem yang bisa dilihat pengguna kapan saja.
Contoh Penerapan :
activity_main.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:id=”@+id/activity_main”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
android:paddingBottom=”@dimen/activity_vertical_margin”
tools:context=”com.okedroid.contohnotification.MainActivity”>
<Button
android:text=”TAMPIL NOTIFICATION”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_centerVertical=”true”
android:layout_centerHorizontal=”true”
android:onClick=”tampilNotification”
android:id=”@+id/button”/>
</RelativeLayout>
MainActivity.java
package com.okedroid.contohnotification;
import android.app.NotificationManager;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.app.NotificationCompat;
import android.view.View;
public class MainActivity extends AppCompatActivity {
// identititas id unik untuk notification
public static final int NOTIFICATION_ID = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getSupportActionBar().setSubtitle(“Belajar di okedroid.com”);
}
public void tampilNotification(View view) {
/*
Menmbangun atau mensetup Notification dengan NotificationCompat.Builder
*/
NotificationCompat.Builder builder = (NotificationCompat.Builder) newNotificationCompat.Builder(this)
.setSmallIcon(R.mipmap.ic_launcher) //ikon notification
.setContentTitle(“Notifikasi Saya”) //judul konten
.setAutoCancel(true)//untuk menswipe atau menghapus notification
.setContentText(“Hello Okedroid”); //isi text
/*
Kemudian kita harus menambahkan Notification dengan menggunakan NotificationManager
*/
NotificationManager notificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
notificationManager.notify(NOTIFICATION_ID, builder.build()
);
}
}
Dialog
Dialog adalah jendela kecil yang meminta pengguna untuk membuat keputusan atau memasukkan informasi tambahan. Dialog tidak mengisi layar dan biasanya digunakan untuk kejadian modal yang mengharuskan pengguna untuk melakukan aksi sebelum bisa melanjutkan
Penerapan Dialog
Pada activity_main.xml
<?xml version=”1.0″ encoding=”utf-8″?
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical” android:layout_width=”match_parent”
android:gravity=”center_vertical|center_horizontal“
android:layout_height=”match_parent”>
<Button
android:id=”@+id/bt_alert”
android:layout_width=”wrap_content”
android:text=”Munculkan Alert Dialog”
android:elevation=”0dp”
android:layout_height=”wrap_content” />
</LinearLayout>
Pada MainActivity.java
public class MainActivity extends AppCompatActivity {
private Button btAlert;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btAlert = (Button) findViewById(R.id.bt_alert);
btAlert.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
showDialog();
} });
}
private void showDialog(){
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(this);
// set title dialog
alertDialogBuilder.setTitle(“Keluar dari aplikasi?”);
// set pesan dari dialog
alertDialogBuilder
.setMessage(“Klik Ya untuk keluar!”)
.setIcon(R.mipmap.ic_launcher)
.setCancelable(false)
.setPositiveButton(“Ya”,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,int id) {
// jika tombol diklik, maka akan menutup activity ini
TWOHAlertDialog.this.finish();
}
})
.setNegativeButton(“Tidak”,new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// jika tombol ini diklik, akan menutup dialog
// dan tidak terjadi apa2
dialog.cancel();
}
});
// membuat alert dialog dari builder
AlertDialog alertDialog = alertDialogBuilder.create();
// menampilkan alert dialog
alertDialog.show();
}
}
Demo
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 Context.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 Context.startService().
- Object Intent untuk mengirimkan pesan kepada seluruh Broadcast Receiver dengan mempassing object Intent pada fungsi Context.sendBroadcast(), Context.sendOrderedBroadcast(), atau Context.sendStickyBroadcast().
Penerapan Intent
Pada activity_main.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:id=”@+id/activity_main”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”hello.codedroid.helloworld.MainActivity”>
<TextView
android:id=”@+id/content1″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Hello World!”
android:textAlignment=”center”
android:textStyle=”bold”
android:textSize=”24sp”
android:layout_centerHorizontal=”true” />
<Button
android:id=”@+id/btn1″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_below=”@+id/content1″
android:layout_marginTop=”10dp”
android:text=”@string/next”
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true” />
</RelativeLayout>
Pada MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button1=(Button)findViewById(R.id.btn1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i =new Intent(getApplicationContext(),Second.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//ini untuk mengclear Activity sebelumnya biar tidak terjadi penumpukan activity
startActivity(i);
}
});
}
}
Kemudian membuat activity baru
Pada activity_second.xml
<?xml version=”1.0″ encoding=”utf-8″?>
<RelativeLayout xmlns:android=”http://schemas.android.com/apk/res/android”
xmlns:tools=”http://schemas.android.com/tools”
android:id=”@+id/activity_second”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:paddingBottom=”@dimen/activity_vertical_margin”
android:paddingLeft=”@dimen/activity_horizontal_margin”
android:paddingRight=”@dimen/activity_horizontal_margin”
android:paddingTop=”@dimen/activity_vertical_margin”
tools:context=”hello.codedroid.helloworld.Second”>
<TextView
android:id=”@+id/content2″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”ini Halaman 2″
android:textAlignment=”center”
android:textStyle=”bold”
android:textSize=”24sp”
android:layout_centerHorizontal=”true” />
<Button
android:id=”@+id/btn2″
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:layout_below=”@+id/content2″
android:layout_marginTop=”10dp”
android:text=”@string/prev”
android:layout_alignParentLeft=”true”
android:layout_alignParentStart=”true” />
</RelativeLayout>
Di second.java
public class Second extends AppCompatActivity {
/*
extends bisa menggunakan Activity/ AppCompatActivity
jika menggunakan extends Activity maka title bar tidak akan muncul
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Button button1=(Button)findViewById(R.id.btn2);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i =new Intent(getApplicationContext(),MainActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//ini untuk mengclear Activity sebelumnya biar tidak terjadi penumpukan activity
startActivity(i);
}
});
}
}
Untuk value string xml anda bisa gunakan strings.xml berikut atau anda bisa merubah sendiri
<resources>
<string name=”app_name”>Hello World</string>
<string name=”Hal_next”>Halaman 2</string>
<string name=”prev”>Kembali ke Halaman sebelumnya</string>
<string name=”next”>Ke Halaman Selanjutnya</string>
</resources>
Pastikan AndroidManifest.xml seperti berikut
<?xml version=”1.0″ encoding=”utf-8″?>
<manifest xmlns:android=”http://schemas.android.com/apk/res/android”
package=”hello.codedroid.helloworld”>
<application
android:allowBackup=”true”
android:icon=”@mipmap/ic_launcher”
android:label=”@string/app_name”
android:supportsRtl=”true”
android:theme=”@style/AppTheme”>
<activity android:name=”.MainActivity”>
<intent-filter>
<action android:name=”android.intent.action.MAIN” />
<category android:name=”android.intent.category.LAUNCHER” />
</intent-filter>
</activity>
<activity android:name=”.Second”
android:label=”@string/Hal_next”></activity>
</application>
</manifest>
Download Powerpoint Notifikasi, Dialog dan Intent
Anggota Kelompok
1.Kukuh Prasetyo Adhi (15.11.0307)
2.Warsito Aji (15.11.0306)
3.Karima Dewi R (15.11.0313)
4.Alfano Kurniawan W (15.11.0316)
5.Bagus Nanda P (15.11.0301)
6.Shisen Nugraha B (15.11.0311)
Daftar Pustaka
https://developer.android.com/guide/topics/ui/notifiers/notifications.html?hl=id
http://www.okedroid.com/2017/02/cara-membuat-contoh-notification-pada-aplikasi-android.html
https://diandeveloper.wordpress.com/2013/11/16/android-intent/
https://developer.android.com/guide/topics/ui/dialogs.html?hl=id
https://www.twoh.co/2017/01/07/tutorial-cara-membuat-alert-dialog-sederhana-di-android/
https://codefordroid.blogspot.co.id/2017/01/mengenal-dan-membuat-intent-di-android.html