編輯:關於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(); } 上面的代碼是將發出檢查通知的時間存入文件,以備後來每次判斷。
概述對於ListView有自帶的方法添加headerView及footerView,但是RecycleView僅僅只是維護緩存的View,本身並不處理內容顯示,都交給了R
簡介:BroadcastReceiver本質上就是一種全局的監聽器,用於監聽系統全局的廣播消息,因此它可以非常方便地實現系統中不同組件之間的通信。 特點:1.B
我推薦的網站,都是我在學習Android 開發過程中發現的好網站,給初學者一些建議,少走一些彎路。Android Developers作為一個Android 開發者,官網
項目地址:https://github.com/JeasonWong/JikeGallery話不多說,先上效果。這個效果是在即刻app上看到,覺得很不錯,遂仿之。先說下我