第一章 引言
1.1项目背景
现在的智能手机已经非常普遍,而且其在生活中所占据的分量以及发挥的作用也是越来越重要,而且,查看时间、日期等功能也越来越完善。基于Android操作系统的智能手机具有非常完善的数据读取功能,这样的优势就可以非常方便的设计日历。同时,Android操作系统源代码都是公开的,可以在很多平台免费获取相应的资源,所以这些信息就可以很轻易的得到。很多用户都需要一个日历系统,方便随时方便的查询时间日期等,这也是所有手机都具有的基本功能。在开发新的日历系统时,一定要保证具有稳定的性能以及很好的客户体验,很好的将这些系统打造成日常生活不可或缺的产品以及方便稳定的工具,这样的生活助手在生活中一定具有很广阔的市场前景,同时也要保证外形美观,功能丰富。
本文主要阐述了Android操作系统的开发环境,发展现状以及主要组成模块等,对于该系统的开发应用程序进行了分析,还阐述了其在将来市场环境中具有前景以及不足进行了分析。本次开发的操作系统,可以实现查看日期等基本功能,还可以查询指定日期以及将相应的日期进行阳历与农历的转换。对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,
设备备忘录等。
1.2选题意义
本文开发的日历系统基于Android操作系统,能够实现原来设计的基本功能,包括查询日期以及显示制定日期等,而且能够针对阳历转换为相应的农历日期,还有日期管理功能。对于特殊节日的管理,系统也有相应的应对功能;对于日期的管理,可以设置相应的跳转功能,也可以制定日期提醒,设备备忘录等。该系统人机界面良好,操控性能好。

                                                                                                                                                                     
第二章 Android操作系统简介
2.1 Android操作系统基本结构
Android操作系统可以划分为四层结构,从最底层开始依次是应用层应用框架层系统运
行库层以及Linux内核层,基本结构如图1-1.
图2-1 Android操作系统基本结构
(1)应用层(App1ication)
应用层主要用来与用户进行交互,也就是一个人及操作界面,允许用户通过点击等动作完成相应的操作。Android系统也自带一些基础性的应用和操作,比较常用的包括Home,Contacts以及Phone等。设计时可以依据这些应用框图完成相应的设计工作,主要有API程序等。这些基础性的应用程序需要在宣传之后,才能获得相应的推广,从而得到形影的用户体。
(2)应用框架层(App1cation Framework)
一般系统设计者在Android操作系统上开发相应的API程序,这就需要系统能够有很好的使用,所有的功能都可以复,基于这种研发体系,就可以开发很好的操作系统,将这些系统应用在Android操作系统上。在开发应用程序时需要用到的组件包括:
1)UI 组件,也就是前台操作的UI界面,常用的空间包括List,Table等,这些都是最基本的组件。
2)内容服务器组件,这一组件的主要作用就是提供一系保证数据连接或者交换的服务,或者实时共享这些数据,最常见的就是电话本、短消息等功能,一些其他的应用程序也可以基于此组件完成通讯录或者短息的访问,比如说,支付宝可以自动读取联系人。
3)资源管理器组件,这一组件一般完成的功能是识别图片、字体的格式以及ID数据等,这些资源和数据可以对系统的资源进行进一步的管理或者享用。
4)消息通知管理组件,该组件对于该系统上所有通知进行管理,提示用户查看相应的数据信息,常用的包括好友信息的提醒,此时系统的呼吸灯能够显示相应的闪烁频率,提醒用户查看消息。
5)活动管理组件,该组件可以保证所有的应用程序都能够在其生命周期内完成数据的控制与管理,所有的连接都在规定时间内有效,一般所有的组件都对应相应的窗格,这是软件进行交互的基础,是界面变化的基础。
6)窗口管理组件,该组件完成了全部应用窗体的开启的管理。
7)位置管理组件,该组件的基本功能是借助GPS完成客户的定位信息。
8)电话管理组件,该组件针对手机上所有的通话数据进行保存以及采集。
9)包管理组件,该组件的功能如期名字一样,可以对系统中全部 的应用系统进行管理。
(3)系统运行库层(Libraries)
系统运行库层(主要是操作系统最底层的操作,不用过多介绍。
1)系统C库模块:该模块一般是从系统自带的模块库里查询相应的标准数据,完成BSD的集成,这些数据可以作为嵌入式系统开发的备份文件。
2)媒体库模块。该模块主要是进行媒体文件的解码、播放等操作,能够解码的格式包括MP3,MP4,JPEG, MPEG4等。
3)界面管理模块:该模块可以需要显示的所有子界面进行管理。
4)WebKit模块:该模块可以保证浏览器具有充足的引擎工作,这样就可以保证操作系统具有足够 的空间嵌入视图信息。
5)SGL 底层的2D图形引擎。
6)OPENGL|ES模块:该模块主要是保证系统能够实现3D的效果,借助一些高品质的心态可以保证系统具有一些加速功能。
7)FreeType模块:该模块具有一些矢量显示功能和图文等。
8)SQLite模块:该模块可以适用于全部的应用窗体,功能非常强大,一般都是在关系型数据库中显示的比较多。
9)Core Libraries模块:该模块的主要作用就是基于Java平台开发相应的数据库,完成相应的数据处理功能。
10)Da1vik VM模块:该模块可以保证操作系统保持虚拟机 状态,这样便于计算机能够开发相应的JVM功能。
(4)Linux内核层(Linux Kernel)
系统的内核层一般是保证系统操作的稳定性以及安全性,对系统的硬件以及软件进行管理,设置相应的网络堆栈,创建相应的模型服务
只有了解了Android操作系统的基本特点,才有可能更好的开发基于此系统的软件和程序,在深入了解了此系统之后就可以在开发软件以及系统的过程中,不走或者少走弯路,开发更加完美的系统。
2.2 Android系统组件
总的说来,基于安卓操作系统的应用程序分为四种:ActivityBroadcast Intent ReceiverService以及Content Provide。需要注意的是,个别的操作系统是不具有完整的4组件构成,所有的组件一般都要列在1,这样就方便系统中制定形影的功能和条件, Activity是最基础的类别,这是一个非常常用而且能够单独显示的组件,一般作为单独的类别显示。系统中所有用到的类都必须从主类中继承过来。所有视图的显示都是基于用户控制界面显示相应的视图控制组件,这样就可以及时给出响应,一般广播类型接收器都以外部数据接口为对接类型,这样的接口还有Web service,这样也可以获得相应的数据接口。
(1) Activity 简介
应用软件的开发一般是将Activity组件作为单独额页面显示,通常情况下可以针对所有的页面功能进行显示。
(2) Service 简介
android radiogroup这一程序应该是具有一定的寿命时间,所有的程序都执行在这些程序,最后的程序属于监视类型。
(3) Broadcast Receiver 简介
该模块功能主要是广播接收器,主要是将系统中的信息等进行识别或者是发送,一半需要使用的方法是sendBroadcast()方法,才可以快速的传递信息和数据。
(4) ContentProvider简介
该模块主要是借助相应的数据程序将一些数据程序供应给相应的数据程序,这在数据交换过程中使用的频率最高,也可以进行信息的共享。
Android操控系统的很多数据都是显示为图片或者视图,可以支持Content Provider的设定,
一般处于系统的底层端口。这些数据访问也需要被授权,在访问以及共享数据的时候,一定要以方便用户使用为最高标准。
2.3 Android主要控件
1) EditText
主要函数:
setText/getText 设置/获取文本内容
setHint 设置缺省显示内容
(2) RadioGroup,RadioButton
RadioButton的isChecked()判断是否被选中
获取选中RadioButon的ID:设置RadioGroup.setOnCheckedChangeListener方法
public onCheckedChanged(RadioGroup group,int checkedId)//checkedId是选中RadioButt
on的ID。
(3)CheckBox
isChecked()判断是否被选中
setOnCheckedChangeListener方法监视选中状态改变情况
(4)Spinner
a,显示数据
b,设置下拉列表的风格(可选)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
c,监听选项选择变更事件
setOnItemSelectedListener设置监听去
Spinner.OnItemSelectedListener类须实现以下两个方法
public void onItemSelected (AdapterView<?> parent, View view, int position, long id)//view 选中项实例,position选择项在adapter中的位置

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。