基于Android平台的日程记事器设计与实现

时间:2022-07-20 11:03:48

基于Android平台的日程记事器设计与实现

【摘要】本文研究了在Android开发平台下日程记事器的设计与实现过程,实现对日程记事进行增删改查、自定义闹铃振动定时提醒功能、拍照记事和录像记事等功能,并且使用google的语音搜索功能添加记事,为用户提供方便快捷的操作。

【关键词】Android平台;日程记事器;手机软件

1.引言

随着智能手机技术的不断发展,它将成为人们日常生活记录日程必不可少的设备。因此,Android平台记事器将会有很大的发展空间,WNotes日程手机应用软件就是其中之一。它的设计开发是为了最大便捷的方便人们记录日常生活中一些重要的事情。WNotes日程除了具备最基本的增删改查功能外,还拥有别具特色的闹铃实时提醒功能和多媒体拍照记事功能。当然用户也可以根据自己的需要对日程记录进自定义排序,便于阅读。本文将基于Android平台详述如何设计并实现一款功能完备的日程记事器。

2.系统总体设计

2.1 功能设计

通过对智能手机用户的问卷调查以及参照现有智能机中记事器的功能,本文将整个记事器功能设计如图1所示:

2.2 数据库访问设计

数据库选用SQLite,通过使用这些API便可实现数据库操作。记事器要经常进行数据库操作,所以编写了DBAccess和DBUtil两个类进行专门的数据库操作,设计一个SQLiteOpenHelper类来对数据库进行基本操作,以实现数据库的访问等。

3.记事器的具体实现

3.1 主界面模块实现

主界面采用Android自带的ListView控件显示,并且继承ListActivity父类,这样可以很方便地显示日程记事,在记事为空的时候显示No data没有数据,在记事不为空的时候显示记事的ListView列表界面。在整个主界面的最上方添加两个ImageView的按钮,一个是添加记事,另一个是查询记事,可以方便用户操作。通过重写父类的onCreateOptionsMenu(Menu menu)方法创建menu菜单,点击menu菜单,弹出“设置”、“新建”、“排序”、“搜索”菜单选项。并且为每一个menu菜单设置它的OnMenuItemClickListener自定义监听器,实现点击处理,直接调用父类公共的overridePendingTransition(int enterAnim,int exitAnim)方法实现动画跳转页面效果。

3.2 记事功能的实现

可以点击文件排序右边的“+”号给指定文件添加记事,也可以点击界面上方的新建按钮添加记事,还可以点击menu菜单》新建添加记事,添加记事界面如图2-图5所示:

在新建记事界面使用自定义继承EditText父类,可以对记事正文进行添加,并且记事标题自动匹配记事正文,也可以自己添加。调用Google提供的语音搜索可以很方便的对记事进行添加记事,减去了手动书写的麻烦,不过前提是手机里有安装google的语言搜索软件,并且网络连接通畅。还可以进行拍照和录像记事,内容以ImageView的形式显示在界面上,照片和录像保存在手机的sd卡的/sdcard/WNote/新建文件夹下。录像采用缩略图显示,布局采用FrameLayout帧布局方式,点击上层的播放按钮可以播放录像。直接点击返回按钮就可以保持了。

3.3 自定义闹铃或振动提醒功能实现

自定义提醒功能界面,采用自定义日历完成自定义提醒设置,继承View父类,重写父类里的onDraw方法对日历进行绘制,Android系统android.graphics包里提供了很多类为我们方便地绘制自定义图形,使用android.graphics.Paint绘制画笔,设置画笔的颜色,粗细等属性,android.graphics.Path绘制日历的边框路径,然后通过Canvas画布将整个日历绘制在手机屏幕上显示。需要注意的是自定义提醒日期必须是在当前日期之后的时间,否则会弹出“日期选择不正确”无法点击设置键完成设置提醒。可以在“设置与帮助”里面设置开启声音与震动功能来自定义提醒方式。

3.4 自定义提醒功能模块实现

定时提醒功能模块是在上面设置完成了提醒时间的前提下进行的。使用的是AlarmMan-ager类提供闹铃,AlarmManager的作用文档中的解释是:在特定的时刻为我们广播一个指定的Intent。简单的说就是我们设定一个时间,然后在该时间到来时,AlarmManager为我们广播一个我们设定的Intent。并且我们采用的是RTC_WAKEUP类型的闹钟,可以在指定的时刻,发送广播,并唤醒设备。弹出一个自定义的界面,使用系统默认的闹铃声加振动提醒用户,前提是用户自定义开启声音和震动功能,效果图如图6-图7所示。

注:自定义界面显示了用户所在的城市,所在城市的天气温度(在接下来的部分介绍)。然后有“删除提醒”、“任务完成”、“延迟完成”。还可以下滑隐藏提醒界面。点击“延迟完成”按钮动画弹出延迟时长。本部分功能采用了多种动画特性相结合,方便用户操作。

3.5 百度定位和天气查询功能实现

百度定位功能的实现调用的是百度的locSDK_3.3.jar包,可以在百度开发者平台下载,主要是设置定位参数,在这里采用的直接是网络定位方式,不需要开启GPS就可以直接定位,定位到所在的城市。然后根据定位得到的城市去查询天气信息。在这里调用中国天气查询,直接使用Http协议获取查询数据,获取到json格式的数据,然后对数据进行解析,获取天气、温度和天气小图标代号。

4.结束语

该日程记事器以Java语言作为编程基础,基于Android系统平台,借助Google公司的Android SDK作为运行环境,并在Eclipse IDE开发环境下进行开发设计,是一款基于Android2.3系统的手机应用软件。主要的特色功能有百度定位、天气实时每日更新、自定义每日提醒闹钟和完美的日程记事提醒功能,支持拍照、录像记事和语音搜索功能。本文阐述了整个设计与开发过程,可为手机软件开发爱好者提供借鉴和参考。

参考文献

[1]李金霖,赖超,龙曦,吴林志.基于Android平台的手机日程管理系统[J].计算机与数字工程,2011,03.

[2]张正政,林耀荣.基于Android系统的影音播放器开发[J].现代电子技术,2011,02.

[3]耿东久,索岳,陈渝,文军,吕勇强.基于Android手机的远程访问和控制系统[J].计算机应用,2011,02.

[4]代敏.基于Android平台下手机定位程序的设计及实现[J].计算机与数字工程,2012, 04.

作者简介:

李琳,女,实验师,主要研究方向:计算机应用技术。

赖路燕,女,讲师,主要研究方向:企业管理和企业信息化。

上一篇:网上随机考试系统的功能分析 下一篇:基于spice3f5的射频器件建模工具设计