Sunday 27 September 2015

Cara membuat aplikasi Email di Android

Email adalah pesan didistribusikan secara elektronik dari satu sistem manual untuk satu atau lebih penerima melalui jaringan

Sebelum memulai Email Kegiatan, Anda harus tahu Email fungsi dengan maksud, Intent membawa data dari satu komponen ke komponen lain dengan-dalam aplikasi atau di luar aplikasi

Untuk mengirim email dari aplikasi Anda, Anda tidak perlu menerapkan email client dari awal, tetapi Anda dapat menggunakan yang sudah ada seperti aplikasi default Email disediakan dari Android, Gmail, Outlook, K-9 Mail dll Untuk ini tujuan, kita perlu menulis sebuah Kegiatan yang meluncurkan klien email, menggunakan Intent implisit dengan tindakan yang benar dan data. Dalam contoh ini, kita akan mengirim email dari aplikasi kami dengan menggunakan obyek Intent yang meluncurkan klien email yang ada.

Bagian berikut menjelaskan bagian-bagian yang berbeda dari objek Intent kami diminta untuk mengirim email.

Intent Obyek - Aksi untuk mengirim Email
Anda akan menggunakan tindakan ACTION_SEND untuk meluncurkan klien email diinstal pada perangkat Android Anda. Berikut adalah sintaks sederhana untuk membuat maksud dengan tindakan ACTION_SEND

Intent emailIntent = new Intent(Intent.ACTION_SEND);

Intent Object - Data / Type untuk mengirim Email
Untuk mengirim email Anda perlu menentukan mailto: URI sebagai menggunakan setData () metode dan jenis data akan untuk teks / plain menggunakan setType () metode sebagai berikut -

emailIntent.setData(Uri.parse("mailto:"));
emailIntent.setType("text/plain");

Intent Obyek - Extra untuk mengirim Email
Android telah built-in mendukung untuk menambah TO, TOPIK, CC, dll TEXT bidang yang dapat dilampirkan ke niat sebelum mengirim maksud untuk klien email sasaran. Anda dapat menggunakan berikut bidang tambahan di email Anda -


1 EXTRA_BCC
Sebuah String [] alamat memegang e-mail yang harus blind carbon copy.

2 EXTRA_CC
Sebuah String [] memegang alamat e-mail yang harus disalin karbon.

3 EXTRA_EMAIL
Sebuah String [] alamat memegang e-mail yang harus dikirim ke.

4 EXTRA_HTML_TEXT
Sebuah String konstan yang berhubungan dengan Intent, digunakan dengan ACTION_SEND untuk memasok alternatif untuk EXTRA_TEXT sebagai HTML teks berformat.

5 EXTRA_SUBJECT
Sebuah string konstan memegang baris subjek yang diinginkan dari pesan.

6 EXTRA_TEXT
Sebuah CharSequence konstan yang berhubungan dengan Intent, digunakan dengan ACTION_SEND untuk memasok data literal yang akan dikirim.

7 EXTRA_TITLE
Judul dialog CharSequence untuk memberikan kepada pengguna ketika digunakan dengan ACTION_CHOOSER a.

Berikut adalah contoh yang menunjukkan Anda bagaimana untuk menetapkan data tambahan untuk niat Anda -

emailIntent.putExtra(Intent.EXTRA_EMAIL  , new String[]{"Recipient"});
emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject");
emailIntent.putExtra(Intent.EXTRA_TEXT   , "Message Body");

akan menghasilkan seperti ini:



Contoh
Berikut contoh menunjukkan Anda dalam praktis bagaimana menggunakan objek Intent untuk meluncurkan Email client untuk mengirim Email ke penerima yang diberikan.

Untuk Email percobaan dengan contoh ini, Anda akan membutuhkan perangkat mobile yang sebenarnya dilengkapi dengan Android OS terbaru (Android lollipop), jika tidak, anda mungkin mendapatkan perjuangan dengan emulator yang mungkin tidak bekerja dengan benar. Kedua Anda akan perlu memiliki klien email seperti GMail (Secara default setiap versi android memiliki Gmail klien App) atau K9mail terinstal pada perangkat Anda.

Langkah Keterangan

1.  Anda akan menggunakan Android studio untuk membuat aplikasi Android dan nama itu sebagai unggul bawah com.example.unggul paket. Sementara menciptakan proyek ini, pastikan Anda Targetkan SDK dan Kompilasi Dengan di versi terbaru dari Android SDK untuk menggunakan tingkat yang lebih tinggi dari API.

2.  Memodifikasi src MainActivity.java berkas / dan menambahkan kode yang diperlukan untuk mengurus pengiriman email.

3. Memodifikasi file layout XML res / layout / activity_main.xml menambahkan komponen GUI jika diperlukan. Saya menambahkan tombol sederhana untuk meluncurkan Email Client.

4. Ubah res / values ​​/ strings.xml untuk mendefinisikan nilai konstan diperlukan

5. Modify AndroidManifest.xml seperti yang ditunjukkan di bawah ini

6. Jalankan aplikasi untuk meluncurkan Android emulator dan memverifikasi hasil dari perubahan yang dilakukan dalam aplikasi.

Berikut ini adalah isi dari file utama kegiatan src / com.example.unggul / MainActivity.java dimodifikasi.

package com.example.unggul;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity {
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      Button startBtn = (Button) findViewById(R.id.sendEmail);
      startBtn.setOnClickListener(new View.OnClickListener() {
         public void onClick(View view) {
            sendEmail();
         }
      });
   }
   protected void sendEmail() {
      Log.i("Send email", "");
      String[] TO = {""};
      String[] CC = {""};
      Intent emailIntent = new Intent(Intent.ACTION_SEND);
      
      emailIntent.setData(Uri.parse("mailto:"));
      emailIntent.setType("text/plain");
      emailIntent.putExtra(Intent.EXTRA_EMAIL, TO);
      emailIntent.putExtra(Intent.EXTRA_CC, CC);
      emailIntent.putExtra(Intent.EXTRA_SUBJECT, "Your subject");
      emailIntent.putExtra(Intent.EXTRA_TEXT, "Email message goes here");
      
      try {
         startActivity(Intent.createChooser(emailIntent, "Send mail..."));
         finish();
         Log.i("Finished sending email...", "");
      }
      catch (android.content.ActivityNotFoundException ex) {
         Toast.makeText(MainActivity.this, "There is no email client installed.", Toast.LENGTH_SHORT).show();
      }
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
   }
}

Berikut akan menjadi isi dari res /file layout / activity_main.xml -

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent"
   android:orientation="vertical" >
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Sending Mail Example"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="unggul "
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_above="@+id/imageButton"
      android:layout_alignRight="@+id/imageButton"
      android:layout_alignEnd="@+id/imageButton" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_centerVertical="true"
      android:layout_centerHorizontal="true" />
      
   <Button 
      android:id="@+id/sendEmail"
      android:layout_width="fill_parent"
      android:layout_height="wrap_content"
      android:text="@string/compose_email"/>
    
</LinearLayout>

Berikut akan menjadi isi dari res / values / strings.xml untuk mendefinisikan dua konstanta baru -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="app_name">unggul</string>
   <string name="hello_world">Hello world!</string>
   <string name="action_settings">Settings</string>
   <string name="compose_email">Compose Email</string>
</resources>

Berikut ini adalah isi default AndroidManifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.unggul"
   android:versionCode="1"
   android:versionName="1.0" >
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.unggul.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

Mari kita coba untuk menjalankan aplikasi unggul Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Android Ponsel yang sebenarnya Anda dengan komputer Anda. Untuk menjalankan aplikasi dari Android Studio, buka salah satu file kegiatan proyek Anda dan klik Run Eclipse Run Icon icon dari toolbar. Sebelum memulai aplikasi Anda, installer studio Android akan menampilkan berikut jendela untuk memilih pilihan di mana Anda ingin menjalankan Android Anda application.Select perangkat mobile Anda sebagai pilihan dan kemudian memeriksa perangkat mobile Anda yang akan menampilkan layar berikut -

Sekarang gunakan tombol Compose Email daftar ke semua klien email yang diinstal. Dari daftar, Anda dapat memilih salah satu klien email untuk mengirim email Anda. Aku akan menggunakan client Gmail untuk mengirim email saya yang akan memiliki semua default bidang yang disediakan tersedia seperti yang ditunjukkan di bawah ini. Berikut Dari: akan ID email default Anda telah terdaftar untuk perangkat Android Anda.



Anda dapat memodifikasi salah satu bidang default yang diberikan dan akhirnya menggunakan tombol kirim email untuk mengirim email Anda ke penerima yang disebutkan.

Friday 25 September 2015

Cara Membuat notifikasi Android

Pemberitahuan adalah pesan Anda dapat menampilkan ke luar pengguna dari UI biasa aplikasi Anda. Ketika Anda memberitahu sistem untuk mengeluarkan pemberitahuan, pertama kali muncul sebagai ikon di area notifikasi. Untuk melihat rincian pemberitahuan, pengguna membuka laci pemberitahuan. Kedua area notifikasi dan laci pemberitahuan adalah daerah sistem yang dikendalikan bahwa pengguna dapat melihat setiap saat.

Kelas Toast Android menyediakan cara yang berguna untuk menunjukkan pengguna alert tapi masalahnya adalah bahwa peringatan ini tidak terus-menerus yang berarti peringatan berkedip pada layar selama beberapa detik dan kemudian menghilang.

Untuk melihat rincian pemberitahuan, Anda harus memilih icon yang akan menampilkan pemberitahuan laci memiliki rinci tentang pemberitahuan. Ketika bekerja dengan emulator dengan perangkat virtual, Anda harus klik dan tarik ke bawah status bar untuk memperluas itu yang akan memberikan Anda rincian sebagai berikut. Ini akan menjadi hanya 64 dp tinggi dan disebut tampilan normal.



Atas bentuk diperluas dapat memiliki Big View yang akan memiliki rincian tambahan tentang pemberitahuan. Anda dapat menambahkan upto enam baris tambahan dalam pemberitahuan. Berikut screenshot menunjukkan pemberitahuan tersebut.

Membuat dan Kirim Pemberitahuan
Anda memiliki cara sederhana untuk membuat pemberitahuan. Ikuti langkah-langkah berikut dalam aplikasi Anda untuk membuat pemberitahuan -

Langkah 1 - Buat Pemberitahuan Builder
Sebagai langkah pertama adalah membuat pemberitahuan pembangun menggunakan NotificationCompat.Builder.build (). Anda akan menggunakan Pemberitahuan Builder untuk mengatur berbagai properti Pemberitahuan seperti yang ikon kecil dan besar, judul, prioritas dll

NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(this)

Langkah 2 - Mengatur Pemberitahuan Properti
Setelah Anda memiliki objek Builder, Anda dapat mengatur properti Pemberitahuan dengan menggunakan objek Builder sesuai kebutuhan Anda. Tapi ini adalah wajib menetapkan setidaknya berikut -

Sebuah ikon kecil, yang ditetapkan oleh setSmallIcon ()

Sebuah judul, ditetapkan oleh setContentTitle ()

Teks detail, ditetapkan oleh setContentText ()

mBuilder.setSmallIcon(R.drawable.notification_icon);
mBuilder.setContentTitle("Notification Alert, Click Me!");
mBuilder.setContentText("Hi, This is Android Notification Detail!");

Anda memiliki banyak sifat opsional yang dapat Anda mengatur untuk pemberitahuan Anda. Untuk mempelajari lebih banyak tentang mereka, lihat dokumentasi referensi untuk NotificationCompat.Builder.

Langkah 3 - Pasang Actions
Ini adalah bagian opsional dan diperlukan jika Anda ingin melampirkan suatu tindakan dengan pemberitahuan. Suatu tindakan memungkinkan pengguna untuk pergi langsung dari notifikasi untuk sebuah Kegiatan dalam aplikasi Anda, di mana mereka dapat melihat satu atau lebih kejadian atau melakukan pekerjaan lebih lanjut.

Aksi didefinisikan oleh PendingIntent mengandung maksud yang dimulai sebuah Kegiatan dalam aplikasi Anda. Mengasosiasikan PendingIntent dengan isyarat, memanggil metode yang tepat NotificationCompat.Builder. Sebagai contoh, jika Anda ingin memulai aktivitas ketika pengguna mengklik teks pemberitahuan di laci pemberitahuan, Anda menambahkan PendingIntent dengan memanggil setContentIntent ().

Sebuah objek PendingIntent membantu Anda untuk melakukan tindakan pada aplikasi nama Anda, sering di lain waktu, tanpa peduli apakah atau tidak aplikasi Anda berjalan.

Kami mengambil bantuan dari objek tumpukan builder yang akan berisi tumpukan kembali buatan untuk Kegiatan dimulai. Hal ini memastikan bahwa navigasi mundur dari Aktivitas mengarah keluar dari aplikasi Anda ke layar Home.

Intent resultIntent = new Intent(this, ResultActivity.class);
TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
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);

Langkah 4 - Isu pemberitahuan
Akhirnya, Anda melewati objek Pemberitahuan ke sistem dengan memanggil NotificationManager.notify () untuk mengirim pemberitahuan Anda. Pastikan Anda memanggil metode NotificationCompat.Builder.build () pada objek builder sebelum memberitahukan hal itu. Metode ini menggabungkan semua pilihan yang telah ditetapkan dan mengembalikan objek Pemberitahuan baru.

NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    
// notificationID allows you to update the notification later on.
mNotificationManager.notify(notificationID, mBuilder.build());


Kelas NotificationCompat.Builder memungkinkan kontrol lebih mudah atas semua bendera, serta membantu membangun layout pemberitahuan khas. Berikut ini adalah beberapa metode penting dan paling sering digunakan tersedia sebagai bagian dari kelas NotificationCompat.Builder.


1 Pemberitahuan membangun ()
Menggabungkan semua pilihan yang telah ditetapkan dan mengembalikan objek Pemberitahuan baru.

2 NotificationCompat.Builder setAutoCancel (boolean autoCancel)
Pengaturan bendera ini akan membuatnya begitu pemberitahuan secara otomatis dibatalkan ketika pengguna mengklik di panel.

3 NotificationCompat.Builder setContent (RemoteViews dilihat)
Menyediakan RemoteViews kustom untuk menggunakan bukan yang standar.

4 NotificationCompat.Builder setContentInfo (Info CharSequence)
Mengatur teks besar di sisi kanan pemberitahuan.

5 NotificationCompat.Builder setContentIntent (PendingIntent niat)
Menyediakan PendingIntent untuk mengirim pemberitahuan ketika diklik.

6 NotificationCompat.Builder setContentText (teks CharSequence)
Mengatur teks (baris kedua) pemberitahuan, dalam pemberitahuan standar.

7 NotificationCompat.Builder setContentTitle (judul CharSequence)
Mengatur teks (baris pertama) pemberitahuan, dalam pemberitahuan standar.

8 setDefaults NotificationCompat.Builder (int default)
Mengatur opsi pemberitahuan default yang akan digunakan.

9 NotificationCompat.Builder setLargeIcon (icon Bitmap)
Mengatur ikon besar yang ditampilkan dalam ticker dan pemberitahuan.

10 NotificationCompat.Builder setNumber (nomor int)
Mengatur jumlah besar di sisi kanan pemberitahuan.

11 NotificationCompat.Builder setOngoing (boolean yang sedang berlangsung)
Setel apakah ini merupakan pemberitahuan yang sedang berlangsung.

12 NotificationCompat.Builder setSmallIcon (int icon)
Mengatur ikon kecil untuk digunakan dalam layout pemberitahuan.

13 NotificationCompat.Builder setStyle (gaya NotificationCompat.Style)
Menambahkan gaya pemberitahuan kaya untuk diterapkan pada waktu membangun.

14 NotificationCompat.Builder setTicker (CharSequence tickerText)
Mengatur teks yang ditampilkan di status bar saat pemberitahuan pertama tiba.

15 NotificationCompat.Builder setVibrate (panjang [] pola)
Mengatur pola getaran untuk menggunakan.

16 NotificationCompat.Builder Seteljika (panjang ketika)
Mengatur waktu peristiwa itu terjadi. Pemberitahuan di panel diurutkan saat ini.

Contoh
Berikut contoh menunjukkan fungsi pemberitahuan Android menggunakan Kelas NotificationCompat.Builder yang telah diperkenalkan di Android 4.1.

Langkah Keterangan

1 Anda akan menggunakan Android studio IDE untuk membuat aplikasi Android dan nama itu sebagai tutorialspoint bawah com.example.notificationdemo paket. Sementara menciptakan proyek ini, pastikan Anda Targetkan SDK dan Kompilasi Dengan di versi terbaru dari Android SDK untuk menggunakan tingkat yang lebih tinggi dari API.

2 Modifikasi src / MainActivity.java berkas dan menambahkan kode untuk memberitahu (""), jika pengguna mengklik tombol, ia akan memanggil layanan pemberitahuan android.

3 Buat file Java src / NotificationView.java baru, yang akan digunakan untuk menampilkan layout baru sebagai bagian dari kegiatan baru yang akan dimulai ketika pengguna akan mengklik salah satu pemberitahuan

4 Ubah tata letak file XML res / layout / activity_main.xml menambahkan tombol Pemberitahuan di relatif tata letak.

5 Buat baru res file layout XML / tata letak / notification.xml. Ini akan digunakan sebagai file layout untuk aktivitas baru yang akan mulai ketika pengguna akan mengklik salah satu pemberitahuan.

6 Tidak perlu mengubah konstanta string default. Android studio mengurus string konstanta standar

7 Jalankan aplikasi untuk meluncurkan Android emulator dan memverifikasi hasil dari perubahan yang dilakukan dalam aplikasi.

Berikut ini adalah isi dari file utama kegiatan src / com.example.notificationdemo / MainActivity.java dimodifikasi. File ini dapat mencakup setiap siklus hidup mendasar methods.and mengembalikan objek Pemberitahuan baru.

package com.example.notificationdemo;

import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;

public class MainActivity extends ActionBarActivity {
   Button b1;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      
      b1=(Button)findViewById(R.id.button);
      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            Notify("You've received new message");
         }
      });
   }
   private void Notify(String notificationTitle, String notificationMessage){
      NotificationManager notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
      @SuppressWarnings("deprecation")
      
      Notification notification = new Notification(R.drawable.abc,"New Message", System.currentTimeMillis());
      Intent notificationIntent = new Intent(this,NotificationView.class);
      PendingIntent pendingIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0);
      
      notification.setLatestEventInfo(MainActivity.this, notificationTitle,notificationMessage, pendingIntent);
      notificationManager.notify(9999, notification);
   }
   
   @Override
   public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.menu_main, menu);
      return true;
   }
   
   @Override
   public boolean onOptionsItemSelected(MenuItem item) {
      // Handle action bar item clicks here. The action bar will
      // automatically handle clicks on the Home/Up button, so long
      // as you specify a parent activity in AndroidManifest.xml.
      
      int id = item.getItemId();
      
      //noinspection SimplifiableIfStatement
      if (id == R.id.action_settings) {
         return true;
      }
      return super.onOptionsItemSelected(item);
   }
}

Berikut akan menjadi isi dari res/layout/notification.xml file:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:orientation="vertical"
   android:layout_width="fill_parent"
   android:layout_height="fill_parent" >
   
   <TextView
      android:layout_width="fill_parent"
      android:layout_height="400dp"
      android:text="Hi, Your Detailed notification view goes here...." />
</LinearLayout>

Berikut ini adalah isi dari file kegiatan utama dimodifikasi src/com.example.notificationdemo/NotificationView.java.


package com.example.notificationdemo;

import android.os.Bundle;
import android.app.Activity;

public class NotificationView extends Activity{
   @Override
   public void onCreate(Bundle savedInstanceState){
      super.onCreate(savedInstanceState);
      setContentView(R.layout.notification);
   }
}

Berikut akan menjadi isi dari res/layout/activity_main.xml file −


<RelativeLayout 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"
   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="MainActivity">
   
   <TextView
      android:id="@+id/textView1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Notification Example"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="30dp" />
      
   <TextView
      android:id="@+id/textView2"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials point "
      android:textColor="#ff87ff09"
      android:textSize="30dp"
      android:layout_below="@+id/textView1"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="48dp" />
      
   <ImageButton
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/imageButton"
      android:src="@drawable/abc"
      android:layout_below="@+id/textView2"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="42dp" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Notification"
      android:id="@+id/button"
      android:layout_marginTop="62dp"
      android:layout_below="@+id/imageButton"
      android:layout_centerHorizontal="true" />
      
</RelativeLayout>

Berikut akan menjadi oFollowing konten akan menjadi isi dari res / values / strings.xml untuk mendefinisikan dua konstanta baru -

<?xml version="1.0" encoding="utf-8"?>
<resources>
   <string name="action_settings">Settings</string>
   <string name="app_name">tutorialspoint </string>  
</resources>

Berikut ini adalah isi default AndroidManifest.xml -

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.notificationdemo"
   android:versionCode="1"
   android:versionName="1.0" >
   
   <application
      android:allowBackup="true"
      android:icon="@drawable/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name="com.example.notificationdemo.MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
            
      </activity>
      
      <activity android:name=".NotificationView"
         android:label="Details of notification"
         android:parentActivityName=".MainActivity">
         <meta-data
         android:name="android.support.PARENT_ACTIVITY"
         android:value=".MainActivity"/>
      </activity>
      
   </application>
</manifest>

Mari kita coba untuk menjalankan aplikasi tutorialspoint Anda. Saya berasumsi bahwa Anda telah menciptakan AVD Anda saat melakukan lingkungan set-up. Untuk menjalankan APP dari Android Studio, buka salah satu file kegiatan proyek Anda dan klik Run Run Eclipse Icon icon dari toolbar. Android Studio menginstal aplikasi pada AVD Anda dan mulai itu dan jika semuanya baik-baik saja dengan setup dan aplikasi, maka akan muncul jendela berikut Emulator -

Sekarang klik tombol, Anda akan melihat di bagian atas pesan "Pesan Baru Waspada!" akan menampilkan sesaat dan setelah itu Anda akan memiliki layar berikut memiliki ikon kecil di sudut kiri atas.

Sekarang mari kita memperluas pandangan, panjang klik pada ikon kecil, setelah kedua itu akan menampilkan informasi tanggal dan ini adalah waktu ketika Anda harus menyeret status bar bawah tanpa melepaskan tikus. Anda akan melihat status bar akan memperluas dan Anda akan mendapatkan layar berikut -



Big View Pemberitahuan
Potongan kode berikut menunjukkan bagaimana untuk mengubah pemberitahuan dibuat dalam potongan sebelumnya menggunakan Inbox besar tampilan gaya. Aku akan memperbarui displayNotification () metode modifikasi untuk menunjukkan fungsi ini -

protected void displayNotification() {
   Log.i("Start", "notification");

   /* Invoking the default notification service */
   NotificationCompat.Builder  mBuilder = new NotificationCompat.Builder(this);
   
   mBuilder.setContentTitle("New Message");
   mBuilder.setContentText("You've received new message.");
   mBuilder.setTicker("New Message Alert!");
   mBuilder.setSmallIcon(R.drawable.woman);
   
   /* Increase notification number every time a new notification arrives */
   mBuilder.setNumber(++numMessages);
   
   /* Add Big View Specific Configuration */
   NotificationCompat.InboxStyle inboxStyle = new NotificationCompat.InboxStyle();
   
   String[] events = new String[6];
   events[0] = new String("This is first line....");
   events[1] = new String("This is second line...");
   events[2] = new String("This is third line...");
   events[3] = new String("This is 4th line...");
   events[4] = new String("This is 5th line...");
   events[5] = new String("This is 6th line...");
   
   // Sets a title for the Inbox style big view
   inboxStyle.setBigContentTitle("Big Title Details:");
   
   // Moves events into the big view
   for (int i=0; i < events.length; i++) {
      inboxStyle.addLine(events[i]);
   }
   
   mBuilder.setStyle(inboxStyle);
   
   /* Creates an explicit intent for an Activity in your app */
   Intent resultIntent = new Intent(this, NotificationView.class);
   
   TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
   stackBuilder.addParentStack(NotificationView.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);
   mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
   
   /* notificationID allows you to update the notification later on. */
   mNotificationManager.notify(notificationID, mBuilder.build());
}

Sekarang jika Anda akan mencoba untuk menjalankan aplikasi Anda maka Anda akan menemukan berikut hasil dalam bentuk diperluas dari pandangan -