




免费预览已结束,剩余49页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本 科 毕 业 论 文基于3G手机的教务系统开发 学生模块Development of Academic System Based on 3G Mobile Phones Student Module姓 名: 学 号:学 院:软件学院系:软件工程专 业:软件工程年 级: 指导教师: 年 月摘要随着手机的日益信息化,手机操作系统日渐丰富普及,各类手机软件频繁上市。各大网络软件公司争相在手机软件领域有所突破性的开发。大学生在手机使用领域应该算是个非常大的比重,尤其是在手机的网络平台软件的使用方面,大学生几乎占据了70%以上的使用比例。如是,在手机网络服务方面还亟待一些方便快捷实用的有关教学的软件上市。在选择编程软件方便,我们选择了最近最流行的Google的Android手机平台开发软件,结合现有的PC教务系统模式的框架做一些简单的修改,将一些简易的教务系统功能成功移植到3G手机之中。 本文是以自主开发的3G手机教务系统为研究对象,主要任务是清晰方便的为读者呈现Android手机教务系统的内部功能结构。主要从三个方面详细介绍了系统的功能框架:一,Google的Android开发技术和手机系统的联系;二,该系统的整个开放过程和原理的详细说明;三,系统开发后的运行结果。 关键词:android;手机教务系统;3GAbstractWith the increasing of mobile phone information, phone operating system is growing popular with frequent types of mobile phone software entering the market. The major of internet software companies are competing to be a breakthrough in mobile software development. Students should be considered a very large proportion in the field of mobile phone use, especially in the mobile network platform software use, college students account for almost 70% of the use of proportion. So, the mobile network service is also urgent to have a number of convenient and practical teaching-related software markets.In the choice of programming software, we selected the most popular recently Google Android mobile phone platform development software, with the existing PC academic system model of the framework including some simple changes to some of the simple function of the academic system of the successful migration to 3G mobile phones. This article is based on self-developed 3G mobile phone system for academic study, the main task is to show the internal structure of the Senate of android academic system for readers clearly and easily. It details from three aspects of the systems functional framework: first, the relationship between Google Android developing technology and mobile systems; second, the detailed description of the developing process and principles; third, the main operation of the late results.Key words: Android; Senate phone system; 3G 目录第一章 绪论11.1引言11.2论文组织结构2第二章 系统相关技术概述42.1 手机操作系统42.1.1 Symbian系统简介42.1.2 Windows mobile 简介52.2 Android手机操作系统详细介绍72.2.1 Android的由来72.2.2 Android的背景介绍72.2.3 Android的特性介绍82.2.4 Android的框架介绍8第三章 基于3G的移动教务系统概要设计163.1总体设计163.1.1 需求规定163.1.2运行环境163.1.3 系统处理流程163.2 系统结构设计193.3系统数据库设计213.4 系统出错处理设计243.4.1 出错信息243.4.2 系统维护设计243.5 本章小结24第四章 系统的详细设计以及实现254.1 学生模块设计说明254.1.1 模块描述254.1.2 模块类图264.2数据结构与程序的关系274.2.1数据表的创建274.2.2后台的数据库与前台的连接274.2.3数据表的增删改查274.2.4 功能代码具体分析29第五章 系统测试及运行结果345.1 系统测试345.1.1 功能测试345.1.2 性能测试345.1.3 可用性测试355.1.4 安全性测试355.2 运行结果365.3 本章小结41第六章 总结与展望416.1 论文总结416.2 展望42参考文献43致谢45 ContentsChapter 1 Introduction11.1 Introduction1 1.2 The Structure of the Thesis2Chapter 2 System Related Technologies Outline42.1 Mobile Phone Operating System42.1.1 Introduction of Symbian System42.1.2 Introduction of Windows Mobile52.2 Details of Android Operating System72.2.1 Android Origin72.2.2 Background of Android72.2.3 Details of Androids Features82.2.4 Details of Androids Frame8Chapter 3 Mobile System Based on 3G163.1 Main Design163.1.1 Demand Requirements163.1.2 Operating Environment163.1.3 System Process163.2 System Structure Design193.3 Data Structure Design213.4 Error Handling System Design243.4.1 Error Message243.4.2 System Maintenance Design243.5 Summary24Chapter 4 Detailed Design and Implementation254.1 Student Module Description254.1.1 Module Description254.1.2 Class Diagram264.2 Relationship Between Data Structures and Procedures274.2.1 Creating Data Table274.2.2 Connection Between Database and Front274.2.3 Data Tables CRUD274.2.4 Specific analysis of functional code29Chapter 5 System Test and Operation Results345.1 System Test345.1.1 Functional Test345.1.2 Performance Test345.1.3 Usability Test355.1.4 Security Test355.2 Operation Results365.3 Summary41Chapter 7 Conclusion and Perspective416.1 Conclusion416.2 Perspective42References43Acknowledgements45V参考文献第一章 绪论1.1引言 在PC系统日益成熟的信息化时代,手机操作系统1正在向一个更高深,更广泛应用的领域发展。在我国,手机操作系统一般只应用在高端智能化手机上。目前,在智能手机市场上,中国市场仍以个人信息管理型手机为主,随着更多厂商的加入,整体市场的竞争已经开始呈现出分散化的态势。从市场容量、竞争状态和应用状况上来看,整个市场仍处于启动阶段。目前应用在手机上的操作系统主要有PalmOS4、Symbian、Windows mobile6、Linux7和Android2、iPhoneOS3,黑莓七种。 Symbian5是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML、以及3G技术。最重要的是它是一个标准化的开放式平台,任何人都可以为支持Symbian的设备开发软件。Windows Mobile系统包括 Pokect Pc和SmartPhone以及Media Centers,Pocket PC针对无线PDA,Smartphone专为手机,已有多个来自IT业的新手机厂商使用,增长率较快。按照微软官方的说法:“Windows Mobile 将熟悉的 Windows 体验扩展到了移动环境中,所以您可以立即使用它投入工作。”Linux系统是一个源代码开放的操作系统,目前已经有很多版本流行。但尚未得到较广泛的支持。Palm OS操作系统由Palm公司自行开发的,并授权给Handspring、索尼和高通等设备厂家,这种操作系统更倾向于PDA的操作系统。 Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 Android作为谷歌企业战略的重要组成部分,将进一步推进随时随地为每个人提供信息这一企业目标的实现。我们发现,全球为数众多的移动电话用户从未使用过任何基于 Android 的电话。谷歌的目标是让(移动通讯)不依赖于设备甚至平台。出于这个目的,Android将补充,而不会替代谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发既有用又有吸引力的移动服务,并推广这些产品。iPhone OS 或 OS XiPhone是由苹果公司为iPhone开发的操作系统。它主要是给iPhone和iPodtouch使用。就像其基于的Mac OSX操作系统一样,它也是以Darwin为基础的。考虑到各个手机操作系统之间的差异性,以及学生这个广大人群的使用量问题,我们选择的了Google的Android手机开发系统来开发这款3G手机教务系统。该系统主要还是要克服信息储存的量大的问题已经系统使用频繁以后的修复和维护问题,开发过程中主要存在的问题有三:一,技术的不娴熟,需要大量时间的学习和实验过程;二,各个功能模块之间的兼容性和集成性问题,这个问题花费了我们小组人的不少精力;三,后期的测试问题。希望完成以后能给广大的师生朋友带来一些便捷的教务信息访问服务。1.2论文组织结构本文主要分为五章,首先基于现阶段超大信息量的大学生的教务系统的使用问题引出本文主要的研究课题,详细分析了当前开发移动手机教务系统的必要性和可行性,并对选择的手机操作系统Google Android手机操作系统做了详细系统的阐述介绍,然后再实现技术方面做了进一步深入的剖析,最后在系统实现方面,本文主要基于技术的疑难性,功能的兼容性,后期的测试兼容性方面做了深入的讲解。论文具体安排如下:第一章,绪论部分。主要从现阶段的市场需求,各类手机操作系统的系统概述,以及广大的市场背景方面具体分析了基于3G手机教务系统开发的必要性和可行性。第二章,Google 的Android手机开发技术的具体介绍,从该技术的起源,发展,以及现阶段的技术支持方面详细阐述了Android的背景和实用价值。第三章,具体介绍本课题基于3G手机的教务系统的开发中的技术实现,功能模块,功能集成等问题,从编码层次深入解析该课题的具体合成。第四章,集成测试与运行结果,介绍了该系统的集成测试和运行的最后的结果。第五章,最后主要是总结了整个毕业设计过程中的工作,并对期间遇到的问题和困惑以及解决的方法,具体表述了整个过程中的学习体会和心得。第二章 系统相关技术概述2.1 手机操作系统在具体介绍Google的Android技术之前,稍微介绍下手机操作系统。一说起操作系统,我想绝大多数人都会先想到电脑的操作系统,继尔就是掌上电脑之类的操作系统了。其实,许多带有操作菜单的电子设备都由硬件和软件两大部分组成,因此从理论上来说,它们都有操作系统,只不过有些操作系统是封闭式的,有些则是开放式的罢了。例如我们熟悉的电子词典以及早期的掌上电脑等采用的就是封闭式的操作系统,而PC,笔记本电脑以及现在主流的掌上电脑和智能手机等大多数采用的则是开放式的操作系统。简单地说,封闭式的操作系统是指那些用户不能装卸任何第三方软件的操作系统。也就是说,你不能像用电脑那样从网上下载或出外面买个软件装上去。这类操作系统多数直接嵌入在机器的芯片上,采用的是嵌入式处理器。它的优点是占用储存空间小、造价低、耗电量小,缺点是功能简单,而且用户没任何自由变通的余地。那么,开放式的操作系统又是怎样的呢?PC、笔记本电脑上的Windows大家都应该很熟悉了,它就是开放式的操作系统。开放式手机操作系统与之类似,允许用户随时装卸第三方软件,你可以从网上下载个支持该操作系统的软件装上去,还可以随时删除该系统里的任何软件。了解了操作系统的某些特点后,我们就来看看手机所采用的操作系统的种类和特征。当前智能手机主流操作系统有Symbian、Windows Mobile和Android等,大多数操作系统都声称其开放性,支持软硬件扩展,同时支持原有软件的移植,并提供丰富的源代码以方便开发商和第三方软件提供商的开发。目前使用Symbian操作系统的手机在全球手机占有率达50%以上,但是从短时间的出货量来看,几年7月的全球智能手机市场出货量报告中,苹果的手机系统占据了47%的份额,继续保持第一的位置,而紧跟其后的是Symbian手机,Android手机也上升到了7%。2.1.1 Symbian系统简介Symbian由摩托罗拉、西门子、诺基亚等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝芽、SyncML、以及3G技术。最重要的是它是一个标准化的开放式平台,任何人都可以为支持Symbian的设备开发软件。与微软产品不同的是,Symbian将移动设备的通用技术,也就是操作系统的内核,与图形用户界面技术分开,能很好的适应不同方式输入的平台,也可以使厂商可以为自己的产品制作更加友好的操作界面,符合个性化的潮流,这也是用户能见到不同样子的Symbian系统的主要原因。现在为这个平台开发的java程序已经开始在互联网上盛行。用户可以通过安装这些软件,扩展手机功能。Symbian OS对于硬件的要求比较低,支持C ,VB和J2ME语言环境。兼容性和扩展性尤为出色。目前的Symbian OS经过诺基亚公司的大力推广,已经十分成熟。从已经由S60,发展到S60 V2、S60 V3、S60 V5和UIQ。需要注意的是,并不是所有的Symbian系统都是智能系统,比如早期的S40系统,就不属于智能手机系统。值得一提的是在2008年前,使用Symbian OS的智能手机,都必须要给Symbian公司一定的授权费用,才能使用Symbian OS,但是随着苹果,谷歌等一系列的业界巨头加入到智能手机操作系统的领域中,诺基亚为了保持Symbian OS在智能手机市场上的领导地位,所以今年决定把Symbian公司其他成员的股份全部收购,使其变为自己的子公司,准备把Symbian OS免费授权,使更多的手机成产商能免费使用Symbian OS作为其智能手机的操作系统,使Symbian OS能继续保持自己在智能手机操作领域的领先优势。2.1.2 Windows Mobile 简介Windows Mobile系列操作系统是在微软计算机的Windows操作系统上变化而来的,因此,它们的操作界面非常相似,熟悉计算机Windows系列操作系统的朋友一看到Windows Mobile系列的操作系统就一般会认得它是出于微软之手。Windows Mobile系列操作系统具有功能更强大,多数具备了音频、视频文件播放、上网冲浪、MSN聊天、电子邮件收发等功能。而且,支持该操作系统的智能手机多数都采用了英特尔嵌入式处理器,主频比较高,另外,采用该操作系统的智能手机在其它硬件配置(如内存、储存卡容量等)上也较采用其它操作系统的智能手机要高出许多,因此性能比较强劲,操作起来速度会比较快。但是,此系列手机也有一定的缺点,如因配置高、功能多而产生耗电量大、电池续航时间短、硬件采用成本高等缺点。1. Windows Mobile 版本:Windows Mobile是微软为手持设备推出的“移动版Windows”,使用Windows Mobile操作系统的设备主要有PPC手机、PDA、随身音乐播放器等。Windows Mobile操作系统有三种,分别是Windows Mobile Standard、Windows Mobile Professional,Windows Mobile Classic。目前常用版本Windows Mobile 6.1,最新的版本是6.5。Windows Mobile操作系统目前已经推出到第六版,分为触摸屏和非触摸屏两大平台,而触摸屏又分为带有通讯功能和没有通讯功能的Professional(专业版)和Classic经典版。目前Professional版本的机型是最受关注的Windows Mobile操作系统手机,它们的共同特点是采用了尺寸较大的触摸屏幕。2. Windows Mobile的常见功能:Pocket PC&Pocket PC Phone|Pocket PC Phone系列 Today (类似 Symbian OS 的 Active Standby, 用来显示个人信息管理系统资料) Internet Explorer (和 PC 版 Internet Explorer 相似) Inbox (讯息中心,整合Outlook E-mail与简讯功能) Windows Media Player (和 PC 版 Windows Media Player 相似) File Explorer (和 PC 版 Windows Explorer 相似) MSN Messenger / Windows Live (和 PC 版 Msn Messenger 相似) Office Mobile (和 PC 版 Microsoft Office 相似, 有 Word, Powerpoint和 Excel,由厂方选配) ActiveSync (与PC连接并用於交换资料)接下来呢,我们就对Google的Android系统作一个最详细的介绍。2.2 Android手机操作系统详细介绍2.2.1 Android的由来Android一词的本义指“机器人”,2003年美国有一家以Android为名的小公司成立,开发手机平台。Google收购Android之后,于07年11月5日发布了开源的Android平台一款包括操作系统(基于Linux内核)、中间件和关键应用的手机平台,并组建了开放手机联盟(Open Handset Alliance),包括Google、中国移动、T-Mobile、宏达电、高通、摩托罗拉等领军企业。2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机T-Mobile G1。该款手机为宏达电制造,是世界上第一部使用Android操作系统的手机。Android手机系统的一个很大的优势在于其开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。2.2.2 Android的背景介绍Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序 移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了 Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的 30 多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。2.2.3 Android的特性介绍(1). 应用程序框架,支持组件的复用和更换 。(2). Dalvik 虚拟机8,专门为移动设备进行过优化。 (3). 集成的浏览器,基于开源的WebKit引擎 。(4). 优化的图形机制,自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选)。 (5). SQLite9,轻量级的数据库,支持结构化数据的存储。 (6). 媒体支持,面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)。 (7). GSM 技术,GSM:global system for mobile communications (依赖硬件支持) (8). Bluetooth, EDGE, 3G, and WiFi(依赖硬件支持) 。(9). Camera, GPS, compass, and accelerometer(依赖硬件支持) 。(10). Rich development environment,丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT)。2.2.4 Android的框架介绍一,Applications(应用)Android将预装一组核心应用程序10-11,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。二,Application Frameworks (应用框架) 上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构12-14设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。所有应用都是一组服务和系统,一般包含:(1) .一套丰富且可扩展的视图组件,含有lists, grids, text boxes, buttons, 甚至嵌入的网络浏览器 (2) .Content Providers(内容提供器) 使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用内部可以共享自身数据 (3) .Resource Manager(资源管理器),提供对非编码资源例如本地化字符串、图形和布局文件的访问通道 (4) .Notification Manager(通告管理器),使应用在状态栏显示自定义的警报通知。 (5) Activity Manager(行动管理器)负责管理应用的生命周期,提供通用导航回退支持 一个Andoid的应用程序可以利用应用程序框架中的以下几个部分: 1. Activity(活动)在 android 中,Activity15 拥有四种基本状态:(1) .Active/Runing一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。 (2) .Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。 (3) .Stoped 当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于 Stoped状态。 (4) .Killed Activity 被系统杀死回收或者没有被启动时处于 Killed状态。 当一个 Activity 实例被创建、销毁或者启动另外一个 Activity 时,它在这四种状态之间进行转换,这种转换的发生依赖于用户程序的动作。图 2-1. Activity 的状态转换如图2-2所示,Android 程序员可以决定一个 Activity 的“生”,但不能决定它的“死”,也就时说程序员可以启动一个 Activity,但是却不能手动的“结束”一个 Activity。当你调用 Activity.finish()方法时,结果和用户按下 BACK 键一样:告诉 Activity Manager 该 Activity 实例完成了相应的工作,可以被“回收”。随后 Activity Manager 激活处于栈第二层的 Activity 并重新入栈,同时原 Activity 被压入到栈的第二层,从 Active 状态转到 Paused 状态。例如:从 Activity1 中启动了 Activity2,则当前处于栈顶端的是 Activity2,第二层是 Activity1,当我们调用 Activity2.finish()方法时,Activity Manager 重新激活 Activity1 并入栈,Activity2 从 Active 状态转换 Stoped 状态,Activity1. onActivityResult(int requestCode, int resultCode, Intent data)方法被执行,Activity2 返回的数据通过data参数返回给 Activity1。(1).Activity 栈Android 是通过一种 Activity 栈的方式来管理 Activity 的,一个 Activity 的实例的状态决定它在栈中的位置。处于前台的 Activity 总是在栈的顶端,当前台的 Activity 因为异常或其它原因被销毁时,处于栈第二层的 Activity 将被激活,上浮到栈顶。当新的 Activity 启动入栈时,原 Activity 会被压入到栈的第二层。一个 Activity 在栈中的位置变化反映了它在不同状态间的转换。 图 2-2. Activity 的状态与它在栈中的位置关系如图2-3所示,除了最顶层即处在 Active 状态的 Activity 外,其它的 Activity 都有可能在系统内存不足时被回收,一个 Activity 的实例越是处在栈的底层,它被系统回收的可能性越大。系统负责管理栈中 Activity 的实例,它根据 Activity 所处的状态来改变其在栈中的位置。(2). Activity 生命周期在 android.app.Activity类中,Android 定义了一系列与生命周期相关的方法,在我们自己的 Activity 中,只是根据需要复写需要的方法,Java 的多态性会保证我们自己的方法被虚拟机调用,这一点与 J2ME 中的 MIDlet 类似。2. Broadcast Intent Receiver(广播意图接收者) Android广泛地使用广播Intent来广播系统事件,如电池充电变化,网络连接和来电。设定Intent的动作、数据和种类来使Broadcast Receiver11精确地决定它们的兴趣。在这里,Intent动作字符串用来标识要广播的事件,因此,它必须是独一无二的标识事件的字符串。习惯的,动作字符串使用Java包的样子来定义,如下面的片段所示:public static final String NEW_LIFEFORM_DETECTED =“com.paad.action.NEW_LIFEFORM”;如果你想在Intent中包含数据,你可以使用Intent的data属性来指定一个URI。你还可以包含extras来增加额外的本地类型值。考虑就事件驱动模型而言,这些extras包等价于事件处理函数的可选参数。下面的框架代码给出了一个广播的Intent的基本创建,使用之前定义的动作和一些以extras方法储存的额外的事件信息。Intent intent = new Intent(NEW_LIFEFORM_DETECTED);intent.putExtra(“lifeformName”, lifeformType);intent.putExtra(“longitude”, currentLongitude);intent.putExtra(“latitude”, currentLatitude);sendBroadcast(intent); Broadcast Receiver用于监听广播Intent。为了激活一个Broadcast Receiver,需要在代码或在程序manifest中注册。当注册一个Broadcast Receiver时,你必须使用Intent Filter来指定要监听哪个Intent。为了创建一个新的Broadcast Receiver,需要扩展BroadcastReceiver类,并重写onReceive事件处理函数,如下面的框架代码所示:import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;public class MyBroadcastReceiver extends BroadcastReceiver Overridepublic void onReceive(Context context, Intent intent) /TODO: React to the Intent received.当广播的Intent与注册的接收器的Intent Filter匹配时,onReceive方法会执行。onReceive处理函数必须在5秒内完成,否则应用程序无响应的对话框会显示。在Intent广播的时候,注册有Broadcast Receiver的应用程序不需要正在运行。它们在有匹配的广播Intent时自动启动。这对于资源管理来说,是极好的,因为它允许你创建可以被关闭或杀死的事件驱动应用程序,而此刻又以安全的方式对广播事件做出响应。典型的,Broadcast Receiver会更新内容、启动服务、更新Activity的UI或使用通知管理器来通知用户。5秒的执行限制确保了主进程不能,或者说不应该在Broadcast Receiver中直接结束。了在程序的manifest中包含一个Broadcast Receiver,通过在application节点增加一个receiver标签,并指定要注册的Broadcast Receiver的类名。receiver节点需要包含一个intent-filter标签来指定要监听的动作字符串,如下面的XML片段所示:Broadcast Receiver以这种方注册将总是处于活跃状态。你可以在代码中控制Broadcast Receiver的注册。这种做法的典型例子就是receiver用来在Activity中更新UI元素。一个好的习惯是当Activity不可见(或不活跃)时,反注册Broadcast Receiver。下面的代码片段显示了如何使用一个Intent Filter注册Broadcast Receiver:/ Create and register the broadcast receiver.IntentFilter filter = new IntentFilter(NEW_LIFEFORM_DETECTED);LifeformDetectedBroadcastReceiver r = new LifeformDetectedBroadcastReceiver();registerReceiver(r, filter);3. Service(服务) Service,看名字就知道跟正常理解的“服务”差不多,后台运行,可交互这样的一个东西。它跟Activity的级别差不多,但是他不能自己运行,需要通过某一个Activity或者其他Context对象来调用, Context.startService() 和 Context.bindService()。两种启动Service的方式有所不同。这里要说明一下的是如果你在Service的onCreate或者onStart做一些很耗时间的事情,最好在 Service里启动一个线程来完成,因为Service是跑在主线程中,会影响到你的UI操作或者阻塞主线程中的其他事情。什么时候需要Service呢?比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放,比如检测SD卡上文件的变化,再或者在后台记录你地理信息位置的改变等等,总之服务嘛,总是藏在后头的。Service的生命周期方法比Activity少一些,只有onCreate, onStart, onDestroy。我们有两种方式启动一个Service,他们对Service生命周期的影响是不一样的。1, 通过startService, Service会经历 onCreate - onStart,stopService的时候直接onDestroy,如果是调用者(TestServiceHolder)自己直接退出而没有调用stopService的话,Service会一直在后台运行。下次TestServiceHolder再起来可以stopService。2, 通过bindService, Service只会运行onCreate, 这个时候 TestServiceHolder 和TestService绑定在一起。TestServiceHolder 退出了,Srevice就会调用onUnbind-onDestroyed, 所谓绑定在一起就共存亡了。4. Content Provider(内容提供者)Android应用程序可以使用文件或SqlLite数据库来存储数据。Content Provider提供了一种多应用间数据共享的方式,比如:联系人信息可以被多个应用程序访问。Content Provider是个实现了一组用于提供其他应用程序存取数据的标准方法的类。应用程序可以在Content Provider中执行如下操作:添加数据,删除数据,修改数据,查询数据。三, Libraries (库)Android包含一套C/C+库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库:(1) .System C library- 衍生于BSD的标准C系统库(libc)实现(注:BSD:Berkeley Software Distribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。 (2) .Media Libraries- 媒体库基于PacketVideos OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和录制 (3) .Surface Manager- 管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层 (4) .LibWebCore- 是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件 (5) .SGL- 底层的2D图形引擎 (6) .3D libraries- 基于OpenGL ES 1.0 API的实现; 该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。 (7) .FreeType- 支持位图和矢量字体 (8) .SQLite- 能干、轻量级的关系型数据库引擎,面向所有应用 四,Android Runtime (Android运行时)Android的核心类库提供Java类库所提供的绝大部分功能.每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。 第三章 基于3G的移动教务系统概要设计上面我们对该系统所涉及的编程技术和相关的技术都做了一个详细的介绍,下来我们对这个系统的功能和结构进行最深入的剖析,首先我们来看看该系统的概要设计。3.1总体设计3.1.1 需求规定功能说明: 该系统主要是应广大师生对于3G教务信息的超高使用量,为满足广大师生快速方便查阅教务信息而开发的一款基于3G手机的移动教务系统。系统主要面向大学广大师生朋友,目标立于师生能够放表快捷的享受到访问教务信息的服务。我在小组的分工是教务系统的学生模块,所以接下来我会对该模块做详细的说明。3.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025银行竞聘党建试题及答案
- 2025教师入编试题及答案
- 2025中学教师综合试题及答案
- 2025福建宁德臻宸房地产开发有限公司招聘5人考试参考题库及答案解析
- 2025教师消防知识试题及答案
- 2025陕西咸阳市秦都区招聘社区专职工作人员230人备考考试题库附答案解析
- 2025下半年攀枝花市事业单位公开考试招聘工作人员(161人)备考考试题库附答案解析
- 2025年九江经开区弘瑞城市运营管理有限公司招聘工作人员考试参考试题及答案解析
- 2025年商业保密试题题库及答案
- 2025年浏阳初中数学真题及答案
- 供热通风与空调工程技术单选题100道及答案
- 大学英语四级词汇完整表(打印背诵版)
- 开封市第二届职业技能大赛健康和社会照护项目技术文件(世赛选拔项目)
- 建筑工地安全施工规范
- 2024至2030年全球及中国海洋休闲设备行业市场分析及投资建议报告
- 托育早教中心家长常见问题(百问百答)
- QFD质量功能展开的未来发展趋势
- 燃气行业数字化转型研究
- 超声引导下神经阻滞
- 围墙新建及改造工程施工组织设计(技术标)
- 房屋建筑学民用建筑构造概论
评论
0/150
提交评论