Bài học số 59: Viết code notification trong lập trình Android

Thảo luận trong 'Thiết kế web/ app - Phần mềm #' bắt đầu bởi ECBdatecom, 14/8/15.

  1. ECBdatecom

    ECBdatecom New Member

    Bài học lập trình android hôm nay Vietpro xin chia sẻ với các bạn trong danh sách các bài viết lập trình :
    Bài 59: Notification trong lập trình Android
    Một thông điệp là một message bạn có thể hiển thị tới người dùng với ứng dụng UI. Bạn có thể tạo thông báo trên android một cách dễ dàng.

    Lập trình android cung cấp lớp NotificationManager cho mục đích này. Theo yêu cầu của lớp sử dụng này, bạn cần khởi tạo một đối tượng của lớp này bằng cách yêu cầu hệ thống Android thông qua phương pháp getSystemService(). Cú pháp của nó được đưa ra dưới đây –

    1
    2
    NotificationManager NM;
    NM=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
    Sau khi bạn tạo Notification và đặc biệt là thuộc tính như icon, title, time,… Cú pháp như sau:

    1
    Notification notify=newNotification(android.R.drawable.stat_notify_more,title,System.currentTimeMillis());
    Điều tiếp theo bạn cần làm là tạo một PendingIntent bằng cách thông qua context và intent như một tham số. Bằng cách đưa ra một PendingIntent sang ứng dụng khác, Trung tâm đào tạo học photoshop chuyên nghiệp với đội ngũ giáo viên trẻ, bạn sẽ được cấp cho nó một quyền để thực hiện các hoạt động mà bạn đã chỉ định là nếu ứng dụng khác là chính bạn.

    1
    PendingIntent pending=PendingIntent.getActivity(getApplicationContext(),0,newIntent(),0);
    Cuối cùng gọi phương thức setLastestEventInfo của lớp Notification và vượt qua intent cấp phát cùng với đối tượng thông báo và các chi tiết toàn bộ ứng dụng. Cú pháp của nó được đưa ra dưới đây. Và sau đó cuối cùng đã gọi phương thức của lớp thông báo NotificationManager .

    1
    2
    notify.setLatestEventInfo(getApplicationContext(),subject,body,pending);
    NM.notify(0,notify);
    Ngoài những phương pháp này, dưới đây là một số phương pháp hữu ích trong lớp NotificationManager

    STTPhương thức và mô tả

    cancel(int id)
    Phương thức này hủy một thông báo trước đó.

    cancel(String tag, int id)
    Phương pháp này cũng hủy bỏ một thông báo hiển thị trước đó.

    cancelAll()
    Phương thức này hủy tất cả thông báo trước đó.

    notify(int id, Notification notification)
    Phương pháp này gửi một thông báo sẽ được hiển thị trên thanh trạng thái.

    notify(String tag, int id, Notification notification)
    Phương thức này chit hiện thông báo Post được thể hiện trong status bar.

    Ví dụ
    Ví dụ dưới đây chứng tỏ sử dụng lớp NotificationManager. Nó tạo một ứng dụng cơ bản rằng nó cho phép bạn tạo một thông báo.

    Đối với thử nghiệm trong ví dụ này, bạn cần để chạy trên một thiết bị thực hoặc ảo

    Các bướcMô tả

    Bạn sẽ sử dụng Android studio để tạo ra một ứng dụng Android dưới một gói com.example.sairamkrishna.myapplication. Trong khi tạo dự án này, chắc chắn bạn Target SDK và biên dịch với các phiên bản mới nhất của Android SDK sử dụng các cấp cao hơn của các API.

    Sửa file src/MainActivity.java thêm mã tiến để hiển thị hộp thoại tiến triển.

    Sửa file res/layout/activity_main.xml thêm mã XML tương ứng.

    Chạy ứng dụng và chọn một thiết bị Android chạy và cài đặt nhiệt tình và học php cơ bản nâng cao tại VietPro! các ứng dụng trên nó và kiểm tra kết quả.


    Nôi dung file MainActivity.java.


    packagecom.example.sairamkrishna.myapplication;

    import android.app.Notification;
    import android.app.NotificationManager;
    import android.app.PendingIntent;

    import android.content.Context;
    import android.content.Intent;
    import android.content.SharedPreferences;

    import android.graphics.Typeface;
    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;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    import staticjava.lang.System.currentTimeMillis;

    publicclassMainActivityextendsActionBarActivity{
    EditText ed1,ed2,ed3;
    protectedvoidonCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    ed1=(EditText)findViewById(R.id.editText);
    ed2=(EditText)findViewById(R.id.editText2);
    ed3=(EditText)findViewById(R.id.editText3);
    Button b1=(Button)findViewById(R.id.button);

    b1.setOnClickListener(newView.OnClickListener(){
    @Override
    publicvoidonClick(Viewv){
    Stringtittle=ed1.getText().toString().trim();
    Stringsubject=ed2.getText().toString().trim();
    Stringbody=ed3.getText().toString().trim();

    NotificationManager notif=(NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notify=newNotification(R.drawable.noti,tittle,System.currentTimeMillis());
    PendingIntent pending=PendingIntent.getActivity(getApplicationContext(),0,newIntent(),0);

    notify.setLatestEventInfo(getApplicationContext(),subject,body,pending);
    notif.notify(0,notify);
    }
    });
    }

    @Override
    publicbooleanonCreateOptionsMenu(Menu menu){
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main,menu);
    returntrue;
    }

    @Override
    publicbooleanonOptionsItemSelected(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.

    intid=item.getItemId();

    //noinspection SimplifiableIfStatement
    if(id==R.id.action_settings){
    returntrue;
    }
    returnsuper.onOptionsItemSelected(item);
    }
    }

    Nội dung file activity_main.xml



    <?xml version="1.0"encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.sairamkrishna.myapplication">

    <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme">

    <activity
    android:name=".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>

    Kết quả:

    Hãy điền các lĩnh vực với các tiêu đề, chủ đề và cơ thể. Điều này đã được thể hiện trong hình
    [​IMG]

    Bây giờ bấm vào nút thông báo và bạn sẽ thấy một thông báo trên thanh thông báo hàng đầu. Nó đã được hiển thị dưới đây

    Bây giờ di chuyển xuống thanh thông báo và xem các thông báo. Điều này đã được thể hiện trong hình
    Nguồn: Bài 59: Notification trong lập trình Android
     

Chia sẻ trang này