(4)ContentProvider组件:
ContentProvider(内容提供者)主要用于对外共享数据[11],也就是通过ContentProvider把应用中的数据共享给其他应用访问,其他应用可以通过ContentProvider对指定应用中的数据进行操作。ContentProvider分为系统的和自定义的。当应用继承ContentProvider类,并重写该类用于提供数据和存储数据的方法时,就可以向其他应用共享其数据,然后可以使用ContentResolver类提供的方法进行增删改查。
Android虚拟机:Android工具包还提供了虚拟机,方便进行测试。
2.2软件运行环境
Eclipse及Android SDK运行平台:Windows XP/Vista/Win 7
Android应用运行平台:Android2.2及其以上的安卓虚拟机或真机.
3.系统分析
3.1需求分析
闹钟作为一款辅助软件,更多的应该是帮助人们合理的安排时间,从而达到让生活有序的进行并且节省时间的目的。所以软件应该具有简洁的界面、方便的操作,无需进行过多的设置和管理,没有植入的广告,没有强行加入的权限
3.2软件功能描述
闹钟的一键开闭:添加闹钟后可以点击此功能键来打开或关闭此闹钟,关闭之后,数据会进行保存,再次打开时还可以使用。
闹钟的时间设定:用来设定用户想要进行提醒的时间,可以无限添加闹钟。
闹钟的重复设定:让用户选择在星期一至星期日七天的任意组合的时间里进行提醒设置。
闹钟的操作提醒:为了方便用户的操作,当闹钟到达设定的时间的时候,会弹出一个对话框,让用户来决定是否再响铃。
闹钟的时间修改:单击你想要修改的闹钟,进入修改页面,单击时间,弹出新的时间对话框,重新修改想要设定的时间即可。
闹钟的算数验证:为了保证使用该闹钟的用户一定可以起床,我们采取将常有的闹钟暂停再响功能改为验证码形式,如此一来,如果用户不输入验证码,闹钟将会一直响下去,这样就保证了用户不会再滑动屏幕后继续睡觉了。
综上所述,系统的总体功能模块设计如图2所示。
图2 系统总体功能模块图
4.闹钟功能设计
4.1界面设计
Android开发中使用到的布局文件都在layout文件夹下,本软件主要使用的是线性布局Linearlayout。该软件一共有两个界面,一个是主界面,主界面的显示由main.xml和add_clocklist.xml共同完成[3],在主界面中可以进行新建闹钟,一键开闭,单击事件和长按事件。另外一个界面是闹钟设置界面,界面的显示将由setclock.xml、item1.xml、item2.xml、item3.xml完成;设置界面的功能主要有:一键开闭,修改闹钟时间,修改七天的选择。
4.2添加闹钟功能
点击主界面的添加时间按钮,就会弹出相应的时间选择对话框TimePickerDialog[5],然后可以根据自己的需要进行相应的时间设置,然后由数据库保存设置后的时和分。然后用一些方法读取数据库中的时间,再使用适配器BaseAdapter更新列表,将设定好的时间加载到ListView中。一个新建好的闹钟左边为上下两个TextView分别显示时间和七天中的某几天,右边是一个CheckBox,用来进行一键开闭闹钟。默认是选中状态。另外,本软件采用的是列表ListView和Sqlite数据库所以可以无限制的添加闹钟。
4.3闹钟的单击事件
单击新建好的闹钟将会转到闹钟设置页面[4]。当单击的时候,首先获取点击的item所对应的id,然后用Sharedpreferences存储当前点击的id,然后在子页面再读取该id。Sharedpreferences是Android中的一种轻量级存储类,当存储时的键值不变时,每当有新的数据存入都会覆盖掉上一次的数据,这样就保证在子页面可以获得一个全局的数据库ID,方便各种操作。而页面间的跳转使用的是Android中的Intent组件。 Android手机闹钟软件应用开发+源码(3):http://www.751com.cn/jisuanji/lunwen_5564.html