重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

android闹钟,Android闹钟功能需求分析

Android开发一个简单实用的闹铃APP

生活中我们会常常遇到需要闹钟提醒;不管是起床还是生活中的事件提醒。

10年积累的网站设计、成都做网站经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有玉泉街道免费网站建设让你可以放心的选择与我们合作。

那作为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技术,我这里推荐这份笔记方便学习,我就放在私信, 发送“核心笔记”或“手册”即可获取。朋友们可以免费领取!

android手机闹钟铃声是怎么设置的

一般Android手机具有四种铃声可以设置,分别为:来电、短信、闹钟、系统等种类铃声,具体的设置编制为:

1:先打开Android手机的内存卡盘,在里面成立个“media”文件夹,然后打开后成立个“audio”文件夹。

2:打开“audio”文件夹后,在里面非别成立“ringtones”(来电)、“notifications”(短信)、“alarms”(闹钟)、 “ui”(系统提示)。

3:然后遵循本身的需要将铃声存放到这几个文件夹中。

4:打开Android手机,在“菜单”-“设置”-“声音”这里便可以自行进行选择了。

【首要提示:把文件夹设置好,在把要设置的铃声放进指定文件夹后重启手机后,在进进设置里往设置,便可以选择刚才放进的铃声了〔短信铃声设置编制—进进短信内—按菜单键—进进设置里便可以设置短信铃声了〕

android 闹钟设置的几种方法

vivo手机设置闹钟方法:

进入闹钟时钟 → 点击右上角“+”,编辑添加新的闹钟;

OriginOS系统可直接点击桌面闹钟组件语音图标或进入闹钟--右上角语音图标,可以语音创建闹钟;

贪睡小助手 (部分机型支持):进入闹钟时钟--点击需要设置的闹钟--贪睡,开启“贪睡小助手”功能,闹钟贪睡超过5次将自动发送信息给指定的联系人;

闹钟铃声:

OriginOS系统:进入闹钟时钟--点击单个闹钟--更多设置--提醒方式--设置铃声即可;

Funtouch OS/iQOO UI系统:进入闹钟时钟--点击需要设置的闹钟--铃声,选择自定义铃声或者系统备选铃声;

语音播报:进入闹钟时钟--点击需要设置的闹钟--开启“语音播报”,在手动关闭闹钟后,系统将自动为您语音播报当天的天气。

android 设置系统闹钟和系统日历提醒

现在有一个定时提醒的功能, 用 AlarmManager 自己来做,有多少坑做过的都知道。(应用被kill, 应用保活,息屏,关机重启,多版本兼容问题。。。)。要自己做一个完善的不是 1-2天就能搞定的。当然如果是应用内简单的定时执行,定时提醒 AlarmManager 还是很好用的。

对于这种需求可以调用系统闹钟或用系统日历的提醒事件来做。

日历提醒功能可以直接用 Intent 起日历提醒界面,这样最简单,不需要权限。

调用API 直接设置需要动态申请权限

设置系统闹钟需要 SET_ALARM 权限

取消闹钟用 AlarmClock.ACTION_DISMISS_ALARM

android AlarmManager使用详解

AlarmManager是android中系统自带的一个提醒服务,比如设置闹钟,做一个定时任务,还可以设置重复操作

AlarmManager中常用的有三个方法:

1、set(int type,long startTime,PendingIntent pi),用于设置一次闹钟。

2、setRepeating(int type,long startTime,long intervalTime,PendingIntent pi),用于设置重复闹钟。

3、setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi),同样是用于设置重复闹钟,但是它是不准确的,相对于第二个方法,也更加节能。

下面就看看这些方法中的参数:

type为闹钟的类型,可分为四个常量:

ELAPSED_REALTIME:闹钟在睡眠状态下不可用,使用的是相对系统启动时间。

ELAPSED_REALTIME_WAKEUP:闹钟在睡眠状态下可用,使用的是相对系统启动时间。

RTC:闹钟在睡眠状态下不可用,使用的是真实时间。

RTC_WAKEUP:闹钟在睡眠状态下可用,使用的是真实时间。

startTime:为开始时间

intervalTime:为重复闹钟的间隔时间,内置了几种:

INTERVAL_FIFTEEN_MINUTES 15分钟

INTERVAL_HALF_HOUR 半个小时

INTERVAL_HOUR 一个小时

INTERVAL_HALF_DAY 半天

INTERVAL_DAY 一天

PendingIntent :广播的一个intent,我们用广播接受闹钟的定时任务,注册一个广播去接受,任务指令。

使用PendingIntent的getBroadcast (Context context, int requestCode, Intent intent, int flags)方法可以得到一个发送广播动作的PendingIntent对象

为以下4个常量或其他支持使用Intent.fillIn()来控制它的变量:

FLAG_CANCEL_CURRENT:如果描述的PendingIntent对象已经存在时,会先取消当前的PendingIntent对象再生成新的。

FLAG_NO_CREATE:如果描述的PendingIntent对象不存在,它会返回null而不是去创建它。

FLAG_ONE_SHOT:创建的PendingIntent对象只使用一次。

FLAG_UPDATE_CURRENT:如果描述的PendingIntent对象存在,则保留它,并将新的PendingIntent对象的数据替换进去。

另一个就是在manifest.xml中注册自己的广播

这样就可以实现定时任务了,如果要定时任务service启动还可以加上service

基于android的闹钟如何添加和删除

一、本课题要求:设计一个基于Android的闹钟的软件。

实现的功能有:能通过界面设置闹钟的启动条件建立后台服务进程,当满足触发条件时,闹钟响应相应事件。

二、需求分析

该课题实现在手机操作系统Android闹钟提醒功能,携带方便,使用起来灵活、快捷、省心,是一款实用的手机软件。“手机闹钟”可以在后台运行,且能和普通闹钟一样设置多个位置闹铃,有良好的人机交互界面,可对其编辑、启用或禁用,关键在于可以自定义设置取消闹钟的操作。

(1)系统体系结构包括:添加闹铃、设置时间、重复等,闹铃提醒方式,返回首页。

(2)用户界面设计

主页面

取消闹铃页面

三、代码设计

(1)

main.xml代码

解除闹铃代码

(2)代码分析

开发手机闹钟主要用到了AlarmManager类,AlarmManager类提供了访问系统定时服务的途径,开发人员可以在程序中设置某个应用程序在未来的某个时刻被执行。当AlarmManager定时时间到了之后,当初注册的Intent对象将会被系统广播,进而启动目标程序。注册的闹钟在设备睡眠的时候仍然会保留,可以选择性地设置是否唤醒设备,但是当设备关机和重启后,闹钟将会被清除。

在程序运行时当需要使用AlarmManager类时,可以通过Context对象的getSystemService(Context.ALARM_SERVICE)方法来获得AlarmManager对象。

闹钟使用的Demo:com.example.android.apis.app.AlarmController其中设定了两种闹钟,一种是一次性的,一种是重复的。

四、总结

在这个过程中,我学会了很多知识,比如Android环境的搭建和配置问题、Android的构架和基本组建等,同时我学会的最重要的一点是,要利用现有的资源去解决问题,在图书馆、在网络上寻找答案,也可以请教老师或与同学相互讨论。虽然,这个软件目前运行良好,但是我认为代码的健壮还很差,在整个工程的构思方面也不足,用户操作界面还不够灵活,这些问题还需要今后逐一解决。与此同时,这个软件还可以进一步扩展,例如通过Android Api获取位置信息,并在指定地点设置闹钟提醒等,使功能更加强大,带给用户更好的体验与便捷的生活服务。


网页标题:android闹钟,Android闹钟功能需求分析
转载注明:http://cqcxhl.com/article/dsgpdph.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP