編輯:關於Android編程
通知欄消息是Android的一個最成功的發明,的確給用戶帶來很好的體驗。
主要用到的類有NotificationManager。是用來管理提醒的。
還有PendingIntent用來指定點擊後跳轉的。
現在公司的需求就是:需要檢查服務端有沒有消息要推送,每次打開軟件都去檢查太消耗了,所以我的策略是每天第一次打開軟件時去檢測,這一天後來再打開軟件就不檢測了。
看代碼吧:
/**
* 是否需要檢查通知欄提示
* @return
*/
private boolean isNeedNotify(){
SharedPreferences share = getSharedPreferences(SHARE_APP_TAG, Context.MODE_PRIVATE);
String notifyDate = share.getString(MAP_NOTIFY_DATE, "");
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//設置日期格式
String dateStr = df.format(new Date());
if(dateStr.equals(notifyDate)){
return false;}
else{return true;}}
上面這段代碼是檢查今天有沒有檢查過。
if(isNeedNotify()){
//如果需要檢查通知欄提示的話,3秒之後去檢查
new Timer().schedule(new TimerTask() {
@Override
public void run() {
createNotify();
}
}, 3000);
}
上面這段代碼是判斷是否需要檢查,如果需要的話,3秒鐘之後開始檢查。
//創建通知欄信息
private void createNotify(){
putNotifyDate();
Log.i("notify=====", "notify");
init();
//新建狀態欄通知
baseNF = new Notification();
//設置通知在狀態欄顯示的圖標
baseNF.icon = R.drawable.icon_01;
//通知時在狀態欄顯示的內容
baseNF.tickerText = "縱橫通知消息";
//通知被點擊後,自動消失
baseNF.flags |= Notification.FLAG_AUTO_CANCEL;
//第二個參數 :下拉狀態欄時顯示的消息標題 expanded message title
//第三個參數:下拉狀態欄時顯示的消息內容 expanded message text
//第四個參數:點擊該通知時執行頁面跳轉
baseNF.setLatestEventInfo(ListViewActivity.this, "標題", "內容", pd);
//發出狀態欄通知
nm.notify(Notification_ID_BASE, baseNF);
}
為了方便,我暫時用本地數據代替到服務器獲取數據。上面的代碼是創建狀態欄通知。
/**
* 初始化狀態欄通知
*/
private void init(){
nm = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
Intent intent = new Intent(this,ListViewActivity.class);
pd = PendingIntent.getActivity(ListViewActivity.this, 0, intent, 0);
}
上面的代碼是初始化一些狀態欄通知需要的
/**
* 將發出檢查通知的時間存入文件
*/
private void putNotifyDate(){
SharedPreferences share = getSharedPreferences(SHARE_APP_TAG, 0);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");//設置日期格式
String dateStr = df.format(new Date());
share.edit().putString(MAP_NOTIFY_DATE,dateStr).commit();
}
上面的代碼是將發出檢查通知的時間存入文件,以備後來每次判斷。
ExtraViewWrapperAdapter--添加額外頭部尾部功能的裝飾adapter
概述對於ListView有自帶的方法添加headerView及footerView,但是RecycleView僅僅只是維護緩存的View,本身並不處理內容顯示,都交給了R
Android之BroadcastReceiver
簡介:BroadcastReceiver本質上就是一種全局的監聽器,用於監聽系統全局的廣播消息,因此它可以非常方便地實現系統中不同組件之間的通信。 特點:1.B
分享10個很棒的學習Android開發的網站
我推薦的網站,都是我在學習Android 開發過程中發現的好網站,給初學者一些建議,少走一些彎路。Android Developers作為一個Android 開發者,官網
Android仿即刻首頁垂直滾動圖,炫酷到底!
項目地址:https://github.com/JeasonWong/JikeGallery話不多說,先上效果。這個效果是在即刻app上看到,覺得很不錯,遂仿之。先說下我