27/08/2015 10

Android Programlama - Bildirim (Notification) Gönderimi 1

Merhaba arkadaşlar;

Bu yazıda android programlamada sıkça kullanacağımız NOTIFICATION(Bildirim) olayını inceleyeceğiz.Fakat bu konu geniş kapsamlı olduğu için 3 farklı yazıda detaylarına ineceğiz.Bu ilk yazıda notification yani bildirim nasıl gönderilir sorusuna cevap bulacağız.2.yazımızda bir servis oluşturup herhangi bir olayı broadcast receiver ile dinleyerek bildirim yollamayı ve son olarak Google Cloud Messagging (GCM) ile bildirim yollamayı irdeleyeceğiz. Bu yazıda yapacağımız örnekten bahsedeyim önce.Mantığı anlamanız için basit çok kompleks olmayan bir örnek yapamk daha mantıklı diye düşündüm. Örnek uygulamamız da anaekranda bir buton olacak ve biz bu butona tıkladığımızda bildirim alacağız.Gelen bildirime tıkladığımızda da 2.activity başlayacak. Basit ama olayın mantığını anlamak için yeterli bir örnek.Dediğim gibi 3 kısımda halledicez bu bildirim konusunu.Diğer iki yazıda biraz daha kompleks uygulamalar yazacağız.

Şimdi yeni bir proje oluşturuyoruz ve ana activity mizin tasarımını şu şekilde oluşturalım :

activity_main.xml   <pre class=""><LinearLayout 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:orientation="vertical" android:gravity="center" tools:context=".MainActivity"> <TextView android:layout_marginTop="15dp" android:layout_gravity="center_horizontal" android:textStyle="bold" android:id="@+id/txt_info" android:textColor="#000000" android:text="Bildirim almak için butona tıklayınız !!! " android:layout_width="wrap_content" android:layout_height="wrap_content" /> <Button android:layout_marginTop="20dp" android:textSize="20dp" android:textStyle="bold" android:text="Bildirim" android:layout_gravity="center_horizontal" android:id="@+id/bildirim_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>

Şimdi MainActivity.java kodlarını görelim.Gerekli açıklamalrı yorum satırı ile yaptım. Birde bildirim için bir activity oluşturmayı unutmayın.

MainActivity.java  

package com.thekodprogram;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
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 Activity {

    Button send_notification;
    Context context;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initalizier(); // Bu metot ile kullanacağımız view ların id değerlerini referans aldık.

        send_notification.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //İkinci activity i açacak pending intenti oluşturduk.
                Intent i=new Intent(MainActivity.this,bildirim.class);
                PendingIntent pi=PendingIntent.getActivity(getApplicationContext(), 0, i, 0);

                //Notification servisini kullanabilmek için bir NotificationManager nesnesi oluşturduk.
                NotificationManager nm=(NotificationManager)getApplicationContext().getSystemService(NOTIFICATION_SERVICE);

                //Bu kısımda ise bildirimi tasarlıyoruz.
                Notification notification=new Notification(R.drawable.icon,"Yeni Uyarı !!! ",System.currentTimeMillis());

                /* Bildirim otomatik yok olacak tıklanmadan sonra */
                notification.flags |=Notification.FLAG_AUTO_CANCEL;

                /* Sesle uyarı yapacak */
                notification.defaults |= Notification.DEFAULT_SOUND;

                notification.setLatestEventInfo(getApplicationContext(),"Yeni Yazı !!!","TheKodProgram'da yeni bir yazı paylaşıldı",pi);
                nm.notify(1,notification);


            }
        });

    }

    private void initalizier() {
        send_notification=(Button)findViewById(R.id.bildirim_btn);
        context=this;
    }
}
Bu yazıda  paylaşacaklarım bu kadar. Diğer 2 yazıyı da en kısa sürede yazmaya çalışacağım.İyi çalışmalar :)
Tags

Share this Post



Post a Comment

Success! Your comment sent to post. It will be showed after confirmation.
Error! There was an error sending your comment.

Comments

  • Mehmet

    Teşekkürler, devamını bekliyoruz.

    2015/08/27 17:18:48