當前位置:編程學習大全網 - 編程語言 - Android開發壹個簡單實用的鬧鈴APP

Android開發壹個簡單實用的鬧鈴APP

生活中我們會常常遇到需要鬧鐘提醒;不管是起床還是生活中的事件提醒。

那作為Android開發如何自己開發壹個鬧鐘功能呢,是不是覺得很酷呢?接下來我們就實戰壹個鬧鐘。

本示例采用的是RecyclerView,其適配器類與常無二,其異在於繼承壹個代理類,為適配之後側滑刪除而準備

建立壹個內部類ViewHolder實現控件定義申明

實現onCreateViewHolder方法載入子項布局文件

綁定實體類,實現onBindViewHolder獲取數據

此處有三處狀態,第壹種狀態:第壹次進入程序,默認加載固定鬧鐘子項;第二種狀態:進入添加子項頁面,然後返回其主頁面,並判斷其switch是否為ture,如果為ture則添加子項;第三種狀態:程序被系統回收或者用戶停止程序,並再次進入程序,防止加載前壹時刻鬧鐘子項;

添加依賴 實現側滑主要依賴於壹個第三方包,然後使用RecyclerView進行子項綁定 依賴如下:

並在目錄build.gradle包下添加如下庫

其實現側滑刪除主要的玄機在於布局文件當中,使用RelativeLayout布局,將刪除按鈕固定在布局右方,並使用其他布局將其覆蓋,只有滑動時,才將其顯示。掩蓋側滑刪除按鈕與暴露側滑刪除按鈕效果對比圖如下

然後,在適配器類中,實現WeSwipeHelper.SwipeLayoutTypeCallBack接口,實現如下三個方法,第壹個方法為獲取側滑刪除按鈕的寬度;第二個方法為需要滑動的視圖,也就是覆蓋側滑刪除按鈕的布局;第三個方法為當視圖正在滑動時,用戶觸發單擊事件,自動還原滑動狀態

最後,在需要添加子項的視圖中綁定RecyclerView即可

通過監聽子項滑動刪除按鈕點擊事件,實現子項刪除

跳轉新增鬧鐘子項Acticity需要傳輸實體類對象,傳輸對象壹般需要序列化改類,其操作如下

定義實體類,並實現序列化

然後通過Intent傳輸Bundle對象

實現時間選擇主要使用系統集成的組件TimePicker,其使用方法如下 其有兩種顯示方式,第壹種為spinner,就是下拉滑動式,第二種為clock,即顯示壹個時鐘,通過滑動指針選擇時間

在style.xml文件中申明如下樣式

然後再指定Activcty申明即可

獲取數據比較簡單,實現對應接口即可

將獲取的數據通過SharedPreferences存儲起來,然後點擊存儲時,進行頁面跳轉,然後再該界面進行取出數據

存儲數據

首先判斷回調的switch數據是否為ture,如果為ture則保存該子項,然後再適配器類中進行數據添加

選中與默認兩種狀態效果圖如下

創建thumb和track樣式

創建壹個選擇器文件,有選中和默認兩種狀態

創新open_thumb.xml文件

創建shut_thumb.xml文件

同樣創建壹個選擇器,並用於兩種狀態

其中AlarmManager為系統主要操作類,參數為提醒模式、提醒時間(long型)、PendingIntent對象 以下有三種時間傳入,第壹種,直接傳入壹個Long型時間用於測試,第二種,通過設置系統啟動至今而設置時間,第三種,通過取出設置的時間,然後獲取系統當前時間,將其差傳入其中。

然後再清單文件中註冊服務

使用Intent實現服務啟動

殺死程序

本示例總***使用到了三個單例類:SP(SharedPreferences封裝)、TimeFormat(時間數據格式封裝)、KillProcess(殺死所有Activity)

SharedPreferences

KillProcess

文章帶這裏就完成了壹個簡單的鬧鐘;Android開發還有許多更加更多的知識學習。進壹步學習Android技術,我這裏推薦這份筆記方便學習,我就放在私信, 發送“核心筆記”或“手冊”即可獲取。朋友們可以免費領取!

  • 上一篇:魔獸世界諸多問題求決絕
  • 下一篇:如何用C計算日期
  • copyright 2024編程學習大全網