关于android手机的,毕业论文设计,开题报告,外文翻译

3995
    


来源:
Licence:
联系:
分类:
平台:
环境:
大小:
更新:
标签:
联系方式 :
免费下载 ×

下载APP,支持永久资源免费下载

限免产品服务请联系qq:1585269081

下载APP
免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
下载 ×

下载APP,资源永久免费


如果出现不能下载的情况,请联系站长,联系方式在下方。

免费下载 ×

下载论文助手APP,资源永久免费

免费获取

如果你已经登录仍然出现不能下载的情况,请【点击刷新】本页面或者联系站长


目 录

论文总页数:35页

TOC \o "1-3" \u 1 绪论 3

1.1课题背景 3

1.2相关技术的发展现状 4

1.2.1手机操作系统的发展现状 4

1.3手机操作系统的发展现状 5

2.Android的架构分析 6

2.1 Android特征 6

2.2 Android架构 7

2.2.1关键应用程序 7

2.2.2应用程序框架 7

2.2.3系统运行库 7

2.3Android应用的构成和工作机制 8

2.4 Android与其他手机操作系统的比较 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

6 Android手机前景 31

7结束语 35

8参考文献 35

基于ANDROID的手机商城



学生姓名 xx 指导教师 xx
内容提要:随着移动通信与Internet的飞速发展及相互融合,GPRS使无线网络高速接入到Internet成为现实,移动用户从而可以享受到Internet提供的服务。这样,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。本文首先给出了系统研究背景,对当前手机操作系统发展做了简单的介绍。进而详细的分析了android的特征、架构、以及android应用的构成和工作机制,并对android于其他手机操作系统进行了比较,说明了android在手机操作系统中的优势。本系统主要用于对手机上网用户,在线浏览该网站,用户管理员可以对商品信息进行增删改查等功能,用户可以在该网站注册,注册后的用户还可以商品进行购买以及评价。使用该系统很大的提高了用户购买能力。
关键词: Android、JSP、eclipse、myeclipse-6.5、tomcat、开源、服务器、移动客户端、手机商城。
Summary:With mobile communication and internet the rapid development and integration. GPRS the wireless network speed internet access to mobile users to become a reality, so we can enjoy the internet service. thus, the mobile terminal not only a communications network terminal, will become the internet terminals. the first to study the background to the current system, mobile operating system development made a brief introduction. then the detailed analyses the characteristics, a schema about the android ,about the android application forms and mechanisms, and on about the android on the other operating system, mobile phone has explained about the android the phone in the operating systems. this system is mainly used for online browsing the internet users of mobile phones, web site, the administrator can be on information to look for functions add and delete, users can, after the registration of users can make purchases of goods and evaluation. use the system is very much improved the user to buy.
Keyword: Android、JSP、eclipse、myeclipse-6.5、tomcat、Open source、 the server、 a mobile client 、mobile phones shopping center.
1.绪论
1.1课题背景
随着移动通信与Internet向移动终端的普及,网络和用户对移动终端的要求越来越高,而Symbian,Windows Mobile,PalmOS等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google为此与2007年11月推出了一个专为移动设备设计的软件平台——Android。

Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由Linux+Java构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。

根据中国互联网信息中心(CNNIC)发布的《第22次中国互联网络发展状况统计报告》显示,截止2008年6月底,我国网民数量达到了2.53亿,首次大幅超过美国,网民规模跃居世界第一位,

其中手机网民达到7305万,手机上网成为网络接入的一个重要发展方向。
1.2相关技术的发展现状
1.2.1手机操作系统的发展现状
Palm OS是一套专门为掌上电脑编写的操作系统,是一种轻量级、比较开放的操作系统,占用的内存非常小,允许用户在其基础上编写和修改相关软件,是支持的应用程序更加丰富多彩。Plam 在其它方面也还存在一些不足,如Plam操作系统本身不具备录音、MP3播放功能等,但是可以通过加入第三方软件或硬件设备来实现。其代表性的产品有Palm m505、Palm m500、Palm III等。

Symbian是一个实时性、多任务的纯32位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持GPRS、蓝牙、SyncML以及3G技术。

Windows mobile系列操作系统是从微软计算机的Windows操作系统上变化而来的。Windows mobile系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Windows mobile系列操作系统包括SmartPhone以及Pocket PC Phone两种平台。Pocket PC Phone主要用于掌上电脑型的智能手机,而SmartPhone则主要为手上智能手机提供操作系统。

Linux系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放自己的Linux手机操作系统,从而也能够吸引更多的软件制造商在其上开发更多的应用软件,丰富第三方的应用。但是Linux操作系统也还存在一些不足,集成开放环境和基于Linux的产品与PC的连接性比较差等。
1.3论文组织结构
本文首先分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状和即时通讯协议,以及本文的主要内容。

第二章,介绍了Android的特征、Android的架构以及Android应用的构成和工作机制,并对Android与其它手机操作系统进行了比较,说明了Android的优势。

第三章,详细论述了在Android平台上开发小小手机商城系统,提出了系统的主要功能,系统的总体业务描述和架构设计。

第四章,介绍了系统的设计特点,着重论述了账户操作的工作流程。

第五章,给出本文的结论并对课题进行了进一步的展望。
2.Android的架构分析
Android是一个移动设备的软件平台,是由Linux+Java构成的开源软件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四个部分在内的全套手机软件方案。它开放了基于Linux内核以上的开发工具,从而保证了内容的可移植性和多样性。Android平台为我们开发应用程序提供了一套很好的框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。
2.1Android特征
应用框架:用于开发可重用、可替代的组件。

Dalvik虚拟机:Android采用的Java虚拟机是自主开发的代号为Dalvik的虚拟机技术,在保证API方面兼容的同时Dalvik针对移动手机进行了大幅优化,占用资源更小,运行效率更高。

内嵌浏览器:基于开源的浏览器网页排版引擎WebKit。

优化的图形:强大的自定义二维图形库。基于OpenGL ES 1.0标准的3D图形功能,在移动3D开发中有着至关重要的地位。

SQLite数据库:SQLite提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。

多媒体支持:支持各种通用的音频、视频和静态图像格式,如MP3、JPG、PNG等。Open Core是Android多媒体框架的核心,所有Android平台的音频和视频采集、播放的操作都是通过它来实现的。通过Open Core,程序员可以方便快速的开发出想要的多媒体应用程序。

GSM技术:(依赖硬件)Global System for Mobile Communications,全球通讯系统,俗称“全球通”,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。

蓝牙,EDGE,3G and WiFi:(依赖硬件)蓝牙和Wi-Fi都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率GSM演进技术。

Cameram,GPS,compass,andaccelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是由一个由覆盖全球的24颗卫星组成的卫星系统。Compass是一个开放源码的Java搜索引擎框架。

强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及Eclipse IDE的开发插件。Eclipse是个集成开放环境。
2.2 Android架构

Android的架构是由Linux内核、C/C++函数库、Dalvik虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在DalvikVM上运行的。


图2-1Android架构
2.2.1.关键应用程序

Android会同一系列核心应用程序包一起发布,该应用程序包包括email客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。


2.2.2.应用程序框架

  开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
隐藏在每个应用后面的是一系列的服务和系统, 其中包括;
丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的web浏览器。
内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据
资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。
通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。
活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。
2.2.3.系统运行库 2.2.3.1程序库



Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。以下是一些核心库:
系统 C 库 - 一个从 BSD 继承来的标准 C 系统函数库( libc ), 它是专门为基于 embedded linux 的设备定制的。
媒体库 - 基于 PacketVideo OpenCORE;该库支持多种常用的音频、视频格式回放和录制,同时支持静态图像文件。编码格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。

Surface Manager - 对显示子系统的管理,并且为多个应用程序提 供了2D和3D图层的无缝融合。

LibWebCore - 一个最新的web浏览器引擎用,支持Android浏览器和一个可嵌入的web视图。

SGL - 底层的2D图形引擎

3D libraries - 基于OpenGL ES 1.0 APIs实现;该库可以使用硬件 3D加速(如果可用)或者使用高度优化的3D软加速。

FreeType -位图(bitmap)和矢量(vector)字体显示。

SQLite - 一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。


2.2.3.1运行库
Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。
每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 "dx" 工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux内核的一些功能,比如线程机制和底层内存管理机制。

2.2.4.Linux内核
Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议和驱动模型。Linux 内核也同时作为硬件和软件栈之间的抽象层。



2.3 Android应用的构成和工作机制
Android应用程序来说,是由Activity、Intent Receiver、Service、ContentProvider四部分组成,但并不是每一个Android应用程序都必须由这四部分组成。在应用程序中使用时,需要在配置文件Android应用程序中所必需的,用于定义应用程序的组件、组件的功能以及必要条件等。Android应用的构成和工作流程图如下:
图2-2Android的构成和工作流程
2.4 Android与其他手机操作系统的比较
我们主要从手机操作系统的Portablity、Reliability、Connectivity、Product Diversity、

Open Platform、Kernal Size、Standards、Security和Special Features这九个方面进行了比较,具体的比较结果如下表:
对上表比较的九项每一项以1分、0.5分、0分三个级别来进行了评分,综合各项评分,最好得到的评分结果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于开源的Linux以及标准的跨平台的编程语言Java,而且源代码开放,并且免费允许所有厂商和个人在其基础上进行开发,其开源和免费政策将赢得不少手机制造商的支持。而且在其平台上集成了不少优秀的开源工程,如Webkit、OpenGL等,相信在不久,将会有更多的优秀工程加入到Android中来。相比其他手机操作系统过于封闭的特性来说,Android在手机操作系统领域将会占有很大的优势,其功能也将会越来越强大。
2.5 本章小结
本章对Android平台的特征、架构以及Android应用的构成和工作机制进行了详细的分析。对于Android应用程序来说,主要由Activity、 Service、 Intent Receiver和Content Provider四部分组成,但并不是对于每一个应用程序,这四部分都是必须的。Activity是应用程序中最重要的一种构成块,我们对其进行了详细的分析,包括Activity的生命周期以及Activity之间的切换。最后对Android与其它的手机操作系统从九个方面进行了比较,说明了Android的优势。
3.系统的总体框架
3.1系统需求分析
本系统主要用于对手机上网用户,在线浏览该网站,用户管理员可以对商品信息进行增删改查等功能,用户可以在该网站注册,注册后的用户还可以商品进行购买以及评价。使用该系统很大的提高了用户购买能力.具体实现目标如下:

(1) 手机上网用户可以进行浏览网站所有商品。

(2)手机上网用户可以进行所需商品的查询。

(3)手机上网用户可以对喜欢的商品进行购买但必须进行注册网站会员才可以进行购买。

(4)手机上网用户进行网站会员的注册,然后进入用户主界面进行对商品选购,还可以对网站进行留言评价。

(5)商品管理模块,详细记录了产品种类、名称、价格等信息,并根据需求及时更新商品信息。

3.2系统主要功能概述
本系统主要实现功能:客户端登陆注册、浏览功能、订单功能、留言评价功能、服务器管理功能。

该系统的架构如图3-2-1所示

EMBED Visio.Drawing.11
3.2.1客户端登陆注册
客户端登陆注册功能:注册手机商城的会员可以进行登录进入该用户的主界面。

EMBED Visio.Drawing.11

图3-2-2客户端登陆注册流程图
图3-2-3客户端登陆注册用例图
3.2.2 浏览功能
浏览功能:对网站所有的商品进行浏览操作。

EMBED Visio.Drawing.11

图3-2-4浏览功能的流程图图3-2-5浏览功能的用例图
3.2.3订单功能



订单功能:注册手机商城的会员可以进行登陆,然后对所选商品进行购买,下订单。

EMBED Visio.Drawing.11

图3-2-6订单功能的流程图
图3-2-7订单功能的用例图
3.2.4留言评价功能



留言评价功能:手机商城的注册用户可以在登录自己的用户主界面后对商品进行评价。

EMBED Visio.Drawing.11

图3-2-8留言评价流程图
图3-2-9留言评价用例图
3.2.5服务器管理功能



服务器管理功能:手机商城的网站管理员登录到后台数据库可以对商品信息进行查询,修改,增加以及删除。例如节假日要对商品进行促销的修改价格。

EMBED Visio.Drawing.11

图3-2-10服务管理流程图
图3-2-11服务管理用例图
3.3系统流程
用户在浏览网站时首先看到的就是网站首页。在首页用户可以快速浏览最新商品,了解热门商品和推荐商品,也可以搜索已知的商品查看具体信息。用户如果想要购买商品时必须要注册成为会员,在用户查看完商品的详细作息后,可以把自己想要购买的商品放入购物车当中,也可以随时修改、删除购物车里的商品,如果用户对购物车里的商品都很满意,可以去下订单。这时相关的程序模块会将用户所提交的所有信息都记录在数据里以便于商城的管理人员可以核对信息并在收款后准备发货,发货成功并且用户确认收到货物时整个购物过程便结束了。在电子商城的后台管理方面还需要添加、修改、删除商品,同时要对商品进行分类,订单的处理等都需要电子商城的管理人员来操作。

为了更加清晰地表达系统的业务功能模块,画出流程图,对于不同的角色,所承担的任务各自不同,流程不一样,包括客户端流程(如图3-3-1所示)和服务端流程(如图3-3-2所示)。

EMBED Visio.Drawing.11

图3-3-1客户端流程图

EMBED Visio.Drawing.11

图3-3-2服务端流程图
3.4系统框架
EMBED Visio.Drawing.11

图3-3-1后台管理框图

EMBED Visio.Drawing.11

图3-3-2客户端框图
4.详细设计与实现
4.1.详细设计
4.1.1前台实现
根据客户需求分析,小小手机商城的前台主要包括:搜索,登录,注册,商品浏览,商品购买,留言评价等功能模块。前台流程如下图4-1-1:

EMBED Visio.Drawing.11

图4-1-1前台实现流程图
4.1.2后台实现



小小手机商城的后台主要是三个模块组成,分别是:会员管理,购买信息的管理和商品信息的管理(包括数据的查询,修改,增加,删除)。后台流程如下图4-1-2:

EMBED Visio.Drawing.11

图4-1-2后台实现流程图
4.2系统实现
4.2.1用户首页的实现过程



手机用户登录的前台首页,用户可以掌握最新网站商品信息,还可以实现搜索,浏览等功能。

前台首页运行结果如图4-2-1所示:
图4-2-1前台首页运行界面
4.2.2用户注册的实现过程



用户注册也就是收集、记录用户详细信息的一个过程,程序将用户的注册信息写入到了phoneuserinfo表里。

用户注册页面运行结果如图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数据库连接的实现



public class DBHelper {
public static Connection getDBConnection() throws ClassNotFoundException,

SQLException {
ResourceBundle bundle = ResourceBundle

.getBundle("com.eorient.web.DBConfig");
String driverClass = bundle.getString("driverClass");

String userid = bundle.getString("userid");

String password = bundle.getString("password");

String url = bundle.getString("url");
// 1.加载驱动程序

Class.forName("org.gjt.mm.mysql.Driver");

// 2.获得数据库连接

Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/android","root","123");

return conn;
}

}
4.2.8后台实现
管理员可以进入MySQL,在连接pei中的android数据库中,进行修改。以实现对会员信息管理,购买信息的管理,商品信息的增加,删除,修改,查询。

商品信息的管理如下图4-2-8-1,对表productinfo修改,修改字段内容以实现功能。图4-2-8-1商品信息管理

会员信息的管理如下图4-2-8-2,对表phoneuserinfo修改,完善会员信息,以及删除非法会员。
图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 手机界面上。以下是主要的实现代码:

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

btnGO = (Button) findViewById(R.id.go);

btnGO.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View v) {

Uri url = Uri .parse("http://192.168.2.143:8620/Struts2Test/include.jsp");

Intent intent = new Intent(Intent.ACTION_VIEW, url);

startActivity(intent);

}

});

}

}
(2)为了解决网络的延迟问题,我们可以使用线程把手机客户端程序继续完善,采用了线程后可以解决网络的延迟,应答迟缓的现象,以下是用线程实现的核心代码:

public class WebViewDemo extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle icicle) {

super.onCreate(icicle);

setContentView(R.layout.main);

webView1 = new WebView(this);

webView1

.loadData(

"Can I focus?
No I cannot!.",

"text/html", "utf-8");

this.setContentView(webView1);

Logger.info("Download Faild _=> " + webView1.canGoBack());

webView = new WebView(this);

webView.loadUrl("http://192.168.2.143:8620/Struts2Test/include.jsp");

new Thread(new WebDownloadListener(this)).start();

}

WebView webView1;

class WebDownloadListener implements Runnable, DownloadListener {

WebViewDemo wd;

WebDownloadListener(WebViewDemo wd){

this.wd = wd;

}

//使用线程代码:

public void run() {

int j=0;

StringBuffer sb = new StringBuffer();

sb.append("正在连接网络");

while (true) {

try {

Thread.sleep(4 * 1000);

j++;

sb.append(".");

webView1 = new WebView(wd);

webView.loadUrl("http://192.168.2.143:8620/Struts2Test/include.jsp");

Message msg = mHandler.obtainMessage();

mHandler.sendMessage(msg);



} catch (Throwable e) {

Logger.info(e.toString());



e.printStackTrace();

}

if (j== 3) {

webView1 = null;

Message msg = mHandler.obtainMessage();

mHandler.sendMessage(msg);

break;

}

}

}

public void onDownloadFailed(String arg0, int arg1) {

Logger.info("Download Faild _=> " + arg0);

}

public void onDownloadFinished(String arg0) {

Logger.info("Download Finished => " + arg0);

setContentView(webView);

}

public void onDownloadStart(String arg0, String arg1, long arg2,

Message arg3, Message arg4) {

Logger.info("Download Faild _=> " + arg0);

}

public void onDownloadSuspended(String arg0, Message arg1) {

Logger.info("Download Faild _=> " + arg0);

}

}

Handler mHandler = new Handler(){

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

//invalidate();

if(webView1 == null)

setContentView(webView);

else

setContentView(webView1);

}

};

WebView webView = 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(在这里就是struts.xml文件)进行判断,通过判断我们可以得知是class="com.eorient.web.UserSearch"(即Action为UserSearch)来进行数据的相关处理。那么下面我们就来看一下的UserSearch.java(在这里就是MVC中的模板)文件是怎么处理的。其核心代码如下:

public class UserSearch implements Action {

private List list;

public List getList() {

return list;

}

public void setList(List list) {

this.list = list;

}

public String execute() throws Exception {

Database user = new Database();

// Map userget = new HashMap();

list = user.search(usersearch);

if (list.equals(null)){

return INPUT;

}else{

return SUCCESS;

}

}

private String usersearch;

public String getUsersearch() {

return usersearch;

}

public void setUsersearch(String usersearch) {

this.usersearch = usersearch;

}

}

其中代码中用到了列表List和实例化了Database类的一个对象user,在这里我要解释一下,对象user调用了Database类中的search()方法,而这个方法的返回值就是一个列表LIST。其中在Database中实现了对数据持久层的封装,在本类只需实例化Database的一个对象user,通过user来调用实现了对数据持久层的封装的方法search()方法,具体的search()方法是如何实现的,我们可以看一下其核心的代码,代码如下:

public List search(String name) {

Connection conn = null;

Statement stmt = null;

Map user = new HashMap();

List list = new ArrayList();

// 1.加载驱动程序

try {

conn = DBHelper.getDBConnection();

// 3.创建语句对象

stmt = conn.createStatement();

// 4.执行SQL语句

ResultSet rs = stmt

.executeQuery("select productType,productName,ProductInfo from productinfo where productType like '%"

+ name + "%'");

while (rs.next()) {

Productinfo bean = new Productinfo();

bean.setProductType(rs.getString("productType"));

bean.setProductName(rs.getString("productName"));

bean.setProductInfo(rs.getString("ProductInfo"));

list.add(bean);

}

return list;

} catch (ClassNotFoundException e) {

e.printStackTrace();

} catch (SQLException e) {

e.printStackTrace();

} finally {

// 5.释放资源

try {

if (stmt != null) {

stmt.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

try {

if (conn != null) {

conn.close();

}

} catch (SQLException e) {

e.printStackTrace();

}

}

return null;

}
(6)在struts2框架技术中我们还要用到一个很重要的东西就是众所周知的JAVABEAN,我们可以这么理解JAVABEAN,在我们用的数据库有这么一张表叫做productinfo表,下面是这张表的截图:

在表中我们可以看到这张表中的所有字段,而JAVABEAN所做的事情就是把这张数据表写成一个类。这些表中的字段就是类中的成员属性,并且还需要写出“设置”和“得到”这些属性的相对应的成员方法,下面就是我写好的JAVABEAN,其代码如下:

ackage com.eorient.web;

public class Productinfo {

//productId字段

private String productId;



public String getProductId() {

return productId;

}

public void setProductId(String username) {

this.productId = productId;

}



//productType字段

private String productType;
public String getProductType() {

return productType;

}
public void setProductType(String productType) {

this.productType = productType;

}



//productName字段

private String productName;

public String getProductName() {

return productName;

}

public void setProductName(String productName) {

this.productName = productName;

}



//productInfo字段

private String productInfo;

public String getProductInfo() {

return productInfo;

}

public void setProductInfo(String productInfo) {

this. productInfo = productInfo;

}

//productPrice字段

private String productPrice;

public String getProductPrice() {

return productPrice;

}

public void setProductPrice(String productPrice) {

this. productPrice = productPrice;

}

}

(7)最后手机用户搜索的信息会通过LIST返回到JSP(即VIEW)界面当中,然通过服务器把这些应答的页面返回到手机的客户端,下面就是最终的应答的JSP页面的代码,其中要返回的搜索后的信息就在列表LIST当中。

































商品型号商品名称功能介绍价格出厂日期
















其中列表LIST中的Value里面就是查找到的各种信息。在上面的代码中,所包含的信息有查到的手机型号{productType},手机名字{productName},还有手机功能介绍{productInfo}。

6 Android手机前景

Android介绍

Android是基于Linux内核的操作系统,早期由Google开发,后由开放手机联盟开发。它采用了软件堆层

HYPERLINK "http://baike.baidu.com/image/a8405208c69b7faf0b7b827d" \t "_blank" INCLUDEPICTURE "http://imgsrc.baidu.com/baike/abpic/item/a8405208c69b7faf0b7b827d.jpg" \* MERGEFORMATINET

Android旗舰手机 摩托罗拉XT702

的架构,主要分为三部分。底层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为GPhone。目前最新版本为Android2.2。2010年谷歌开发者大会上,Android2.2发布,名称为Froyo,意为冻酸奶。

Android的前景

Android手机系统的一个很大的优势在于其开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与Windows Mobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。从下面列出的开放手机联盟成员可以看出其强大的实力:开放手机联盟成员:

  一、手机制造商:

  台湾宏达国际电子(HTC)(Palm等多款智能手机的代工厂)

  摩托罗拉(美国最大的手机制造商)

  韩国三星电子(仅次于诺基亚的全球第二大手机制造商)

  韩国LG电子

  中国移动(全球最大的移动运营商,有3.5亿用户)

  日本KDDI(2900万用户)

  日本NTT DoCoMo(5200万用户)

  美国Sprint Nextel(美国第三大移动运营商,5400万用户)

  意大利电信(Telecom Italia)(意大利主要的移动运营商,3400万用户)

  西班牙Telefónica (在欧洲和拉美有1.5亿用户)

  T-Mobile(德意志电信旗下公司,在美国和欧洲有1.1亿用户)

  二、半导体公司:

  Audience Corp(声音处理器公司)

  Broadcom Corp(无线半导体主要提供商)

  英特尔(Intel)

  Marvell Technology Group

  Nvidia (图形处理器公司)

  SiRF(GPS技术提供商)

  Synaptics(手机用户界面技术)

  德州仪器(Texas Instruments)

  高通(Qualcomm )

  三、软件公司:

  Aplix

  Ascender

  eBay的Skype

  Esmertec

  Living Image

  NMS Communications

  Noser Engineering AG

  Nuance Communications

  PacketVideo

  SkyPop

  Sonix Network

  TAT-The Astonishing Tribe

  Wind River Systems

  

Android同时也获得了大量开发者的支持。据Google称,在其推出后的两个月内,程序员下载这个软件开发平台的次数已经高达250000多次。尽管在如 此庞大的下载数量中只有一小部分开发者真正开始编写实际的应用程序,但我们却由此可以看出惊人的开发商兴趣。相比之下,在Symbian操作系统推出一年 后,其操作指南的下载次数只有70000次左右。

HTC CEO周永明(Peter Chou)称,基于Google Android平台的T-MobileG1手机有望在今年底达到100万部的出货量,而此前预计的数量只有60万部。看起来“Google手机”尽管宣传比较低调,但实际卖得还不错,前景也被人看好。其原因有:

1. 开放性. android跟linux并不是一个概念,android基于linux,但更重要的是它提供了一个framework,基于这个,developer可以轻松的开发各种应用程序。并且这些代码以及开发工具都是开放和免费的。

2。与google应用的无缝结合。如果现在一台电脑不能上网,那么简直就是一台废物,同样,如果一个手机不能上网,在2,3年之后,也会丢失一大部分价值(不需要上网的手机用户还会存在很长一段时间)。而google开发android的目的也在于把手机和这些应用结合起来。

3. 开发的易上手性,java是最容易上手的,不像iphone,需要熟悉他的很多框架,以及objective c(虽然学起来也并不难)。
Android 应用程序框架

Android 应用程序框架开发者也完全可以访问核心应用程序所使用的API框架。该应用程序架构用来简化组件软件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。该应用程序重用机制使得组建可以被用户替换。

  以下所有的应用程序都由一系列的服务和系统组成,包括:

  一个可扩展的视图(Views )可以用来建应用程序,包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons),甚至包括一个可嵌入的web浏览器

  内容管理器(Content Providers )使得应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们自己的数据。

  一个资源管理器 (Resource Manager)提供非代码资源的访问,如本地字符串,图形,和分层文件( layout files )。

  一个通知管理器 (Notification Manager)使得应用程序可以在状态栏中显示客户通知信息。

一个活动类管理器 (Activity Manager)用来管理应用程序生命周期并提供常用的导航回退功能。

Android 运行库

Android 包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Dalvik虚拟机依赖于linux的一些功能,比如线程机制和底层内存管理机制。

Android 系统中的Linux 内核

Linux 内核Android 的核心系统服务依赖于 Linux 2.6 内核,安全性,内存管理,进程管理,网络协议栈和驱动模型。Linux 内核也同时作为硬件和软件堆栈之间的硬件抽象层。未来发展老牌智能手机软件平台制造商Symbian发言人则表示:Google的android只不过是另一个linux,ymbian对其它软件与其形成的竞争并不感到担心。除了北美之外Symbian在其它地区智能手机市场都占有大部分市场份额。与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。 但其最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁;同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。 Android项目目前正在从手机运营商、手机厂商、开发者和消费者那里获得大力支持。谷歌移动平台主管安迪·鲁宾(Andy Rubin)表示,与软件开发合作伙伴的密切接触正在进行中。从去年11月开始,谷歌开始向服务提供商、芯片厂商和手机销售商提供Android平台,并组建“开放手机联盟”,其成员超过30家。市场前景 Google手机于08年10月22日正式上市,与运营商捆绑的合约价为179美元(约合人民币1200元),现有的T-Mobile用户可以通过网络订购。在10月22日发布当天,将有22个国家和地区可以买到谷歌手机。在11月,将增至27个国家和地区。谷歌手机将只能在T-Mobile网络内使用,将会有SIM卡锁定限制。T-Mobile USA提供了两种流量和短信近曝光的moto sholes(也有人称之为moto tao)将搭载最新的android2.0操作系统包月计划。第一档为25美元,包括不限制的网络流量,以及一定数量的短信;第二档为35美元,包括不限制的网络流量和不限数量的短信。G1支持各种谷歌的服务,包括Gmail、Google Maps、YouTube、Google日历和Google Talk,内置Chrome Lite浏览器。使用这款手机也需要Gmail账号。“我爱死我的G1了!”谷歌联合创始人拉里·佩奇(Larry Page)憧憬:“对于我来说,谷歌手机最激动人心的一点就是它的未来。它的功能很强,正如几年前的电脑一样。你可以上网,安装软件。” T-Mobile USA为德国电信旗下移动子公司,运营GSM/HSPA网络,拥有用户近3000万。此次发布的谷歌手机采用高通MSM7201A处理器,支持7.2Mbps下载速率,美国运营商3G网络设定的套餐速率一般可达1Mbps以上。MSM7201A为单芯片、双核,整合硬件加速多媒体功能、支持3D图形,300万像素的摄像功能可以扫描条形码,并且有GPS功能。 在美国四大移动运营商中,T-Mobile USA处于相对弱势的地位,不过T-Mobile在欧洲有更为强势的是CDMA EV-DO网络,而T-Mobile USA和苹果iPhone的独家运营商AT&T为GSM/HSPA网络,后者在2005年12月就推出了全球第一个HSDPA商用服务。 T-Mobile USA今年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版) 索盖林 著

《Beginning Android》 Mark L. Murphy 著

《Unlocking Android》 W.FRANK ABLESON,CHARLIE COLLINS,ROBI SEN 著

《應用框架原理與程式設計36技》高焕堂 著

免费下载 ×

下载APP,支持永久资源免费下载

下载APP 免费下载
温馨提示
请用电脑打开本网页,即可以免费获取你想要的了。
扫描加我微信 ×

演示

×
登录 ×


下载 ×
论文助手网
论文助手,最开放的学术期刊平台
				暂无来源信息			 
回复
来来来,吐槽点啥吧

作者联系方式

×

向作者索要->