【Android论文栏目提醒】:网学会员Android论文为您提供Android手机界面管理系统论文 - 毕业设计参考,解决您在Android手机界面管理系统论文 - 毕业设计学习中工作中的难题,参考学习。
摘 要 随着科技的不断发展计算机与软件的进步新一代的移动终端用户针对应用软件的可操作性以及软件操作的舒适性等方面提出了更高的要求。
除期望所用的软件拥有强大的功能外更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。
这表明友好的手机界面设计已经成为手机应用开发的一个重要组成部分。
而手机界面在手机应用软件中占用了大量的开发时间提高手机界面的开发效率无疑是提高整个手机应用软件开发效率非常有效的手段。
本文研究了Google与开放手机联盟合作开发的
Android手机平台的用户界面管理系统。
通过该系统开发人员可以使用拖拽的方式生成自己需要的图形用户界面并将生成的界面保存成XML格式的文件。
系统还支持打开一个已完成的XML界面程序读取界面信息并在PC机上显示界面。
针对界面中的每一个组件以图形界面的方式将组件的属性显示出来以方便不熟悉
Android界面语言的美工或UI设计师对界面进行修改完善。
如果用户不满意在PC机端通过图片单纯模拟
Android操作系统窗口组件的显示效果可以将最终生成的XML界面程序发送至
Android手机或Amdroid模拟器端通过Anhid应用程序对其进行解析将界面显示出来。
该系统分为界面在PC机上的开发和界面在
Android模拟器端显示两个部分。
界面在PC机上的开发部分是基于MVC设计模式的总体框架设计的该模块基本上是由界面组件、界面控制、组件属性和界面显示四个部分组成。
界面组件和界面控制相当于MVC中的Model组件属性和界面显示相当于MVC中的View系统中负责组件和界面显示之间各种监听相当于MVC中的Con仃ol。
界面在
Android模拟器端显示模块实现了
Android应用程序中的XML界面程序在
Android模拟器上的显示。
该模块将通过XML界面文件创建界面组件通过解析XML资源文件为适配器提供信息然后通过
Android框架结构预定好的调用机制将适配器中的信息填充到界面组件中。
本文通过
Android手机界面管理系统的介绍希望能为今后开发类似的功能更强大的界面管理系统提供有益的借鉴。
关键字用户界面AndroidXML解析可视化操作 I 1 第一章 绪论 1.1本文的研究背景和意义 1.1.1 研究背景 随着科技的不断发展手机的功能越来越强大手机系统的相关软件应运而生手机设计的人性化已不仅仅局限于硬件的外观手机的软件系统已成为用户直接操作和应用的主体它应该以美观实用、操作便捷为用户所青睐。
因此用户界面设计的规范性显得尤为重要。
由于受传统观念的影响很长一段时间里手机界面的设计一直不为软件开发人员所重视认为这纯粹是为了取悦用户而进行的低级活动没有任何实用价值而评价一个应用软件质量高低的唯一标准就是看它是否具有强大的功能能否顺利的帮助用户完成他们的任务。
近年来随着嵌入式硬件技术的迅猛发展手持设备的存储容量、运行速度和可靠性等技术性能指标有了显著的提高手持设备硬件的生产成本却大幅度下跌手持设备日益普及。
新一代的移动终端用户在应用软件的可操作性以及软件操作的舒适性等方面对应用软件提出了更高的要求除期望所用的软件拥有强大的功能外更期望应用软件能尽可能的为他们提供一个轻松、愉快、感觉良好的操作环境。
这表明手机界面的质量已成为一个重要问题友好的手机界面设计已经成为手机应用开发的一个重要组成部分。
112意义 如上所述手机界面对于手机应用软件有很重要的作用。
而手机界面在手机应用软件中占用了大量的开发时间提高手机界面的开发效率无疑是提高整个手机应用软件开发效率非常有效的手段。
因此需要通过专门的技术为开发者提供可视化的手段来开发用户界面。
随着人们对用户体验要求的不断提高要设计出受用户喜爱的界面仅靠开发人员是不够的可能还会请专门的美工或UI设计师对界面做修改。
而这些专门的美工或UI设计师可能对手机界面程序并不熟悉。
这样开发一个基于可视化的手机界面管理系统使不熟悉界面语言的美工或Ul设计师也能对界面进行修改完善可以减少他们与开发人员的沟通时间减少开发人员开发界面的工作量。
因此开发一个基于可视化的手机界面管理系统势在必行。
其系统总的设计思想是以组成界面的元素为对象用构件的形式加以描述组织并提供一个可视化的生成环境使开发人员能快速的进行界面设计使美工或UI设计师能方便的对界面进行修改完善。
2 12文章结构与本人所做工作 第一章主要是对本文的研究背景和意义做介绍提出本文要解决的问题第二章介绍了课题相关技术与理论主要包括
Android手机操作系统、XML解析技术及JaVa Swing与MVC设计模式第三章介绍系统的需求描述并且在此基础上给出系统的设计目标和总体框架第四章详细讲解了系统每一个模块的具体设计并结合系统框架图和流程图对系统加以分析在第五章中结合具体系统演示图讲解系统的应用。
第六章也是文章的最后一章对本文做了总结。
在系统的开发过程中本人主要完成了以下工作 ◆完成系统的需求分析和功能设计文档 ◆参与界面在PC机上的开发模块的设计完成该模块的编码实现。
◆独立完成界面在
Android模拟器上的显示模块的设计和编码实现。
13本章小结 本章对本文的研究背景和意义做介绍提出本文要解决的问题和本文的理论 和实践所具有的贡献。
3 第二章课题相关技术与理论 21
Android手机操作系统 211
Android简介 1
Android介绍
Android一词的本义指“机器人quot同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称该平台由操作系统、中间件、用户界面和应用软件组成号称是首个为移动终端打造的真正开放和完整的移动软件。
Android包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件而且不存在任何以往阻碍移动产业创新的专有权障碍。
Google与开放手机联合作开发了
Android这个联盟由包括中国移动、摩托罗拉、高通、宏达电和T-Mobile在内的30多家技术和无线应用的领军企业组成。
Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系希望借助建立标准化、开放式的移动电话软件平台在移动产业内形成一个开放式的生态系统。
Android作为谷歌企业战略的重要组成部分将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。
谷歌的目标是让移动通讯不依赖于设备甚至平台。
出于这个目的
Android将补充而不会替代谷歌长期以来奉行的移动发展战略一通过与全球各地的手机制造商和移动运营商结成合作伙伴开发既有用又有吸引力的移动服务并推广这些产品。
2
Android的未来发展 对于消费者来说Google手机将是一款通用的、功能强大的、设备完整的手机产品。
与iPone相似
Android采用Webkit浏览器引擎具备触摸屏、高级图形显示和上网功能用户能够在手机上查看电子邮件、搜索网址和观看视频节目等比iPhone等其他手机更强调搜索功能界面更强大可以说是一种融入全部web应用的单一平台。
但其最震撼人心之处在于
Android手机系统的开放性和服务免费。
Android是一个对第三方软件完全开放的平台开发者在为其开发程序时拥有更大的自由度突破了iPhone等只能添加为数不多的固定软件的枷锁。
同时与WindowsM0bne、Symbian等厂商不同
Android操作系统免费向开发人员提供这样可节省近三成成本。
Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。
4 2.1.2
Android用户界面 因为本文讲解的系统主要是对
Android手机XML界面程序文件的管理所以下面简单介绍一下
Android的用户界面 1 关键类 在一个
Android应用中用户界面是由View和ViewGroup对象构建的。
View与ViewGroup都有很多种类。
View对象是
Android平台中用户界面体现的基础单位。
View类是它称为“WidgetSwing”的子类的基础它们提供了诸如文本输入框和按钮之类的UI对象的完整实现。
vicwGroup类同样为其被称为“Layouts布局quot的子类奠定了基础它们提供了像流式布局、表格布局以及相对布局之类的布局架构。
View对象是一个数据体它的属性存储了用于屏幕上一块矩形区域的布局参数及内容并负责这个矩形区域之中的所有测量、布局、焦点转换、卷动以及按键/触摸手势的处理。
作为一个用户界面对象View同时也担任着用户交互关键点以及交互事件接受者的角色。
2视图层次 在
Android平台上你可以用图21所示的View和ViewGroup层次图来定 义一个Actvity的UI。
这个层次树可随你所愿的简单或者复杂化。
为了把一个视图层次树展现到屏幕上你的Actity必须调用setContentVieW方法并传给它一个根节点对象的引用。
Android系统将接受此引用并用来进行界面的废止、测量并绘制这棵树。
层次的根结点会要求它的子节点进行自我绘制而且每个视图组节点也负责调用它的子视图进行自我绘制。
子节点将向父节点申请绘制的位置以及大小而其父类享有子节点绘制的位置及大小的最终决定权。
Android依次自层次树顶层开始解析你布局中的元素实例化View并将它们添加到它们的父节点中。
因为这个过程是依次进行的所以如果出现了元素重叠的情况最后一个绘制的元素将位于所有重叠元素之上显现。
图2—1 View和yiewGroup层次图 ViewGroup View ViewGroup View View View View 5 3布局 定义并展现你的视图层次的最常用的方法是使用XML布局文件。
如同HTML一样XML为布局提供了一种可读的结构。
XML中的每个元素都View 或ViewGroup对象或者是它们的子类。
View对象是树的叶节点而ViewGroup对象是树的分支。
表2—1一个筒单的
Android手机界面文件 ltXML version”1.0”encoding”utf-8”gt ltLinearLayout XMLns:androidhttp://schemas.
android.com/apk/res/
android android:layout_width”fin_parent”
android:layout_heigth”fin_parent”
android:orientation”vertical”gt ltTextView
android:id”id/text”
android:layout_width”wrap_content”
android:layout_height”wrap_content”
android:text”HenoI am TextView”/gt ltButton
android:id”id/button”
android:layout_width”wrap_content”
android:layout_width”wrap_content”
android:text”HenoI am a Button”/gt lt/LinearLayoutgt XML元素的名称与它体现的Java类相对应。
所以一个ltTextViewgt元素将在你的UI中生成一个TextView而ltLinearLayoutgt则创建一个“LinearLayout视图组。
当你载入一个布局资源时
Android系统会根据布局中的元素初始化这些运 行时对象。
举例来说一个包含文本视图和一个按钮的简单垂直布局如表21所示。
请注意LinearLayout元素包含了Textview和Button对象。
你可以在其中另外安置一个LinearLayout或其它类型的视图组以延展这个视图层次构建更复杂的布局。
可以用Java代码来绘制view和ViewGroup对象并用addViewnew方法动态的插入新的View和Viewmup对象。
有相当多的方法来对视图进行布局。
使用大量不同种类的视图组可以有近乎无穷的方式来构建子视图和视图组。
Android提供了一些预定义的视图组其中包括LinearLayout、RelatiVeLayout、AbsoluteLayout、TableLayout、GridLayout等。
每个都为定义子视图和布局结构提供了一套独特的布局参数。
6 4组件 组件是为用户交互界面提供服务的视图对象。
Android提供了一套完整的组件实现包括按钮、复选框、文本输入框等。
Android还提供了一些更高级的组件比如日期选择、时钟以及缩放控制。
如果想创建一些定制动作元素可以通过定义自己的视图对象或者扩展或合并现有的组件实现。
5用户界面事件 使用户界面中的视图和工具与用户交互进而实现动作如欲获得用户界面事件通知有如下两种实现方式。
第一种实现方式定义一个事件侦听器并将其注册至视图。
通常情况下这是侦听事件的主要方式。
view类包含了许多命名类似OnLIstener的接口每个接口都有一个On的回调方法。
比如ViewOnClickListener用于处理视图中的点击、ViewOnTouchListener用于处理视图中的触屏事件、ViewOnKeyListener用于处理视图中的设备按键事件等等。
如果希望视图在被“点击”比如选择了一个按钮的时候获得通知需要实现OnClickListener接口定义其0nClick回调方法并在其中进行相应处理并将它用secOnclickListener方法注册到视图上。
第二种实现方式为视图覆写一个现有的回调方法。
这种方法主要用于你自己实现了一个View类并想侦听其上发生的特定事件。
比如说当屏幕被触摸onTouchEvent当轨迹球发生了移动onTrackbanEvent或者是设备上的按键被按下onKeyDown。
这种方式为定制的视图中发生的每个事件定义默认的行为并决定是否需要将事件传递给其它的子视图。
6菜单 应用程序菜单是应用程序用户界面中另外一个重要的组成部分。
菜单为展现应用程序功能和设置提供了一个可靠的界面。
按下设备上的Menu键会调出最普通的应用程序菜单也可以加入当用户长按一个项目时调出的上下文菜单。
菜单也是用视图层次进行构架的但不必自己定义这个架构。
只要为Activty定义onCreateOptionsMenu和0nCreatcContextMenu回调方法并声明想要包含在菜单中的项目即可。
Android将为菜单自动创建视图层次并在其中绘入菜单项。
菜单会自行处理它们的事件所以不必为菜单中的项目注册事件侦听器。
当菜单中的一项被选定时框架将自动调用onOptionsItemSelected或 0nConteItemSelected方法。
如同应用程序布局一样也可以在一个XML文件中定义菜单中的项目。
7适配器Adapter 如果要用一些无法硬编码的信息来填充视图组比如将源于外部的数据绑定到视图中。
为达到这个目的可以使用AdapterView作为视图组并用通过Adapter传递的数据初始化每个子视图并填入其中。
适配器Adapter类在
Android框架中扮演转接器的角色其主要用途是改变界面。
界面相当于纯粹的抽象类别Pure Abstract Class适合在框架中定义。
Adapter组件让框架里的抽象类别能诞生Adapter应用类别的组件来实现定义框架的新界面。
Android中提供了大量的适配器Adapter常见的有BascAdapter、 SimpleCursorAdapter、CursorAdapter等等其中包含CurSor可以自动和数据库 关联。
一般在ListView中我们需要定义一些显示的内容需要用到继承Adapter 实现窗口的子类化。
7 一般我们需要重写Adapter类的四个方法即可分别是public int getCount、 public object getItemint postion、public long getItemIdint position和publicView getViewint positionView convertViewViewGroup parent调用时仍然是在ListView或ListActivity时中直接setadapterCustomAdpter即可比较典型的方法 参考
Android的自带控件Ganery的实现详细的在API Demo中查找即可。
213
Android模拟器
Android SDK自带一个移动设备模拟器它是一个可以运行在电脑上的虚拟设备。
Android模拟器可以让你不需使用物理设备即可预览、开发和测试
Android应用程序。
Android模拟器能够模拟除了接听和拨打电话外的所有移动设备上的典型功能和行为。
Android模拟器提供了大量的导航和控制键你可以通过鼠标或键盘点击这些按键来为你的应用程序产生事件。
同时它还有一个屏幕用于显示捌d自带应用程序和你自己的应用程序。
为了便于模拟和测试应用程序
Android模拟器允许应用程序通过
Android平台服务调用其他程序、访问网络、播放音频和视频、保存和接收数据、通知用户、渲染图像过渡和场景。
Android模拟器同样具有强大的调试能力例如能够记录内核输出的控制台、模拟程序中断比如接收短信或打入电话、模拟数据通道中的延时效果和遗失。
214
Android资源
Android 资源系统能跟踪所有非代码相关的应用程序。
你可以使用资源类来访问应用程序的资源资源的实例通常和应用程序联系在一起你可以通过Context.getResources来访问。
Andoroid 支持字符串图片以及很多其他类型的资源。
通常情况下可以通过三种类型的文件来创建赘源XML文件除位图以及原数据文件位图文件对于图片以及原始数据其它类型例如声音文件等等。
事实上有两种不同类型的XML文件一种是编译到包里的另外一种是通过aapt来产生的资源文件 这里有一张包含所有资源类型、文件格式、文件描述以及所有XML文件的详细信息的列表。
在项目里你可以在子目录res/创建和存储资源文件。
Android有一个资源编译工具aapt它可以编译在这个目录下所有的子目录中的资源表22为
Android中各种资源的列表。
你可以从资源引用这里看到各种类型的对象包含其语法以及格式。
表2—2
Android中各种资源的列表 8 路径 资源类型 Res/anim/ XML文件被编译进逐帧动画或补间动画的对象。
Res/drawable/ .png .jpg 等这些类型的文件被编译进图标资源列表 Res/layout/ 可编译成屏幕布局的XML文件或者屏幕的一部分 Res/values/ 可编译成多种类型资源的文件文件可以被命名为任何名字文件夹里有一些典型的文件一般约定文件以定义的元素类型后面部分为文件名 Arrays.XML 定义数组 Clors.XML 定义颜色和颜色字符数值 Dimens.XML 定义尺寸数据 Strings.XML 定义字符串数值 Styles.XML 定义类型对象 Res/XML/ 任何XML 文件可以进行编译并能在运行时调用Resources.getXML显示XML原文件 Res/raw/ 这里的任何文件都将直接被复制到设备上。
编译产品是这些数据不会被编译它们被直接加入到程序包里。
2.1.5
Android系统架构
Android的系统架构和其操作系统一样采用了分层的架构。
如图23所示
Android分为五个部分分别是应用程序Application、应用程序框架 Application Framework、程序库Libraries、
Android运行环境
Android Runtime、linux核心Linux Kernel。
开发人员也可以完全访问核心应用程序所使用的API框架。
该应用程序的架构设计简化了组件的重用任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块不过得遵循框架的安全性限制。
同样该应用程序重用机制也使用户可以方便的替换程序组件。
1应用程序Application
Android平台将预置一些核心应用程序包括Eman客户端、短消息程序、日历、地图、浏览器、通讯录等等。
所有的这些程序都是用Java开发的。
2应用程序框架Application Framework 应用程序标准接口实际上就是开发者在开发程序时需要调用的一些接口开发者开发的程序可以与核心应用程序一样平等地使用框架的API。
应用程序框架是为了要建好组件的重新利用而设计的它被设计成易于重用的组件使任何应用程序都可以发布它的库或包并且其它的应用也可以使用其发布的库或包但是要受限于架构的安全限制。
使用者也可以用同样的机制来新增、替换 9 Androld的组件。
目前所有的应用程序都是由服务Services和系统Systems组成包括如下几个方面: 1丰富而又可扩展的视图Views System可以用来构建应用程序它包括在开发系统界面时常用的列表lists、网格grids、文本框text boxes、按钮buttons以及嵌入式的web浏览器等。
2 内容提供器Content Provides使得应用程序可以访问另一个应用程序的 数据如联系人数据库 或者共享它们自己的数据。
3资源管理器Resource Mamager提供各种非代码资源的访问如本地字符串、图形或布局文件1ayout fnes。
4通知管理器Notification Manager用程序可以在状态栏中显示自定义的提示信息。
5活动管理器Activity Manager用程序生命周期并提供常用的导航回退功能。
6窗口管理器Window Manager管理启动的窗口程式。
7位置管理器Location Manager用来管理地图服务的相关功能。
8电话管理器Telephony Manager用来管理有关用户拨打或接听电话的 相关功能。
9包管理器Package Manager管理所有安装在
Android系统内的程序。
3函式库Libraries
Android包含一些CC这些库能被Amdroid系统中不同的组件使用。
它们通过
Android应用程序框架为开发者提供服务。
1系统C库一个从BSD继承来的标准C系统函数库1ibc它是专门为基于embedded linux的设备定制的。
2媒体库基于Packetvideo OpenCor.