目录
论文总页数:35页
1绪论.............................................................3
1.1课题背景.........罗成原型 ..............................................3
1.2相关技术的发展现状.............................................4
1.2.1手机操作系统的发展现状......................................4
1.3手机操作系统的发展现状........................................5
d的架构分析................................................6
2.1Android特征..................................................6
2.2Android架构..................................................7
2.2.1关键应用程序...............................................7
2.2.2应用程序框架...............................................7
2.2.3系统运行库.................................................7
2.3Android应用的构成和工作机制..................................8
2.4Android与其他手机操作系统的比较.............................9
2.5本章小结....................................................10
3系统的总体框架..................................................10
3.1系统需求分析.................................................10
3.2系统主要功能描述.............................................11
3.2.1客户端登陆注册...........................................11
3.2.2系统主要功能描述.........................................12
3.2.3订单功能..................................................13
3.2.4留言评价功能..............................................13
3.2.5服务器管理功能...........................................14
3.3系统流程....文艺女生头像 ..................................................15
3.4系统框架......................................................16
4详细设计与实现..................................................17
4.1详细设计......................................................17
4.1.1详细设计....................................................17
4.1.2后台实现....................................................18
4.2系统实现......................................................19
4.2.1用户首页的实现过程........................................18
4.2.2用户注册的实现过程........................................18
4.2.3用户登录的实现过程........................................19
4.2.4用户搜索的实现过程........................................20
4.2.5用户浏览的实现过程........................................21
4.2.6用户购买的实现过程........................................21
4.2.7数据库连接的实现...........................................22
4.2.8后台的实现.................................................23
5.总结和展望.....................................................24
6Android手机前景................................................31
7结束语..........................................................35
8参考文献........................................................35
基于ANDROID的手机商城
学生姓名xx指导教师xx
内容提要:随着移动通信与Internet的飞速发展及相互融合,GPRS使无线网络高速接入到Internet
成为现实,移动用户从而可以享受到Internet提供的服务。这样,移动终端不再仅是通
讯网络的终端,还将成为互联网的终端。本文首先给出了系统研究背景,对当前手机操
作系统发展做了简单的介绍。进而详细的分析了android的特征、架构、以及android
应用的构成和工作机制,并对android于其他手机操作系统进行了比较,说明了android
在手机操作系统中的优势。本系统主要用于对手机上网用户,在线浏览该网站,用户管
理员可以对商品信息进行增删改查等功能,用户可以在该网站注册,注册后的用户还可
以商品进行购买以及评价。使用该系统很大的提高了用户购买能力。
关键词:Android、JSP、eclip、myeclip-6.5、tomcat、开源、服务器、移动客户端、手机
商城。
Summary:Withe
wirelessnetworkspeedinternetaccesstomobileurstobecomeareality,sowecanenjoy
,themobileterminalnotonlyacommunicationsnetworkterminal,
sttostudythebackgroundtothecurrentsystem,
edetailedanalys
thecharacteristics,aschemaabouttheandroid,abouttheandroidapplicationformsand
mechanisms,andonabouttheandroidontheotheroperatingsystem,mobilephonehas
stemismainlyudfor
onlinebrowsingtheinternetursofmobilephones,website,theadministratorcanbeon
informationtolookforfunctionsaddanddelete,urscan,aftertheregistrationofurscan
systemisverymuchimprovedtheurto
buy.
Keyword:Android、JSP、eclip、myeclip-6.5、tomcat、Opensource、therver、amobileclient、
mobilephonesshoppingcenter.
1.绪论
1.1课题背景
随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,
WindowsMobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个
开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用
户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互
联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年
11月推出了一个专为移动设备设计的软件平台——Android。
Android是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关
键的平台应用。Android是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开
发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,
还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。
根据中国互联网信息中心(CNNIC)发布的《第22次中国互联网络发展状况统计报告》显示,
截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,
其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。
1.2相关技术的发展现状
1.2.1手机操作系统的发展现状
PalmOS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用
的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Plam在
其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加
入第三方软件或硬件设备来实现。其代表性的产品有Palmm505、Palmm500、PalmIII等。
Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适
合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML法学实习报告 以及3G技术。
Windowsmobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows
mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理
器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要
高出许多,因此性能比较强劲,速度比较快。Windowsmobile系列操作系统包括SmartPhone以及
PocketPCPhone两种平台。PocketPCPhone主要用于掌上电脑型的智能手机,而SmartPhone则
主要为手上智能手机提供操作系统。
Linux系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放
自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富
第三方的应用。但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC
的连接性比较差等。
1.3论文组织结构
本文首先分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状和即时
通讯协议,以及本文的主要内容。
第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对
Android与其它手机操作系统进行了比较,说明了Android的优势。
第三章,详细论述了在Android平台上开发小小手机商城系统,提出了系统的主要功能,系统的
总体业务描述和架构设计。
第四章,介绍了系统的设计特点,着重论述了账户操作的工作流程。
第五章,给出本文的结论并对课题进行了进一步的展望。
d的架构分析
Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key
Apps、Middleware、LinuxKernel四个部分在内的全套手机软件方案。它开放了基于Linux内核以
上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一
套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程
序调用。
2.1Android特征
应用框架:用于开发可重用、可替代的组件。
Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保
证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。
内嵌浏览器:基于开源的浏览器网页排版引擎WebKit。
优化的图形:强大的自定义二维图形库。基于OpenGLES1.0标准的3D图形功能,在移动3D
开发中有着至关重要的地位。
SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设
计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功
能等。
多媒体支持:支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。OpenCore
是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实
现的。通过OpenCore,程序员可以方便快速的开发出想要的多媒体应用程序。
GSM技术:(依赖硬件)GlobalSystemforMobileCommunications,全球通讯系统,俗称“全
球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让
用户使用一部手机就能行遍全球。
蓝牙,EDGE,3GandWiFi:(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距
离内可以实现话音和数据的无线传输。EDGE(EnhancedDataRateforGSMEvolution),是增强型数
据速率GSM演进技术。
Cameram,GPS,compass,andaccelerometer:(依赖硬件)GPS(GlobalPositioningSystem),即
全球定位系统。它是由一个由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源码的Java
搜索引擎框架。
强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及EclipIDE的开
发插件。Eclip是个集成开放环境。
2.2Android架构
Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构
成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行的。
图2-1Android架构
2.2.1.关键应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程
序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
2.2.2.应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件
的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的
功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序
组件。
隐藏在每个应用后面的是一系列的服务和系统,其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(lists),网格(grids),
文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。
内容提供器(ContentProviders)使得应用程序可以访问另一个应用程笔记本哪个牌子好 序的数据(如联系人数据
库),或者共享它们自己的数据
资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,和布局文件
(layoutfiles)。
通知管理器(NotificationManager)使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航回退功能。
2.2.3.系统运行库
2.2.3.1程序库
Android包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过Android应
用程序框架为开发者提供服务。以下是一些核心库:
系统C库-一个从BSD继承来的标准C系统函数库(libc),它是专门为基于embedded
linux的设备定制的。
媒体库-基于PacketVideoOpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时
支持静态图像文件。编码格式包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。
SurfaceManager-对显示子系统的管理,并且为多个应用程序提供了2D和3D图层的无缝融
合。
LibWebCore-一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。
SGL-底层的2D图形引擎
3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使
用高度优化的3D软加速。
FreeType-位图(bitmap)和矢量(vector)字体显示。
SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。
2.2.3.1运行库
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik
被设计成一个设备可以同时高效地运行多个虚拟系统。Dalvik虚拟机执行(.dex)的Dalvik可执行
文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA
编译器编译,然后通过SDK中的"dx"工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于
linux内核的一些功能,比如线程机制和底层内存管理机制。
内核
Android的核心系统服务依赖于Linux2.6内核,如安全性、内存管理、进程管理、网络协议
和驱动模型。Linux内核也同时作为硬件和软件栈之间的抽象层。
2.3Android应用的构成和工作机制
Android应用程序来说,是由Activity、IntentReceiver、Service、ContentProvider四部
分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在
配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。
Android应用的构成和工作流程图如下:
图2-2Android的构成和工作流程
2.4Android与其他手机操作系统的比较
我们主要从手机操作系统的Portablity、Reliability、Connectivity、ProductDiversity、
OpenPlatform、KernalSize、Standards、Security和SpecialFeatures这九个方面进行了比较,
具体的比较结果如下表:
对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得
到的评分结果是Android8.5分、Windowsmobile5.5分、Symbian6.5分。Android基于开源的Linux
以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进
行开发,其开源和免费政策将赢得不少手机制造商的支持。而且在其平台上集成了不少优秀的开源
工程,如Webkit、OpenGL等,相信在不久,将会有更多的优秀工程加入到Android中来。相比其他
手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也
将会越来越强大。
2.5本章小结
本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对
于Android应用程序来说,主要由Activity、Service、IntentReceiver和ContentProvider
四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要
的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。
最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。
3.系统的总体框架
3.1系统需求分析
本系统主要用于对手机上网用户,在线浏览该网站,用户管理员可以对商品信息进行增删改查
等功能,用户可以在该网站注册,注册后的用户还可以商品进行购买以及评价。使用该系统很大的
提高了用户购买能力.具体实现目标如下:
(1)手机上网用户可以进行浏览网站所有商品。
(2)手机上网用户可以进行所需商品的查询。
(3)手机上网用户可以对喜欢的商品进行购买但必须进行注册网站会员才可以进行购买。
(4)手机上网用户进行网站会员的注册,然后进入用户主界面进行对商品选购,还可以对网站进
行留言评价。
(5)商品管理模块,详细记录了产品种类、名称、价格等信息,并根据需求及时更新商品信息。
3.2系统主要功能概述
本系统主要实现功能:客户端登陆注册、浏览功能、订单功能、留言评价功能、服务器管理功
能。
该系统的架构如图3-2-1所示
手机
手机
手机
手机
通信链路
服务器
无线访问点
无线访问点
通信链路
3.2.1客户端登陆注册
客户端登陆注册功能:注册手机商城的会员可以进行登录进入该用户的主界面。
手机主界面
登录注册
注册界面登录界面
验证验证
NO
YES
有用户的主界面
YES
NO
图3-2-2客户端登陆注册流程图
图3-2-3客户端登陆注册用例图
3.2.2浏览功能
浏览功能:对网站所有的商品进行浏览操作。
手机主界面
手机电脑照相机其他
图3-2-4浏览功能的流程图
图3-2-5浏览功能的用例图
3.2.3订单功能
订单功能:注册手机商城的会员可以进行登陆,然后对所选商品进行购买,下订单。
手机主界面
商品浏览
订单
用户登录状态
NO
YES
接受订单
图3-2-6订单功能的流程图
图3-2-7订单功能的用例图
3.2.4留言评价功能
留言评价功能:手机商城的注册用户可以在登录自己的用户主界面后对商品进行评价。
用户登陆的主界面
选定商品
手机主界面
用户登陆
判定
进入商品界面
评价
评价成功
判定
YES
评价失败
NO
NO
YES
图3-2-8留言评价流程图
图3-2-9留言评价用例图
3.2.5服务器管理功能
服务器管理功能:手机商城的网站管理员登录到后台数据库可以对商品信息进行查询,修改,
增加以及删除。例如节假日要对商品进行促销的修改价格。
管理员登录
数据库管理
查询修改
增加删除
数据库
图3-2-10服务管理流程图
图3-2-11服务管理用例图
3.3系统流程
用户在浏览网站时首先看到的就是网站首页。在首页用户可以快速浏览最新商品,了解热门商
品和推荐商品,也可以搜索已知的商品查看具体信息。用户如果想要购买商品时必须要注册成为会
员,在用户查看完商品的详细作息后,可以把自己想要购买的商品放入购物车当中,也可以随时修
改、删除购物车里的商品,如果用户对购物车里的商品都很满意,可以去下订单。这时相关的程序
模块会将用户所提交的所有信息都记录在数据里以便于商城的管理人员可以核对信息并在收款后准
备发货,发货成功并且用户确认收到货物时整个购物过程便结束了。在电子商城的后台管理方面还
需要添加、修改、删除商品,同时要对商品进行分类,订单的处理等都需要电子商城的管理人员来
操作。
为了更加清晰地表达系统的业务功能模块,画出流程图,对于不同的角色,所承担的任务各自
不同,流程不一样,包括客户端流程(如图3-3-1所示)和服务端流程(如图3-3-2所示)。
手机主界面
登录注册
注册界面登录界面
验证验证
NO
YES
有用户的主界面
YES
NO
图3-3-1客户端流程图
管理员登录
数据库管理
查询修改
增加删除
数据库
会员管理
图3-3-2服务端流程图
3.4系统框架
后台管理
会
员
管
理
商
品
管
理
订
单
管
理
删
除
添
加
查
找
添
加
删
除
图3-3-1后台管理框图
用户
登
录
注
册
浏
览
商
品
查
找
商
品
订
购
商
品
评
价
商
品
图3-3-2客户端框图
4.详细设计与实现
4.1.详细设计
4.1.1前台实现
根据客户需求分析,小小手机商城的前台主要包括:搜索,登录,注册,商品浏览,商品购买,
留言评价等功能模块。前台流程如下图4-1-1:
手机主界面
登录注册
注册界面登录界面
验证验证
NO
YES
有用户的主界面
YES
NO
搜索浏览商品购买
留言评价
图4-1-1前台实现流程图
4.1.2后台实现
小小手机商城的后台主要是三个模块组成,分别是:会员管理,购买信息的管理和商品信息的
管理(包括数据的查询,修改,增加,删除)。后台流程如下图4-1-2:
管理员登录
数据库管理
查询修改增加删除
数据库
会员管理
购买信息的管
理
图4-1-2后台实现流程图
4.2系统实现
4.2.1用户首页的实现过程
手机用户登录的前台首页,用户可以掌握最新网站商品信息,还可以实现搜索,浏览等功能。
前台首页运行结果如图4-2-1所示:
图4-2-1前台首页运行界面
4.2.2用户注册的实现过程
用户注册也就是收集、记录用户详细信息的一个过程,程序将用户的注册信息写入到了
phoneurinfo表里。
用户注册页面运行结果如图4-2-2所示:
图4-2-2用户注册页面运行界面
4.2.3用户登录的实现过程
用户经过注册成为网站会员,登录后可以进行购买,留言评价等功能。
用户登录页面运行结果如图4-2-3所示:
图4-2-3用户登录页面运行界面
4.2.4用户搜索的实现过程
用户在经过对网站商品信息的了解,根据个人喜好对商品进行筛选,例如用户对手机中sony
品牌较为喜爱,可以在搜索框中键入sony,网站将所有sony的所有商品显示,用户可以继续进行
后续操作。
用户搜索页面运行结果如图4-2-4所示:
图4-2-4用户搜索页面运行界面
4.2.5用户浏览的实现过程
用户在登录首页后,可以查看商品信息。
用户浏览页面运行结果如图4-2-5所示:
图4-2-5用户浏览页面运行界面
4.2.6用户购买的实现过程
用户在浏览商品时想要进行商品的订购可以点击购买按钮,进入购买页面,填写购买信息,商
品名称和商品个数必填,用户留言可以为空。用户留言将与其他购买信息写入buyinfo表,后台管
理将根据表中信息对商品进行调整,如某些商品在长时间没有订购,可以对商品作下架处理。
用户购买页面运行结果如图4-2-6,4-2-7所示:
图4-2-6-1用户购买页面运行界面
图4-2-6-2用户购买页面运行界面
4.2.7数据库连接的实现
publicclassDBHelper{
publicstaticConnectiongetDBConnection()throws
ClassNotFoundException,
SQLException{
ResourceBundlebundle=ResourceBundl孕妇吃黑芝麻 e
.getBundle("ig");
StringdriverClass=ing("driverClass");
Stringurid=ing("urid");
Stringpassword=ing("password");
Stringurl=ing("url");
//1.加载驱动程序
e("");
//2.获得数据库连接
Connectionconn=
nection("jdbc:mysql://localhost/android","root","123
");
returnconn;
}
}
4.2.8后台实现
管理员可以进入MySQL,在连接pei中的android数据库中,进行修改。以实现对会员信息管
理,购买信息的管理,商品信息的增加,删除,修改,查询。
商品信息的管理如下图4-2-8-1,对表productinfo修改,修改字段内容以实现功能。
图4-2-8-1商品信息管理
会员信息的糖尿病的原因 管理如下图4-2-8-2,对表phoneurinfo修改,完善会员信息,以及删除非法会
员。
图4-2-8-2会员信息管理
购买信息的管理如下图4-2-8-3,对表buyinfo修改,管理员对购买信息进行统计,以方便对
商品的管理。
图4-2-8-3购买信息管理
5.1总结和展望
在此次项目中我担任Struts2框架技术支持和手机客户端的设计。
(1)在android的手机客户端。具体代码流程为定义一个了Button类btnGO,从界面中取出按键
将btnGO实例化,创建一个Uri的链接到服务器端,用到的技术就是手机浏览器WebKit。Android
应用端开始链接服务器端,将服务器端的页面信息通过手机客户端的WebView显示在Android手机
界面上。以下是主要的实现代码:
publicvoidonCreate(BundlesavedInstanceState){
te(savedInstanceState);
tContentView();
btnGO=(Button)findViewById();
lickListener(kListener(){
@Override
publicvoidonClick(Viewv){
Uriurl=Uri
.par("192.168.2.143:8620/Struts2Test/");
Intentintent=newIntent(_VIEW,url);
startActivity(intent);
}
});
}
}
(2)为了解决网络的延迟问题,我们可以使用线程把手机客户端程序继续完善,采用了线程后可以
解决网络的延迟,应答迟缓的现象,以下是用线程实现的核心代码:
publicclassWebViewDemoextendsActivity{
/**Calledwhentheactivityisfirstcreated.*/
@Override
publicvoidonCreate(Bundleicicle){
te(icicle);
tContentView();
webView1=newWebView(this);
webView1
.loadData(
"
CanIfocus?cannot!.",
"text/html","utf-8");
tentView(webView1);
("DownloadFaild_=>"+ack());
webView=newWebView(this);
l("192.168.2.143:8620/Struts2Test/");
newThread(newWebDownloadListener(this)).start();
}
WebViewwebView1;
classWebDownloadListenerimplementsRunnable,DownloadListener{
WebViewDemowd;
WebDownloadListener(WebViewDemowd){
=wd;
}
//使用线程代码:
publicvoidrun(){
intj=0;
StringBuffersb=newStringBuffer();
("正在连接网络");
while(true){
try{
(4*1000);
j++;
(".");
webView1=newWebView(wd);
l("192.168.2.143:8620/Struts2Test/");
Messagemsg=Message();
ssage(msg);
}catch(Throwablee){
(ng());
tackTrace();
}
if(j==3){
webView1=null;
Messagemsg=Message();
ssage(msg);
break;
}
}
}
publicvoidonDownloadFailed(Stringarg0,intarg1){
("DownloadFaild_=>"+arg0);
}
publicvoidonDownloadFinished(Stringarg0){
("DownloadFinished=>"+arg0);
tContentView(webView);
}
publicvoidonDownloadStart(Stringarg0,Stringarg1,longarg2,
Messagearg3,Messagearg4){
("DownloadFaild_=>"+arg0);
}
publicvoidonDownloadSuspended(Stringarg0,Messagearg1){
("DownloadFaild_=>"+arg0);
}
}
HandlermHandler=newHandler(){
@Override
publicvoidhandleMessage(Messagemsg){
Message(msg);
//invalidate();
if(webView1==null)
tContentView(webView);
el
tContentView(webView1);
}
};
WebViewwebView=null;}
(3)在这个项目中,我们项目组主要采用了MVC的设计模式,MVC英文即Model-View-Controller
视图(View)与用户交互的界面,对于Web应用系统来说,可以是HTML页面、JSP、XML和Applet等。
控制(Controller)接收用户请求,根据用户不同请求去调用不同模型,再根据调用的不同结果跳转
到响应的视图,它是应用系统的CUP,是调度中心。模型(Model)它是业务逻辑层,是业务逻辑处理
的核心。这么来设计就是为了把表示层和下面的业务逻辑层和数据持久层分开。这么可以使层次更
加分明,使得分工更加明确。大部分用过程语言比如ASP、PHP开发出来的Web应用,初始的开发模板
就是混合层的数据编程。例如,直接向数据库发送请求并用HTML显示,开发速度往往比较快,但由
于数据页面的分离不是很直接,因而很难体现出业务模型的样子或者模型的重用性。产品设计弹性
力度很小,很难满足用户的变化性需求。MVC要求对应用分层,虽然要花费额外的工作,但产品的结
构清晰,产品的应用通过模型可以得到更好地体现。下面我们可以用图表看一下他们具体之间的关
系:
而且struts2框架技术就是很好的实现MVC的设计模式的一种,在我们项目的中的搜索模块中就
采用了这种模式,下面我来详细地说明我们是怎么样实现的。
(4)首先我们来看VIEW(视图)的东西,在这里我们主要用JSP来开发界面,下面搜索页面的核
心代码:
请输入要查信息(如手机型号):
(5)从手机客户端加载的信息通过Controller(在这里就是文件)进行判断,通过判
断我们可以得知是class="arch"(即Action为UrSearch)来进行数据的
相关处理。那么下面我们就来看一下的(在这里就是MVC中的模板)文件是怎么
处理的。其核心代码如下:
publicclassUrSearchimplementsAction{
privateListlist;
publicListgetList(){
returnlist;
}
publicvoidtList(Listlist){
=list;
}
publicStringexecute()throwsException{
Databaur=newDataba();
//Mapurget=newHashMap();
list=(urarch);
if((null)){
returnINPUT;
}el{
returnSUCCESS;
}
}
privateStringurarch;
publicStringgetUrarch(){
returnurarch;
}
publicvoidtUrarch(Stringurarch){
arch=urarch;
}
}
其中代码中用到了列表List和实例化了Databa类的一个对象ur,在这里我要解释一下,对象
ur调用了Databa类中的arch()方法,而这个方法的返回值就是一个列表LIST。其中在
Databa中实现了对数据持久层的封装,在本类只需实例化Databa的一个对象ur,通过ur
来调用实现了对数据持久层的封装的方法arch()方法,具体的arch()方法是如何实现的,我们
可以看一下其核心的代码,代码如下:
publicListarch(Stringname){
Conne色的词语 ctionconn=null;
Statementstmt=null;
Mapur=newHashMap();
Listlist=newArrayList();
//1.加载驱动程序
try{
conn=onnection();
//3.创建语句对象
stmt=Statement();
//4.执行SQL语句
ResultSetrs=stmt
.executeQuery("lectproductType,productName,ProductInfofromproductinfo
whereproductTypelike'%"
+name+"%'");
while(()){
Productinfobean=newProductinfo();
ductType(ing("productType"));
ductName(ing("productName"));
ductInfo(ing("ProductInfo"));
(bean);
}
returnlist;
}catch(ClassNotFoundExceptione){
tackTrace();
}catch(SQLExceptione){
tackTrace();
}finally{
//5.释放资源
try{
if(stmt!=null){
();
}
}catch(SQLExceptione){
tackTrace();
}
try{
if(conn!=null){
();
}
}catch(SQLExceptione){
tackTrace();
}
}
returnnull;
}
(6)在struts2框架技术中我们还要用到一个很重要的东西就是众所周知的JAVABEAN,我们可
以这么理解JAVABEAN,在我们用的数据库有这么一张表叫做productinfo表,下面是这张表的截图:
在表中我们可以看到这张表中的所有字段,而JAVABEAN所做的事情就是把这张数据表写成一个
类。这些表中的字段就是类中的成员属性,并且还需要写出“设置”和“得到”这些属性的相对应
的成员方法,下面就是我写好的JAVABEAN,其代码如下:
;
publicclassProductinfo{
//productId字段
privateStringproductId;
publicStringgetProductId(){
returnproductId;
}
publicvoidtProductId(Stringurname){
tId=productId;
}
//productType字段
privateStringproductType;
publicStringgetProductType(){
returnproductType;
}
publicvoidtProductType(StringproductType){
tType=productType;
}
//productName字段
privateStringproductName;
publicStringgetProductName(){
returnproductName;
}
publicvoidtProductName(StringproductName){
tName=productName;
}
//productInfo字段
privateStringproductInfo;
publicStringgetProductInfo(){
returnproductInfo;
}
publicvoidtProductInfo(StringproductInfo){
tInfo=productInfo;
}
//productPrice字段
privateStringproductPrice;
publicStringgetProductPrice(){
returnproductPrice;
}
publicvoidtProductPrice(StringproductPrice){
tPrice=productPrice;
}
}
(7)最后手机用户搜索的信息会通过LIST返回到JSP(即VIEW)界面当中,然通过服务器把这些应
答的页面返回到手机的客户端,下面就是最终的应答的JSP页面的代码,其中要返回的搜索后的信
息就在列表LIST当中。
theme="simple"/>
theme="simple"/>
theme="simple"/>
其中列表LIST中的Value里面就是查找到的各种信息。在上面的代码中,所包含的信息有查到的手
机型号{productType},手机名字{productName},还有手机功能介绍{productInfo}。
6Android手机前景
Android介绍
Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它
采用了软件堆层
Android旗舰手机摩托罗拉XT702
的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软
件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google
和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。目
前最新版本为Android2.2。2010年谷歌开发者大会上,Android2.2发布,名称为Froyo,意
为冻酸奶。
Android的前景
Android手机系统的一个很大的优势在于其开放性和服务免费。Android是一个对第三方软件完
全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的
固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人
员提供,这样可节省近三成成本。Android项目目前正在从手机运营商、手机厂商、开发者和消费
者那里获得大力支持。从下面列出的开放手机联盟成员可以看出其强大的实力:开放手机联盟成
员:
一、手机制造商:
台湾宏达国际电子(HTC)(Palm等多款智能手机的代工厂)
摩托罗拉(美国最大的手机制造商)
韩国三星电子(仅次于诺基亚的全球第二大手机制造商)
韩国LG电子
中国移动(全球最大的移动运营商,有3.5亿用户)
日本KDDI(2900万用户)
日本NTTDoCoMo(5200万用户)
美国SprintNextel(美国第三大移动运营商,5400万用户)
意大利电信(TelecomItalia)(意大利主要的移动运营商,3400万用户)
西班牙Telefnica(在欧洲和拉美有1.5亿用户)
T-Mobile(德意志电信旗下公司,在美国和欧洲有1.1亿用户)
二、半导体公司:
AudienceCorp(声音处理器公司)
BroadcomCorp(无线半导体主要提供商)
英特尔(Intel)
MarvellTechnologyGroup
Nvidia(图形处理器公司)
SiRF(GPS技术提供商)
Synaptics(手机用户界面技术)
德州仪器(TexasInstruments)
高通(Qualcomm)
三、软件公司:
Aplix
Ascender
eBay的Skype
Esmertec
LivingImage
NMSCommunications
NorEngineeringAG
NuanceCommunications
PacketVideo
SkyPop
SonixNetwork
TAT-TheAstonishingTribe
WindRiverSystems
Android同时也获得了大量开发者的支持。据Google称,在其推出后的两个月内,程序员下载
这个软件开发平台的次数已经高达250000多次。尽管在如此庞大的下载数量中只有一小部分开发
者真正开始编写实际的应用程序,但我们却由此可以看出惊人的开发商兴趣。相比之下,在Symbian
操作系统推出一年后,其操作指南的下载次数只有70000次左右。
HTCCEO周永明(PeterChou)称,基于GoogleAndroid平台的T-MobileG1手机有望在今年底
达到100万部的出货量,而此前预计的数量只有60万部。看起来“Google手机”尽管宣传比较低
调,但实际卖得还不错,前景也被人看好。其原因有:
1.开放性.android跟linux并不是一个概念,android基于linux,但更重要的是它提供了一个
framework,基于这个,developer可以轻松的开发各种应用程序。并且这些代码以及开发工具都是
开放和免费的。
2。与google应用的无缝结合。如果现在一台电脑不能上网,那么简直就是一台废物,同样,如果
一个手机不能上网,在2,3年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长
一段时间)。而google开发android的目的也在于把手机和这些应用结合起来。
3.开发的易上手性,java是最容易上手的,不像iphone,需要熟悉他的很多框架,以及objectivec(虽
然学起来也并不难)。
Android应用程序框架
Android应用程序框架开发者也完全可以访问核心应用程序所使用的API框架。该应用程序
架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应
用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机
制使得组建可以被用户替换。
以下所有的应用程序都由一系列的服务和系统组成,包括:
一个可扩展的视图(Views)可以用来建应用程序,包括列表(lists),网格(grids),
文本框(textboxes),按钮(buttons),甚至包括一个可嵌入的web浏览器
内容管理器(ContentProviders)使得应用程序可以访问另一个应用程序的数据(如
联系人数据库),或者共享它们自己的数据。
一个资源管理器(ResourceManager)提供非代码资源的访问,如本地字符串,图形,
和分层文件(layoutfiles)。
一个通知管理器(NotificationManager)使得应用程序可以在状态栏中显示客户通知
信息。
一个活动类管理器(ActivityManager)用来管理应用程序生命周期并提供常用的导航
回退功能。
Android运行库
Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每
一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。
Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执
行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经
由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚
拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。
Android系统中的Linux内核
Linux内核Android的核心系统服务依赖于Linux2.6内核,安全性,内存管理,进程
管理,网络协议栈和驱动模型。Linux内核也同时作为硬件和软件堆栈之间的硬件抽象层。
未来发展老牌智能手机软件平台制造商Symbian发言人则表示:Google的android只不过
是另一个linux,ymbian对其它软件与其形成的竞争并不感到担心。除了北美之外什么字五行属金 Symbian
在其它地区智能手机市场都占有大部分市场份额。与iPhone相似,Android采用WebKit浏
览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索
网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一
种融入全部Web应用的单一平台。但其最震撼人心之处在于Android手机系统的开放性和
服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更
大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、
Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。
Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌
移动平台主管安迪鲁宾(AndyRubin)表示,与软件开发合作伙伴的密切接触正在进行中。从
去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建
“开放手机联盟”,其成员超过30家。市场前景Google手机于08年10月22日正式上市,
与运营商捆绑的合约价为179美元(约合人民币1200元),现有的T-Mobile用户可以通过网
络订购。在10月22日发布当天,将有22个国家和地区可以买到谷歌手机。在11月,将增
至27个国家和地区。谷歌手机将只能在T-Mobile网络内使用,将会有SIM卡锁定限制。
T-MobileUSA提供了两种流量和短信近曝光的motosholes(也有人称之为mototao)将搭
载最新的android2.0操作系统包月计划。第一档为25美元,包括不限制的网络流量,以及
一定数量的短信;第二档为35美元,包括不限制的网络流量和不限数量的短信。G1支持各
种谷歌的服务,包括Gmail、GoogleMaps、YouTube、Google日历和GoogleTalk,内置
ChromeLite浏览器。使用这款手机也需要Gmail账号。“我爱死我的G1了!”谷歌联合创始
人拉里佩奇(LarryPage)憧憬:“对于我来说,谷歌手机最激动人心的一点就是它的未来。它
的功能很强,正如几年前的电脑一样。你可以上网,安装软件。”T-MobileUSA为德国电
信旗下移动子公司,运营GSM/HSPA网络,拥有用户近3000万。此次发布的谷歌手机采用
高通MSM7201A处理器,支持7.2Mbps下载速率,美国运营商3G网络设定的套餐速率一
般可达1Mbps以上。MSM7201A为单芯片、双核,整合硬件加速多媒体功能、支持3D图形,
300万像素的摄像功能可以扫描条形码,并且有GPS功能。在美国四大移动运营商中,
T-MobileUSA处于相对弱势的地位,不过T-Mobile在欧洲有更为强势的是CDMAEV-DO
网络,而T-MobileUSA和苹果iPhone的独家运营商AT&T为GSM/HSPA网络,后者在2005
年12月就推出了全球第一个HSDPA商用服务。T-MobileUSA今年5月方才在纽约推出
了3G服务,目前已经在奥斯汀、巴尔的摩、波士顿、达拉斯、休斯敦、拉斯维加斯、迈阿
密、明尼阿波利斯、凤凰城、波特兰、圣安东尼奥和圣地亚哥等12个城市增加了3G覆盖,
公司计划年底前将3G覆盖的城市从目前的13个增加到27个,能够为其超过2/3的用户提
供3G服务。
Android在中国
作为开放手机联盟的初始成员,中国移动早在去年就开始招兵买马,开发自己的Android手机。
有消息人士表示,中国移动可能于09年春天推出Android手机。
另外,各山寨厂商也在大力进行Android的移植工作,更有所谓的首款中文Android手机琦基
i6已经曝光,估计09年将会有多款Android手机推出。
7结束语
本系统是一个基于Android平台的手机电子商城网,该系统具备一个可以商用的几乎所有的条
件,实现了用户的管理,这是Web应用的基本要求。作为一个销售站点,系统提供了多种分类浏览
和快捷的查询方式,借用户迅速定位自己感兴趣的商品。系统中实现了两个模块一个是直接的销售
模块,另外一种是放入收藏夹中,再在“用户中心”统一管理。“用户中心”是一个集成的用户信
息管理平台,可以维护用户的所有信息。用户登陆且购买所喜欢得饰品,当用户的订单提交后,必
须等待后台管理员的处理。后台管理模块实现了“订单管理”模块负责维护和修改用户的订单。在
后台管理中“商品信息管理”实现对库中已有商品信息的修改或删除和添加新的商品。而“用户管
理”模块则负责前后台的用户信息的维护,包括增加、修改和删除。“网站配置管理”模块实现了一
些系统的诸如新闻、公告等的设置,还有实现和用户交流的“意见反馈”和“留言版”管理。
该系统在商品浏览部分可以多次复用的“商品列表”和“翻页导航条”模块。使用查询串中跟
随的参数值来控制程序流程的技术,也是否Web开发中的常用技术。总之在这次的系统设计中,从
中学到了许多以前书本上没有学到过的,这更增强了我的理论基础知识,从中受益多多。
致谢
从这篇论文选题到论文撰写结束的这段时间里,我要感谢我的指导老师,在整个设计过程中,
他给予了我耐心的指导和帮助,当然还要感谢帮助过我的同学,我们在相互学习和交流中,解决问
题共同进步,最后还有我们信息系的老师,感谢你们为我们的学习与成才创造的各种条件和付出的
辛勤劳动。
感谢所有关心和支持我成长的老师们,有你们的支持和帮助,才使我顺利完成了毕业设计。在
这道一句:您们辛苦了,感谢你们!最后,衷心感谢在百忙之中评阅论文和参加答辩的各位老师!
8参考文献
《android开发入门指南》(第2版)索盖林著
《BeginningAndroid》著
《UnlockingAndroid》BLESON,CHARLIECOLLINS,ROBISEN著
《應用框架原理與程式設計36技》高焕堂著
本文发布于:2023-03-19 15:13:15,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/2d9baf612b4a4c7541e15fc5914768c4.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:android是什么手机.doc
本文 PDF 下载地址:android是什么手机.pdf
留言与评论(共有 0 条评论) |