Feb
20
为完成课程作业,简单学习了一下Android平台的开发。其中,修改最多的是Preference(设置)界面,这也是比较能体现Android常见开发顺序的:XML布局——控制类动作处理——数据保存
开发环境为MOTODEV Studio for Android 3.0.1,Android 2.2 平台。
一、项目需求
安全期是一直以来都是女性朋友们非常关注的问题,大家对于安全期测试也非常地重视,因为测试了自己的安全期就可以减少或增加怀孕的几率。所以很多女性朋友都会采用安全期来进行避孕。如果想要采用安全期避孕就要明确地知道自己的安全期是什么时候,这就要对自己的安全期进行计算。
本计算器参考日历法的计算公式,并推算出每次排卵的日数,以便决定安全期等时间,以颜色明显标注在日历中,供参考。
二、算法原理
女性的排卵日期一般在下次月经来潮前的14天左右。下次月经来潮的第1天算起,倒数14天或减去14天就是排卵日,排卵日及其前5天和后4天加在一起称为排卵期。
三、自定义Preference类
除主界面的日历界面显示外,代码最多的是Preference类。为实现良好的人性化及输入控制,对默认的Preference类进行了扩展。
1、输入框
Android自带的EditTextPreference没有提供右侧的提示,这里是使用Widget Layout 布局定义的。编写的InputPreference类,继承自EditTextPreference类,并重写onDialogClosed()等方法,实现界面刷新和数值验证等功能:
同样的,DatePreference继承自DialogPreference类,提供日期选择功能:
2、主要类及界面
控制类:
res 目录下的布局文件:
res/xml 目录下定义的Preference布局:
四、程序界面
设置主界面:
显示主界面:
五、程序及源码
主程序:
源码:待课程成绩出来后提供。
六、说明文档
开发环境为MOTODEV Studio for Android 3.0.1,Android 2.2 平台。
一、项目需求
安全期是一直以来都是女性朋友们非常关注的问题,大家对于安全期测试也非常地重视,因为测试了自己的安全期就可以减少或增加怀孕的几率。所以很多女性朋友都会采用安全期来进行避孕。如果想要采用安全期避孕就要明确地知道自己的安全期是什么时候,这就要对自己的安全期进行计算。
本计算器参考日历法的计算公式,并推算出每次排卵的日数,以便决定安全期等时间,以颜色明显标注在日历中,供参考。
二、算法原理
女性的排卵日期一般在下次月经来潮前的14天左右。下次月经来潮的第1天算起,倒数14天或减去14天就是排卵日,排卵日及其前5天和后4天加在一起称为排卵期。
三、自定义Preference类
除主界面的日历界面显示外,代码最多的是Preference类。为实现良好的人性化及输入控制,对默认的Preference类进行了扩展。
1、输入框
Android自带的EditTextPreference没有提供右侧的提示,这里是使用Widget Layout 布局定义的。编写的InputPreference类,继承自EditTextPreference类,并重写onDialogClosed()等方法,实现界面刷新和数值验证等功能:
同样的,DatePreference继承自DialogPreference类,提供日期选择功能:
2、主要类及界面
控制类:
引用
InputPreference.java:自定义的信息输入框,继承自EditTextPreference类,并提供输入校验,更新Preference界面等功能。
DatePreference.java:自定义的日期输入框,继承自DialogPreference类,把日期转换为利于保存的long类型数据,并提供时间判断,Preference界面更新功能。
DatePreference.java:自定义的日期输入框,继承自DialogPreference类,把日期转换为利于保存的long类型数据,并提供时间判断,Preference界面更新功能。
res 目录下的布局文件:
引用
date_preference.xml:DatePreference类的Layout
input_widget_layout.xml:InputPreference及DatePreference类的Widget Layout。
input_widget_layout.xml:InputPreference及DatePreference类的Widget Layout。
res/xml 目录下定义的Preference布局:
四、程序界面
设置主界面:
显示主界面:
五、程序及源码
主程序:
下载文件
源码:待课程成绩出来后提供。
六、说明文档
下载文件
路人9
2013/12/18 19:53
博主,可以請你分享下源碼嗎?因為最近做到類似的主題,想做個參考,謝謝你。
分页: 1/1 1