首推alarmrun,下面详细说明。
这是一款闹钟应用,这个闹钟犹如一个小恶魔一般,惹恼了它可会带来大麻烦。如果你没有按时起床,它会在通讯录中随机选一人发出「我还没有起床」的短信,你也可以指定将短信发送给几个人,他们可以是你的朋友,亲人,甚至是老师。
赖床的代价alarmrun粉绿色的配色相当清新,但小美现在才发现,图标中闹钟左边的铃铛竟然是一只恶魔的角!正如介绍中所说,如果你没有按时起床,这个小恶魔就会利用你的通讯录乱发一气,甚至能在社交账号上发一张相册中的照片!该功能能自动判断用户是否在用户设定的唤醒时间范围内进行浅睡眠,如果是这样的话,闹钟就会报警。如果没有,它将等到最新的闹钟设置。如何判断浅睡眠,我测试过,它是通过轨迹运动来实现这一功能的,当用户处于浅睡眠状态时,通常会出现如翻转调节位置的动作,当应用到捕捉用户动作时,用户会认为此时处于轻度睡眠状态,闹铃就会响起。
起床的奖励按时起床可以获取积分奖励,积分奖励可以解锁不同的图标,图标虽小,起床带来的增益效果却是什么也换不来的,向解锁全部图标迈进吧!什么还是起不来试试指定给一个你惹不得的人发送短信把??。
如果你是单身,就指定给你的母亲,不想被唠叨就赶紧起;如果你在工作,就指定给你的老板;如果你在上学,就指定给老师吧。想摆脱这个小恶魔只有两种方法:按时起床,或者永远别用。
生活中我们会常常遇到需要闹钟提醒;不管是起床还是生活中的事件提醒。
那作为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技术,我这里推荐这份笔记方便学习,我就放在私信, 发送“核心笔记”或“手册”即可获取。朋友们可以免费领取!
(1) Sleep Cycle (iOS, $0.99)Sleep Cycle 是一款流行的 iOS 闹钟 app,可以把你的 iPhone 和 iPod touch 变成一个敏感的闹钟。它可以可以监测你的睡眠进程,可以根据你是否在深度睡眠而调整唤醒你的方式,不会像一般的闹钟一样,突然就把你叫醒。譬如,你要在7点起床, Sleep Cycle 监测出你还在深度睡眠中,它就会在 6:32 就开始轻轻唤醒你,以防你进入深度睡眠。
(2) Gentle Alarm (Android, $2.99)
Gentle Alarm 就像瑞士军刀一样,拥有多功能。你可以设置不同的闹钟,还可以自定义类型、长度和模式。各种闹钟之间还可以快速切换。它还具有锁定系统功能,你必须完成一个繁琐的解锁任务后才可以停止闹钟。
(3) Alarm Clock Plus V2 (Android,免费/无广告版$1.79)
Alarm Clock Plus 具有强大的自定义功能。你可以创建闹铃声音列表,还可以设置数学题测试,你要完成测试才可以停止闹钟。你还可以用闹钟程序来启动其他程序,例如,打开你的阅读器和邮箱。
(4) G-Alarm (Windows Mobile, $7)
G-Alarm 是支持多重闹钟、唤醒播放列表、可更换皮肤和自动启动应用程序。同样也有迷宫和数学问题供你解决,确保你醒来。而且它还具有感应功能,你可以摇动或者翻转你的手机来暂停闹钟或者完全关掉。
(5) Alarm Klock (Android, 免费)
有些人可能只是想要单纯的加强版闹钟,而并非那么多复杂的功能。Alarm Klock 和 android 手机默认的闹钟程序相似,但是加强了一些功能。例如有预提醒设置、MP3闹铃、不同的暂停方式和闹铃音量设置、
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)