已阅读5页,还剩48页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
太原理工大学毕业设计(论文)任务书第1页毕业设计(论文)题目:基于Android的多功能便签的设计与实现全套设计加扣 3012250582毕业设计(论文)要求及原始数据(资料):1 综述Android原生便签的情况;2 深入了解Android便签所需的相关技术;3 熟练掌握基于Android的编程技术;4 设计并实现Android便签的功能性拓展;5 深入分析Android便签的关键技术与编写语言;6 训练检索文献资料和利用文献资料的能力;7 训练撰写技术文档与学位论文的能力第2页毕业设计(论文)主要内容:1 综述Android系统的历史发展2 了解当今Android系统的情况3 了解Android便签的相关技术4 熟悉Android的开发环境5 设计自己独有的Android便签6 深入分析Android便签中的关键技术与编写语言的设计流程7 熟悉掌握基于Android多功能便签的编写8 设计与实现Android便签的所有功能学生应交出的设计文件(论文):1内容完整、层次清晰、叙述流畅、排版规范的毕业设计论文;2包括毕业设计论文、源程序等内容在内的毕业设计电子文档及其它相关材料。 第3页主要参考文献(资料):1 黄志艳. 3G-Android手机平台应用开发研究J. 科技广场,2013,10:54-56.2 闫伟. 基于Android平台的手机地图服务系统的设计D.浙江师范大学,2012.3 李细文. 方便实用是智能家居行业发展基础J. 中国公共安全,2014,08:58-59.4 汤谷云,王修信. 过渡或渗透式程序设计教学法J. 电脑知识与技术,2014,11:2584-2587.5 李江,曹家庆,陈文生. 手机音乐播放器的设计与实现J. 信息通信,2013,09:128-129.6 赵爽怡. 安卓在新一代数字电视芯片上的移植技术研究D.华中科技大学,2013.7 李州云. 电路域安卓4.0可视电话的设计与实现D.西安电子科技大学,2013.8 李永杰. 基于Android移动学习平台的设计与实现D.电子科技大学,2013.9 甄志滨,田慕琴. 基于Android系统的私密心情记事的实现J. 现代工业经济和信息化,2014,08:69-71+90.10 舒泓新,阿斯哈尔. Android平台的维哈柯文本地化技术J. 电脑知识与技术,2012,06:1393-1396.11 李林. 基于Android系统的手机键盘驱动设计与实现D.西安电子科技大学,2012.12 陈煜. 基于Android系统的手机文件管理器的设计与实现D.西南交通大学,2012.13 王茜. Android嵌入式系统架构及内核浅析J. 电脑开发与应用,2011,04:59-61.14 王东东. 基于Hi3716C的Android机顶盒软件设计与实现D.天津大学,2012.15 刘刚. 基于MiniGUI的嵌入式浏览器的研究与开发D.华中科技大学,2004.16 李文龙,王灵莉. Android安全机制及应用软件安全性的研究J. 中国新技术新产品,2013,04:2-3.17 Anna A. Ledolter, Sophie A. Kramer, Margarita G. Todorova et al. The effect of filtering on the two-global-flash mfERG: identifying the optimal range of frequency for detecting glaucomatous retinal dysfunctionJ. Documenta Ophthalmologica, 2013, 126(2).18 Benjamin Davis Braaten. Modeling multiple printed antennas embedded in stratified uniaxial anisotropic dielectricsD. North Dakota State University, 2009.19 Morejon, Mario. Android Dream - How Googles Android Would-Could?-Stand Out From The Mobility PackJ. CRN,2008,1261:.专业班级软件1122班学生要求设计(论文)工作起止日期2015年3月23日2015年7月3日指导教师签字日期2015年3月23日教研室主任审查签字日期系主任批准签字日期 太原理工大学毕业设计(论文)用纸基于Android的多功能便签的设计与实现摘 要随着移动互联行业的迅速发展,特别是2007年之后智能手机的新兴,我们乐于使用手机处理日常事务,我们乐于使用手机来娱乐游戏,我们乐于使用手机来消磨时间,夸张点说,我们的生活已经离不开手机了。各种各样精美、方便的手机APP走进了我们的生活,我们的生活方式也因此而被改变。而在2014年度的手机系统调查中,Android系统所占的市场份额达到了惊人的81.5%。所以,本课题设计开发的是基于Android平台的手机多功能便签,在Eclipse开发环境下,使用Java语言编程,在便签的基本功能基础上,实现了一些个性化的功能。该便签可以改变背景颜色以标记不同事件,可以通过短信分享便签内容,可以设置闹钟及时提醒关键词:Android;多功能手机便签;Java; IDesign and Implementation ofMultifunctional noteBased on AndroidAbstractWith the rapid development of mobile Internet industry, especially after 2007 smartphone emerging, we are happy to use phone to deal with daily affairs, we are happy to use our mobile phones to play games for entertainment, we are happy to use mobile phones to kill time, exaggeration to say, our life has been inseparable from the mobile phone. A variety of exquisite, convenient mobile phone APP is coming into our life, our life style has changed. Survey of mobile phone system in the year 2014, Android market share reached a staggering 81.5%.Therefore, the subject of design and development is based on the Android platform mobile multifunctional note witch was in the eclipse development environment, using the Java programming language, based on basic functions, the realization of the function of some personalized to achieve some personalized functions. The notes can change the background color to mark different events, can share notes through text message, can set the alarm clock to remind.Key words: Android; Multifunctional Note; Java; II目录摘 要IAbstractII1 绪论11.1 目的与意义11.2 主要工作21.3 全文结构22 多功能便签系统分析32.1 系统的可行性分析32.1.1 经济可行性32.1.2 技术可行性32.1.3 操作可行性32.2 软件目标42.3 本章总结43 系统总体设计53.1 功能需求53.2 项目的总体设计63.2.1 设计思想63.2.2 系统流程63.2.3 系统模块功能74 开发平台与技术84.1 Android平台简介84.1.1 Android系统的基本架构94.1.2 Android应用程序结构114.1.3 Android四大组件114.2 Eclipse124.3 Android SDK134.4 Java134.5 Dalvik虚拟机144.6 Android开发环境的搭建144.6.1 所需工具144.6.2 安装步奏155 多功能便签的实现185.1 Android工程程序结构185.2 程序的工程结构185.2.1 src目录结构185.2.2 res目录结构205.2.3 AndroidManifest.xml文件215.3 系统实现215.3.1 主界面效果实现215.3.2 新建便签界面实现225.3.3 菜单栏235.3.4 新建文件夹245.3.5 设置闹钟265.3.6 备份数据275.3.7 还原数据295.3.8 设置密码315.3.9 便签的移入移出325.3.10 分享功能335.3.11 桌面插件346 系统测试366.1 模块测试366.1.1 主界面测试366.1.2 新建便签测试376.1.3 新建文件夹测试386.1.4 备份还原测试386.1.5 密码设置测试396.1.6 闹钟与分享功能396.2 性能测试406.2.1 大量数据读写测试406.2.1 数据反复读写测试407 总结417.1 完成的工作417.2 收获的知识42参考文献43致谢441 绪论1.1 目的与意义随着移动通信技术的迅猛发展,以及移动设备的日益智能化,在最近的十几年中,我们的生活发生了巨大的变化:通信工具由BP机发展到大哥大再到手机最终变成智能手机;移动信号由1G到4G。人们越来越享受“在路上”的感觉,而智能移动设备满足了他们生活在别处但沟通在手中的幻想。所以,我们越来越离不开手机,正是因为有这种需求,未来智能手机市场必定会更加繁荣。随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统。Android系统已经不仅仅是一款手机的操作系统,它越来越广泛的被应用于平板电脑、可佩戴设备、电视、数码相机等设备上,这也造就了目前Android开发人才需求的快速增长,从大趋势上看,Android软件人才的需求将越来越大。Android系统是基于Linux的智能操作系统,2007年11月,Google与84家硬件制造商、软件开发商及电信运营商组建开发手机联盟,共同研发改良Android系统1。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。也就是说Android系统是完整公开并且免费的,Android系统的快速发展,也与它的公开免费不无关系。可以说,Android系统的前景一片光明,现阶段的Android市场可谓百花齐放,正是因为Android的开源与开放,使得开发者得以自由的发挥自己的想象力与创造力,而Android的AppStore中得以上架一大批精致的功能齐全的应用。而手机的大量普及也是一个必不可少的因素,大量的App被下载、被转发,人们喜欢上了这种移动办公、移动娱乐的状态,因此,越来越多的人变成了“低头党”。便签在一款手机中,是必不可少的。你或许会认为便签在手机中是可有可无的,但是,当你走在路上脑袋中突然冒出一个绝妙的点子时,当你出门购物而没有东西罗列清单时,当你记下会议时间却没人提请时,你会需要这款便签的。本便签可以用于记录生活或者工作中自己要去做的重要事情,可以时时的提醒自己不要忘记,这样有助于我们有条理的做好生变的每一件事情。还可以任意的修改里边的内容,并且可以在不删除原文件的基础上追加内容。在完成后可以删除里面原有的信息,并且直接删除文件。这种便签软件方便我们记录生活中的点点滴滴。1.2 主要工作本课题主要介绍了Android系统的发展历程、系统架构,探讨了在Android平台上通过JAVA语言使用Eclipse开发一款多功能便签软件,该软件的主要功能有记事、提醒、备份、还原以及桌面插件,你还可以将便签内容分享给自己的朋友与家人。1.3 全文结构第一章,介绍了课题研究的目的及意义,国内外相关领域的研究及应用本文的主要工作。第二章,详细介绍了软件系统的分析设计,从可行性和需求出发,根据设计思想为系统的后续开发做准备。第三章,详细介绍了系统的中体设计,模块分组和系统流程。第四章,重点介绍了系统开发的方法和技术,为系统的实现做好基础工作。第五章,详细介绍了便签软件系统的详细设计及实现。其内容包括Android工程的程序结构、软件界面的实现与代码。第六章,对软件进行模块测试和功能测试,以验证其是否符合要求。第七章,对系统开发进行总结。2 多功能便签系统分析就目前而言,手机的功能日益多样化,各种手机系统花样繁多,目前市场上主流的系统为IOS、Android和WindowsPhone,而在2014年度的手机系统调查中,Android系统所占的市场份额达到了惊人的81.5%,而且Google的Android平台有着开源代码的优势,因此本课题致力于开发出一款基于Android手机平台的多功能便签,来满足用户的使用需求。2.1 系统的可行性分析2.1.1 经济可行性Android系统是由Google公司和开放手机联盟领导及开发的、基于Linux内核的自由一级开源的手机操作系统。开发的成本极低,只需要下载安装JDK以及谷歌的配套Android SDK即可在Eclipse上开发2。且Android系统经过数年的完善与补充功能越发强打,开发门槛越来越低3。2.1.2 技术可行性Android本身最大的特点就是开放,集合了移动应用的各种模块,而且可定制性强,有各种扩充的类库可以引用。Google通过OHA联合众多的厂商进行系统的研发,不断的更新着版本,将系统应用推广到更多的终端产品中,确保用户体验的持续改善。而MVC开发模式,可以使得开发过程变得更加清晰明了,各个模块间的耦合度将大大降低,减少了后期维护的成本2.1.3 操作可行性本系统采用的是Android框架,可以在eclipse工具中安装Android的开发插件,使用Genymotion虚拟机。Genymotion虚拟机和真正的Android手机没有太大区别,而人们对手机操作早就已经熟练不过。而开发所需的Java语言,是一种面向对象的程序设计语言,因为其面向对象的特性,所以理解起来也是十分容易的4。2.2 软件目标本系统属于用户常用的便签。可以方便用户平时对便签的操作。本系统应达到以下目标: 软件界面美观大方,操作灵活、方便、富有个性化5。能够对便签进行有效的管理。系统应该能够最大程度地实现易维护性和易操作性。尽可能的保证数据的安全性与完整性2.3 本章总结本章详细分析了Android便签在经济、技术和操作上的可行性,根据其低廉的成本、实用的技术、简单的操作得出本程序可行的结论,并且进一步的思考了程序的发展方向,确定了程序的目标。3 系统总体设计系统总体设计是一个项目实施的必要条件,我们接受的教育使我们习惯于在开始编程之前对其进行总体设计,计划好了各个模块的功能,设计好了系统的整个流程,我们才开始动手,这样的好处就是你可以站在全局的视角上观察整个程序,思考各个功能的实现与各模块之间的联系,很明确自己的项目进行到什么阶段。当你想好之后,你只需要将精力放在单个模块的实现上,给其他模块留出必要的接口就可以了,编程的效率会大大提升。3.1 功能需求本课题的具体功能如下主界面清单:多条记录以List的方式排列,使得使用者能够方便的查阅记录的事务;添加文件夹:创建文件夹,文件夹中可添加便签,可以方便的、有条理的管理不同类型的事务;便签的移入移出:可以单个或者批量的将便签移入或移出文件夹,方便用户管理便签设置密码:防止手机被盗而造成的数据泄露,可设置便签密码,能够在一定程度上保证便签的私密性;区分便签:使用者可以根据自己的习惯将事务使用不同的颜色区分,方便归类与处理;设置闹钟:可以将任意的便签设置成闹钟提醒,防止一些重要的事情被遗忘,减少事务的遗漏;分享便签:可以将任意便签通过短信或邮件分享给联系人桌面组件:可以在手机桌面添加2X2和4X4两种大小的AppWidget,方便快速的查看便签内容备份与还原:可以将便签备份到SD卡中,以防数据丢失,也可以将便签以XML或者TXT格式输出以及备份到PC端。3.2 项目的总体设计3.2.1 设计思想将系统分成几个相对独立的模块,开发时互不干扰,只需留下相应的接口,使得程序有较强的可操作性和扩展性模块如下:主界面,新建文件夹,新建便签,删除,备份数据,还原数据,TXT或XML文本输出,设置密码,桌面组件3.2.2 系统流程系统的流程是整个系统中最重要的部分之一,设计系统流程可以使你更加明确各个模块之间的关系,模拟用户的操作体验,你能更加清晰的了解到程序该如何运行,你对整个程序的把控力就会大大加强。本系统的流程如图3-1,当整个程序运行开始后,进入主界面,在主界面中你可以创建文件夹和便签、设置密码、对便签备份;在便签界面,你可以设置闹钟提醒、分享便签内容,当你编辑结束后,整个系统的流程就结束了。图3-1 系统流程图3.2.3 系统模块功能根据功能需求,我将系统分为如下模块:主界面,新建文件夹,新建便签,删除,备份,还原,导出,密码设置,桌面控件。如图3-2图3-2 系统模块功能图444 开发平台与技术本课题的多功能便签采用了基于Android开源系统的技术,用Java语言在Eclipse上进行开发,实现了新建文件夹,新建便签,删除,备份数据,还原数据,TXT或XML文本输出,设置密码,桌面组件等功能。在开发过程中涉及到Android、Eclipse、Java、Android SDK、虚拟机等相关的技术。4.1 Android平台简介Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发6。尚未有统一中文名称,中国大陆地区较多人使用“安卓”7。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%8。表4-1 Android版本列表版本号代号API发布时间Android Alpha无无2007.11前Android Beta无无2007.11.05Android 1.0Astro12008.09.23Android 1.1Bender22009.02.02Android 1.5Cupcake32009.04.17Android 1.6Donut42009.09.15Android 2.0Eclair5-62009.12.03Android 2.1Eclair72010.01.12Android 2.2Froyo82010.05.20Android 2.3Gingerbread9-102010.12.06Android 3.0Honeycomb112011.02.02Android 4.0Ice Cream Sandwich14-152011.10.19Android 4.1Jelly Bean162012.06.28Android 4.2Jelly Bean172012.10.29Android 4.3Jelly Bean182013.07.24Android 4.4KitKat192013.09.03Android 5.0Lollipop202014.06.254.1.1 Android系统的基本架构Android的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux内核层。图4-1 Android系统架构图应用程序层Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等9。所有的应用程序都是使用JAVA语言编写的。应用程序框架层开发人员也可以完全访问核心应用程序所使用的API框架10。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件11。隐藏在每个应用后面的是一系列的服务和系统, 其中包括:丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web浏览器12。内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据。资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件(Layout files )。通知管理器(Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息13。活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。系统运行库层Android 包含一些C/C+库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务14。以下是一些核心库:系统 C 库 - 一个从BSD继承来的标准C系统函数库 Libc ), 它是专门为基于Embedded linux的设备定制的。媒体库 - 基于PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图15。Linux内核层Android核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型16。Linux内核也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等。4.1.2 Android应用程序结构Android程序有一下几个目录构成:src目录是源代码目录,所有允许用户修改的java文件和用户自己添加的java文件都保存在这个目录中gen目录是1.5版本新增的目录,用来保存ADT自动生成的java文件,例如R.java或AIDL文件Android Library,这个事应用运行的Android库;android.jar文件是Android程序所能引用的函数库文件,Android通过平台所支持API都包含在这个文件中assets目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能被R.java文件索引。,所以只能以资截流的形式读取。一般情况下为空res目录,放置应用到的资源文件:drawable里面放置用到的图片资源;layout里面放置用到的布局文件,这些文件都是xml的;values里面放置字符串文件(strings.xml)、颜色文件(colors.xml)、数组文件(arrays.xml)AndroidManifest.xml,该文件是配置文件,在该文件中必须声明应用的名称,Activity,Service以及receiver,content provider4.1.3 Android四大组件Android系统有四大组件,每个组件是一个试图,其中Activity(活动)和Content Provider(内容提供者)是可见的,而Service(服务)和Broadcast intent Receiver(广播接收器)是不可见的。它们只在程序的后台运行。依靠能够激活其它组件的组件来实现通信。 Activity(活动) 活动是 Android 构造块中最基本的一种。每一个活动都是一个用户界面。一个应用程序的工作来形成一个整体的用户体验活动,但每一个都是独立于其他的。因此,不同的应用程序可以从这些活动中的任何一个开始。每个活动都会被实现在一个类,这个类继承于基类Activity。安卓的Activity类似于网站的html页面14。每个活动可以启动另一个活动以执行不同的动作。 Broadcast intent Receiver(广播接收器和意图)广播接收器负责接受针对在系统范围内的广播和响应广播传送的信息。一个广播接收机响应一个事件。这些广播可能来自安卓本身例如,当广播宣布屏幕已关闭时,表示电量低。应用程序也可以启动广播在一个应用程序中可以有任意数量的广播器在接收,每个广播接收机像广播接收器的一个子类得以实现。启动一个Activity后会进行进一步的交互和处理15。虽然广播接收器不显示用户界面,但有事发生时它们可以通过创建状态栏来提醒用户。Service(服务) 服务是安卓的一个组件,在后台运行来执行长时间的操作或执行远程操作且不提供用户界面,只运行在系统的后台16。一个活动可以连接或结合服务来运行。(如果服务没有运行,就会启动它)。当连接到服务时,活动可以通过与服务的接口进行沟通,使得服务程序暴露出来。像其他应用程序组件一样,服务组件总是在默认情况下的应用程序的主线程运行。因此对于执行密集或阻塞的操作服务时(可能减慢活动的性能),它通常是启动新线程内的服务。 Content Provider(内容提供者)内容提供者提供应用程序之间的数据共享机制。数据可以通过内容提供者和内容提供这的一个子类来实现访问在共享文件系统、SQLite数据库、或任何其他应用程序持久性存储的位置。它定义了支持的数据格式,提供了一套方法,用于让其它应用程序保存或读取内容提供者处理的数据信息。但是,应用程序不会立即调用这些方法,相反,它由一个命名为内容解析器的对象来调用这些方法。内容解析器可以与每一个内容提供者进行交流。内容解析器与内容提供者通过合作管理IPC(内部处理通信)来实现数据的共享。4.2 EclipseEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。虽然大多数用户很乐于将 Eclipse 当作 Java 集成开发环境(IDE)来使用,但 Eclipse 的目标却不仅限于此。Eclipse 还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于 Eclipse 中的每样东西都是插件,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。4.3 Android SDKAndroid SDK 指的是Android专属的软件开发工具包,它是被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。由一下两部分组成ADT(Android Development Tools):目前Android开发所用的开发工具是Eclipse,在Eclipse编译IDE环境中,安装ADT,为Android开发提供开发工具的升级或者变更,简单理解为在Eclipse下开发工具的升级下载工具。SDK(Software Development Kit):一般是一些被软件工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。在Android中,他为开发者提供了库文件以及其他开发所用到的工具。简单理解为开发工具包集合,是整体开发中所用到的工具包,如果你不用Eclipse作为你的开发工具,你就不需要下载ADT,只下载SDK即可开发。4.4 JavaJAVA语言是1995年由SUN公司开发的面向对象的新一代程序。JAVA的是在撰写 C+语言程序时遇到各种困难时产生的。该公司的目标是致力于把JAVA打造成具有简单的、面向对象的、分布式的、解释的、安全的、可移植的、高编写效能的、多线程的等多特性的程序语言。JAVA语言体现了新型开发思路的程序设计语言。Internet的发展使得JAVA语言也迅速被广泛的应用,JAVA语言是完全面向对象的语言,特别适合用来开发Internet应用软件是因为它在保留了C+语言的语句结构的同时去掉了指针、多继承、运算符重载等降低安全性、可靠性的元素。目前JAVA已然列入了主流的开发语言行列。它的特点如下:面向对象,它是完全面向对象使设计集中于对象及其对象之间的联系。在分布式环境下特别适用。分布式,JAVA是面向网络应用的语言,为了实现方便地与其他计算结点协同工作。通过它自己提供的类库和URL地址来访问网络上其他对象。健壮性,JAVA程序健壮性来源于它强类型机制、异常处理、垃圾的自动收集等。通知明智的放弃了对指针使用。安全性,为了避免了非法的内存操作而删除指针和释放内存的操作,实现通过类对内存的进行访问。可移植性,体系结构中立性造就了它的可移植性。此外,JAVA还严格规定了各个基本数据类型的长度。多线程,JAVA软件具有明显的交互性和实时响应能力体现在在它支持多线程。4.5 Dalvik虚拟机Dalvik是Google公司自己设计用于Android平台的Java虚拟机。Dalvik虚拟机是Google等厂商合作开发的Android移动设备平台的核心组成部分之一。它可以支持已转换为 .dex(即Dalvik Executable)格式的Java应用程序的运行,.dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。Dalvik 经过优化,允许在有限的内存中同时运行多个虚拟机的实例,并且每一个Dalvik 应用作为一个独立的Linux 进程执行。独立的进程可以防止在虚拟机崩溃的时候所有程序都被关闭。4.6 Android开发环境的搭建Android开发环境的搭建是整个项目的第一步也是最基本的一步,因为没有开发环境,应用是无法在PC端被实现的,下面就来具体介绍Android开发环境的搭建。4.6.1 所需工具操作系统:Windows 7工具:JDK、Eclipse、Android SDK4.6.2 安装步奏安装JDK下载jdk1.6.0_30,安装安装完成后,配置环境变量JAVA_HOME:C:Program FilesJavajdk1.7.0_40;CLASS_PATH: .;%JAVA_HOME%/lib;PATH:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar;配置完成后,打开CMD,输入java version显示一些Java版本信心则表示安装成功图4-2 Java信息在Eclipse中导入Android SDK导入ADT打开Eclipse,在菜单栏上选择 HelpInstall new SoftWare,点击add图4-3 导入ADT导入SDK打开Eclipse,在菜单栏上选择 WindowPreferencesAndroid图4-4 导入SDK安装虚拟机出于对程序运行速度的考虑,我没有使用AVD而是自己下载了一个第三方的虚拟机Genymotion图4-5 虚拟手机界面5 多功能便签的实现5.1 Android工程程序结构Android工程的基本结构目录包括:编写源代码的src 、工程运行时Android系统自动生成的常量gen、和用来存放程序界面的布局配置(.xml)文件和图片资源的资源文件Res。表5-1 Android资源类型目录结构资源类型res/animXML动画文件res/drawable图片文件res/layoutXML布局文件res/valuesXML资源文件res/xml任意XML问件res/raw直接拷贝而不需编译的原生文件res/menuXML菜单文件5.2 程序的工程结构本课题的代码结构如图5-1所示图5-1 便签代码结构5.2.1 src目录结构src文件夹的目录结构如图5-2所示,其中:activity中存放的java文件程序的所有activity,与用户产生交互的就是这一部分adapter中存放的是自定义的加载器,用来在ListVIew中显示自定义的列表Item,以及一些自定义的操作逻辑alarm中存放的是闹钟模块的java文件,用来实现提醒功能database中存放的是数据库代码,实现数据存储与调用的功能log中的java文件是自定义的log类,用来在Logcat中监测功能是否实现widget中存放的java文件用于实现桌面插件的功能xml_txt中的代码用于实现将xml文件转化成txt格式输出图5-2 src目录结构5.2.2 res目录结构res的目录结构如图5-3所示,其中:drawable中存放的是程序所需的各种图片文件,以及自定义的XML文件layout中存放的是布局文件raw中没有存放文件values中存放的colors文件是XML颜色文件strings文件是XML字符串文件dimens文件是XML尺寸文件styles文件是XML样式文件xml中存放的是widget2X2和4X4的布局文件图5-3 res目录结构5.2.3 AndroidManifest.xml文件AndroidManifest文件是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置。 除了能声明程序中的Activities, ContentProviders, Services, 和Intent Receivers,还能指定permissions和instrumentation(安全控制和测试)任意一个的Android系统的程序启动都要靠AndroidManifest.xml文件来启动程序,每次新建好一个的工程,在其目录都会自动生成一个AndroidManifest.xml文件,这个配置文件为程序能够正常运行提供了保证,是整个工程的核心部分,它里面包括了Android SDK的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的在AndroidManifest.xml文件中找出正确的标识从而作出相应的操作。5.3 系统实现5.3.1 主界面效果实现用户在启动APP后,进入便签的主界面,titlebar上是“我的便签”,下面以List形式列出所有的便签,点击右上角的“+”号可进入新建便签的界面。如图5-4。图5-4 便签主界面5.3.2 新建便签界面实现进入新建便签界面后,标题栏变成了日期,而右上角的“+”变成了一个ImageView点击后可选择背景颜色,标题栏之下的部分为编辑界面,用户可在此输入便签内容,退出该界面后,便签自动保存。如图5-5所示 图5-5 新建便签界面核心源码如下public void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);/ 取消标题栏requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.note_detail);/ 得到由前一个Activity传递过来的Intent对象intent = getIntent();/ 如果没有传递Intent对象,则返回主页(MainActivity)if (intent.equals(null) startActivity(new Intent(NoteActivity.this, MainActivity.class);/ 取得Open_Type的值,判断是新建便签还是更新便签openType = intent.getStringExtra(Open_Type);MyLog.d(MainActivity.TAG, NoteActivity= + String.valueOf(openType);/ 被编辑的便签的ID_id = intent.getIntExtra(NoteItems._ID, -1);MyLog.d(MainActivity.TAG, NoteActivity=被编辑的便签的id: + _id);/ 得到文件夹的ID(如果从文件夹页面内新建或编辑便签则要求传递文件夹的ID)folderId = intent.getIntExtra(FolderId, -1);MyLog.d(MainActivity.TAG, NoteActivity=要操作的文件夹的 id : + folderId);/ 在AlarmReceiver中定义if (intent.getIntExtra(alarm, -1) = 3080905) / 显示提醒noteAlarm(_id);initViews();5.3.3 菜单栏主界面菜单栏为一个3X2的界面,有新建便签功能、新建文件夹功能、将便签移入文件夹功能、删除功能、输出TXT文本功能,点击更多还有备份数据功能、还原功能、设置密码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 铁岭市卫生健康委直属事业单位招聘真题2024
- 中卫市沙坡头区法院书记员招聘笔试真题2025
- 蛟河市法院书记员招聘笔试真题2025
- 2025年大庆市公益性岗位招聘真题
- 2025至2030中国直接热票行业项目调研及市场前景预测评估报告
- 2025-2030中国漂洗助剂原料价格波动对行业影响深度分析
- 2025至2030中国数据中心基础设施解决方案(DCIS)行业项目调研及市场前景预测评估报告
- 2025至2030抗菌素行业市场深度研究与战略咨询分析报告
- 2025-2030中国生物标记物筛选技术临床应用与市场机会分析报告
- 2025至2030中国FEVE涂料行业项目调研及市场前景预测评估报告
- 手术室质量控制与管理
- (2025年标准)晚辅协议书
- 玫瑰痤疮个案护理
- 木质素化学改性-第1篇-洞察及研究
- 二十四节气讲座
- 社会情感学习本土化-洞察及研究
- 南京市社区工作者招聘笔试真题2024
- 手术病理标本管理课件
- 2025至2030个人生活小家电行业市场发展前景及供给需求与投资机会报告
- 鼻炎诊疗指导培训课件
- 国企员工违法违纪案件警示教育心得体会
评论
0/150
提交评论