智能终端软件开发设计报告.docx
- 文档编号:7734449
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:15
- 大小:1.67MB
智能终端软件开发设计报告.docx
《智能终端软件开发设计报告.docx》由会员分享,可在线阅读,更多相关《智能终端软件开发设计报告.docx(15页珍藏版)》请在冰豆网上搜索。
智能终端软件开发设计报告
智能终端软件开发设计报告
题目:
Android手机团购
小组成员:
李俊邱波
中国地质大学(武汉)信息工程学院
2013年12月
1.项目概述
智能手机现在已经全方位的扎入到我们的生活,而智能手机的操作系统—Android目前市场占有率很高,安卓操作系统的操作简单,代码开源使得安卓迅速成为现在主流,代码开放后,对于安卓软件的开发就没有了限制,用户可以用到广泛的免费软件。
Android的系统架构和其他操作系统一样,采用了分层的架构,分为四层,从高层向底层分别是应用程序层,应用程序框架层,系统运行库层和Linux核心层。
随着移动端的购物软件快速发展,淘宝移动客户端,京东商城移动客户端成为人们购物的常用工具。
在安卓软件市场,移动购物软件同游戏软件以及其他类型的软件在质量,数量都存在较大差距。
这次我们做的团购软件就是仿照美团,利用大众点评的API数据开发的,能够查看到全国100多个城市的团购项目,也能看到你当前位置周围的团购项目。
并且才用分页加载数据的方式,每次批量获取一定量的数据,这样大大的节约了流量,而对于图片的获取采用异步加载的方式,即先从服务器端获取图片,保存在本地的软引用中,再显示出来。
2.技术介绍
2.1.Android简介
Android本意指“机器人”,最初由现任Google工程副总裁的安迪·罗宾(Andy
Rubin),创建于2003年,2005年被Google收购。
2007年11月5日基于Linux内核的软件平台和操作系统由Google正式发布,开启了
一个新手机系统辉煌时代的开始。
同时Google联合了34家厂商并成立了“开放手机联盟”,开启了Android发展的最初标准和加盟支持原则。
2008年9月23日,Android初步发布SDK1.0。
第一款机型DreamG1的诞生(Android1.0时代)在2009年10月23日。
不被市场认可--G1和G2逐渐被市场接受(Android1.5时代)HTCHeroG3广受欢迎,成为最受欢迎的机型(Android1.6时代)众多厂商加盟支持,机型越来越多,市场反应和占有率越来越高,同时伴随着Market出现爆发式增长。
然后支持蓝牙2.1、多点触控(Android2.0时代),支持动态桌面(Android2.1时代),支持在线视频Flash播放、网络共享功能,加入了Just-In-Time(JIT)功能较大提升了运行速度(Android2.2时代)内置NFCReader功能、强化游戏性(Android2.3时代),专门针对平板电脑进行优化的Android3.0版(Android进入真正意义上的平板电脑时代)陆续上市。
2.2.Android平台特征
1.支持组件的重用与替换。
意味着我们可以把系统中不喜欢的应用程序换掉,安装我们自己喜欢的程序。
2.Dalvik虚拟机专门为移动设备做了优化。
将class文件通过DX工具转换成后缀为.dex的文件来执。
Dalvik虚拟机基于寄存器,比java虚拟机快。
3.内部集成浏览器基于开源的WebKit引擎。
4.优化的2D和3D图形库。
5.SQLite数据库,用于结构话的数据存储。
6.支持各种多媒体格式:
MPEG4、H.264、MP3、AAC、AMR、JPG、PNG、GIF,
7.GSM电话—全球通。
8.蓝牙、Wifi(无线局域网)、EDGE(GSM到3G的过渡)。
9.照相机、GPS、指南针和加速度计。
10.丰富的开发环境包括设备模拟器,调式工具,内存及性能分析表和Eclipse集成开发环境插件。
Google提供了Android开发包SDK,其中包含大量的类库和开发工具。
2.3.Android平台架构
Android操作系统结构分为4层,由上到下一次是应用程序、应用程序框架、核心类库和Linux内核。
1.应用程序:
Android连同一个核心应用程序抱一起发布,改应用程序包包括E-mail客户端。
SMS短消息程序、日历、地图、浏览器、联系人管理应用程序等。
2.开发者完全可以访问核心应用程序所使用的API框架。
该应用程序框架用来简化组件软件的重用,任何一个应用程序度可以发布它的功能并且任何其他应用程序度可以使用其所发布的功能块。
应用程序都是由一系列的服务和系统组成包括:
一个可扩展的视图(Views)、内容管理器(ContentProviders)、资源管理器(ResourceManager)、通知管理器(NotificationManager)、活动类管理器(ActivityManager)。
3.Android程序库通过Android应用程序框架为开发者提供服务主要核心库包括:
系统C库、媒体库、SufaceManager、LibWebCore、SGL、3Dlibraries、FreeType、SQLite。
4.Android运行库包括一个核心库,提供java编程语言核心库的大多数功能。
5.Linux内核:
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议、和驱动模型。
2.4.数据解析方式介绍
在移动端的开发中,最主要的两种数据解析方式为JSON解析和XML解析。
相比XML解析,JSON解析方式更加简单,而且从服务器端传递的数据量更少,从而更加省流量。
在Android应用框架中为我们提供了JSON库,JSON库中主要包括以下两个JSON解析库。
1.JSONObject
用于把对象型的JSON数据转化为JSONObject对象,然后使用get系列方法获取对象属性的数据。
其中最常用的方法为getString,即获取数据并存为字符串,这样处理也是为了适应Web应用的特点。
除此之外,我们也经常使用getJSONArray和getJSONObject方法,它们的存在是为了处理复合型的JSON数据,分别用于获取数组型和对象型的属性值。
2.JSONArray
用于把数组型的JSON数据转化成JSONArray对象,该类所提供方法和JSONObject类基本相同,只不过其中的get系列方法的参数都是整型(int),代表的是数组型的位置索引。
在Android平台上对XML的解析常常使用SimpleAPIforXML(SAX)、DocumentObjectModel(DOM)和Android附带的pull解析这三种方式。
SAX是一个解析速度快并且占用内存少的xml解析器,非常适合用于Android等移动设备。
SAX解析XML文件采用的是事件驱动,也就是说,它并不需要解析完整个文档,在按内容顺序解析文档的过程中,SAX会判断当前读到的字符是否合法XML语法中的某部分,如果符合就会触发事件。
所谓事件,其实就是一些回调(callback)方法,这些方法(事件)定义在ContentHandler接口。
DOM解析XML文件时,会将XML文件的所有内容读取到内存中,然后允许您使用DOMAPI遍历XML树、检索所需的数据。
使用DOM操作XML的代码看起来比较直观,并且,在某些方面比基于SAX的实现更加简单。
但是,因为DOM需要将XML文件的所有内容读取到内存中,所以内存的消耗比较大,特别对于运行Android的移动设备来说,因为设备的资源比较宝贵,所以建议还是采用SAX来解析XML文件,当然,如果XML文件的内容比较小采用DOM是可行的。
Pull解析器的运行方式与SAX解析器相似。
它提供了类似的事件,如:
开始元素和结束元素事件,使用parser.next()可以进入下一个元素并触发相应事件。
事件将作为数值代码被发送,因此可以使用一个switch对感兴趣的事件进行处理。
当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型元素的值。
2.5.Event控制用户行为
在Android系统中,所有的UI控件的动作都是通过事件监听器Listener来控制的;而UI控件的基类View视图类为我们提供了一系列设置事件监听器的方法,来为不同的UI控件设置对应的监听器;下面是几个比较常用的方法。
1.setOnClickListener(View.OnClickListenerl)方法
此方法用于设置控件被点击时触发事件的监听器。
在我们的软件中,就大量使用了这个方法。
另外,该监听器需要程序实现的抽象方法onClick(Viewv),参数只有一个,就是被点击的控件对象。
2.setOnFocusChangeListener(View.OnFocusChangeListenerl)方法
此方法用于设置控件焦点变化时触发事件的监听器。
当选中控件焦点变化的时候将触发
OnFocusChangeListener监听器中的程序逻辑,该监听器需要程序实现的抽象方法为onFocusChange(Viewv,BooleanhasFocus),两个参数分别是控件对象本身和是否聚焦的状态值。
3.setOnKeyListener(View.OnKeyListenerl)方法
此方法用于设置按键触发事件的监听器。
当选中控件同时按下键盘的时候将触发
OnKeyListener监听器中的程序逻辑,该监听器需要程序实现的抽象方法为onKey(Viewv,intkeyCode,KeyEventevent),三个参数分别是按键时控件选中的控件对象,按键的码值,以及按键事件。
当然,Activity类本身已经包含了捕捉按键动作的onKeyDown方法;另外,OnKeyListener只能监听硬键盘事件,而我们却可以通过TextWatcher类来同时监听软键盘和硬键盘的响应。
4.setOnLongClickListener(View.OnLongClickListenerl)方法
此方法用于设置长时间按下控件时触发事件的监听器,用法和setOnClickListener方法基本相同。
5.setOnTouchListener(View.OnTouchListenerl)方法
此方法用于设置触屏事件的监听器。
对于目前流行的移动设备来说,都是匹配触摸屏的,
所以触屏事件的运用范围非常的广泛;另外,对于触屏设备来说,几乎所有的操作都是通过触屏来实现的,也包括之前提到的点击,按键等操作。
触屏事件监听器类(OnTouchListener)中需要程序实现的抽象方法为onTouch(Viewv,MotionEventevent),两个参数分别为触屏的视图控件和MotionEvent动作事件。
在使用的时候,我们可以使用MotionEvent对象的getAction方法来获取事件手势进行相应的处理,实例代码如下:
OnTouchListenermTouchListener=newOnTouchListener(){
@Override
publicbooleanonTouch(Viewv,MotionEventevent){
switch(event.getAction()){
caseMotionEvent.ACTION_DOWN:
//按下手势触发逻辑
......
break;
caseMotionEvent.ACTION_MOVE:
//拖动手势触发逻辑
......
break;
caseMotionEvent.ACTION_UP:
//松开手势触发逻辑
......
break;
}
returntrue;
}
};
3.软件的系统架构
软件在启动后,首先进入欢迎界面,延迟3秒后,进入主界面,软件主要有四大模块,全城团购,附近的团购,用户的登录与注册,以及软件的其他信息。
具体架构图如图所示:
4.界面框架实现
软件的简单操作流程
1.启动软件后,进入欢迎界面,如图4—1所示:
图4-1
2.在欢迎界面中停留3秒钟后。
进入主界面,如图4-2所示:
图4-2
3.在团购中,可以自己选择城市,在城市显示界面中,提供搜索功能,还可以点击右
边的索引项,效果和手机通讯录差不多,界面如图4-3所示:
、
图4-3
4.点击团购中的搜索,进入搜素界面,在搜索界面中可以进行关键字搜索,也可以选择热门搜索,效果如图4-4所示:
图4-4
5.在团购界面中,也可以选择团购种类,大的种类下面还有小的种类,效果如图4-5
所示:
图4-5
6.在团购界面中,也可以对团购进行排序,软件提供了四种排序,效果如图4-6所示:
图4-7
7.在团购界面,可以选中一条团购,显示其具体信息,效果如图4-8所示:
4-8
8.在附近团购中,效果基本上团购界面相同,只是在附近团购中,提供了选择团购与用户的位置距离,如图4-9所示:
9.在我的界面中,主要是用户的登录与注册,数据都存在本地,效果图就不一一展示了,在更多界面中,主要是软件的信息。
5.设计总结
在这次开发中,我们的收获还是很多的,初次接触Android开发,在最开始时,由于对
Android环境不熟悉,走了很多弯路。
后来熟悉后,我对Android的开发产生了浓厚的兴趣,在这个过程中也学会了许多知识,例如:
自定义控件,从服务器端到客户端数据解析的方式,异步加载数据等,我觉得我还可以进一步对Android系统经行研究,了解其内部机制,还可以学习在Android上进行NDK开发,学习怎样客户端优化,例如:
避免内存泄露,优化图片,数据库缓存等。
在开发过程中,我们也存在很多不足的地方,没有服务器端的开发,而大众点评提供的API接口不足,许多功能就不实现,例如:
关联个人账户,进行团购,提交订单等。
另外,界面不美观,也是一个重要的问题,而且,对软件的性能没有进行优化,许多地方值得改进。
6.参考文献
[1]李兴华.Java开发实战经典(名师讲坛)[M].北京:
清华大学出版社,2009
[2]NicolasGramlich,张劲锋.Android编程入门教程andbook中文版[M].北京.人民邮电出版社,2010
[3]吴亚峰,索依娜.Android核心技术与实例详解[M].北京:
电子工业出版社,2010
[4]RogersCadenhead,LauraLemay.21天学通Java2[M].北京.人民邮电出版社,2004
[5]张海藩.软件工程导论[M].北京:
清华大学出版社,2003
[6]李钟尉,周小彤,陈丹丹.Java从入门到精通(第2版)[M].北京:
清华大学出版社,2010
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 终端 软件 开发 设计 报告