




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘要:本文主要描述的是基于android的电子商务系统的介绍,开始简单了介绍了这个电子商务系统的作用和安卓客户端的大致情况,接着对一些常用技术做了详细的分析和比较,最后对安卓的发展趋势做了简单描述。关键词:android TCP/IP协议 JAVA JDBC GPS XML1.引言:Android是一种以Linux为基础的开放源码操作系统,主要使用于便携设备。目前尚未有统一中文名称,中国大陆地区较多人使用安卓(非官方)或安致(官方)。Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域
2、上。Android的主要竞争对手是苹果公司的IOS以及RIM的Blackberry OS。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2011年11月数据,Android占据全球智能手机操作系统市场52.5%的份额,中国市场占有率为58%。2. 安卓客户端的原理和应用在安卓系统客户端(通常是手机端)安装应用,将应用作为人机交互的平台,通过应用来进行一系列的操作,程序中会调用安卓系统自带的GPS定位得到用户当前所在位置的经纬度,在用户进行查询附近的商家的时候,将经纬度与商家的经纬度对比来计算出附近商家的位置。访问后台方面应用了HTTP协议,将所需信息包含在
3、地址中,服务器端接受到相关信息进行分析从而把相关的数据反馈给用户。3. 安卓客户端项目技术详细3.1 GPS定位安卓的定位方式相对来说比较简单,目前我们可以使用位置管理器和位置提供者进行getLocation的调用。这个方法返回本机的当前位置的一个快照,这个快照将以Location对象形式提供。在手持设备中,我们可以获得当前位置的经度和纬度。这样就完成了自己位置的确定,如果需要查看自己所在的位置的话还需要调用一个地图的API比如GoogleMap。调用之后就可以在地图显示自己的位置了。在本次的项目中主要用到的就是当前的经度和纬度,在查看我们周边商家的信息的时候,将当前的经度纬度发送到后台,计算
4、出距离自己最近的商家,并且按照距离来展示出周边的详细情况。3.2 安卓自带关系型数据库SQLiteSQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。在安卓中有一个很好的辅助类SQLiteOpenHelper,其简化了数据库的操作。按照Android SDK文档中的说明,也可以通过继承此类、改写其接口的方法来实现对数据库的操作,SQLiteOpenHelper。另外还有2个数据结构: ContentValues,Cursor;ContentVal
5、ues就相当于C+中的map(String key, Integer value),其主要接口包括put(),get()。再结合insert操作的主要目的:按照表中数据段将对应的数据项写入到表中,就可以看出来ContentValues主要是存放表中每个表的数据段,以及其对应的值。Cursor也就是前面说的:查询结果的记录集。从记录集的特征可以想到其包含的操作应该有:MoveFirst()、MoveLast()、MoveNext()、Move()、IsLast()、GetColumns()等,而且它还是个抽象类abstract class,SQLiteCursor就是其具体的实现。关于SQLit
6、eDatabase类,其他值得关注的函数是:Create()、execSQL()。至于其他的函数,比如beginTransaction(),endTransaction()等关于数据库同步操作的函数,就只有在使用的过程中深入了解。第3/10页窗体顶端上页下页原工学院毕业设计(论文) “文献综述”专用纸 第4页 3.3 JDBC项目的后台用tomcat作为服务器,用MySql作为数据库,因此JDBC技术就是不可或缺的了,JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序,同时,JDBC也是个商标名。
7、有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库专门写一个程序,为访问Oracle数据库又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言“编写一次,处处运行”的优势。Java数据库连接体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数
8、据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发
9、布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统)。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。3.4 解析XML文件1)DOM(JAXP Crimson解析器)DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准。DOM是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构
10、通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX那样是一次性的处理。DOM使用起来也要简单得多。2)SAXSAX处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到
11、满足时停止解析。一般来说,SAX还比它的替代者DOM快许多。选择DOM还是选择SAX? 对于需要自己编写代码来处理XML文档的开发人员来说, 选择DOM还是SAX解析模型是一个非常重要的设计决策。 DOM采用建立树形结构的方式访问XML文档,而SAX采用的事件模型。DOM解析器把XML文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用 navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM解析器的时候需要处理整个XML文档,所以对性能和内存的要求比较高,尤其是遇到很大
12、的XML文件的时候。由于它的遍历能力,DOM解析器常用于XML文档需要频繁的改变的服务中。SAX解析器采用了基于事件的模型,它在解析XML文档的时候可以触发一系列的事件,当发现给定的tag的时候,它可以激活一个回调方法,告诉该方法制定的标签已经找到。SAX对内存的要求通常会比较低,因为它让开发人员自己来决定所要处理的tag.特别是当开发人员只需要处理文档中所包含的部分数据时,SAX这种扩展能力得到了更好的体现。但用SAX解析器的时候编码工基于Android的手机系统助手软件的实现1. 引言随着手机的普及以及手机应用的深入人心,近几年“智能手机”成为了人们关注的话题。在现今这个智能手机系统群雄纷
13、争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统。Android凭借其开放性和良好的人机界面,受到广大手机生产商的重视。Android是基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。1从Android的从业角度分析,Android的开发概括为两类:一是系统开发,包括低层linux内核的裁剪和扩展,硬件驱动的开发和系统移植等,从业人员主要工作在硬件厂商的公司里:而是应用开发,主要包括游戏开发、Android互联网客户
14、端开发和工具软件开发等。随着用户群体的不断壮大,Android系统有望成为手机操作系统的“Windows”所以Android应用开发应用需求将非常大。22. 研究背景2.1 Android的前世今生Android平台是开放手机联盟为创造一代更好的移动电话而合作开发的产品。该联盟由谷歌领导,成员包括移动运营商,手机设备制造商,元件制造商,软件解决方案和平台供应商以及销售商。从软件开发的角度,机器人立足于开源世界。市场上第一款基于Android系统的手机G1由HTC制造并供应给T - Mobile用于销售。然而,该设备从放出风声到真正发布,用了大概一年的时间,因为发布的sdk补丁累计了一年才使唯一
15、的软件开发工具变得可用。随着G1发布日期的临近,Android团队发布了SDK1.0,为新的平台而设计的应用也开始浮出水面。为了鼓励创新,谷歌赞助了两轮“Android开发者挑战大赛”,并提供了数百万美元的奖励。在G1发布后的几个月,谷歌发布了Android市场,它允许用户直接在自己的手机上浏览和下载应用程序。大约过了18个月,一个新的移动平第1/7页台进入了公众的视野。32.2 Android简介Android是基于Linux内核的软件平台和操作系统,早期由Google开发,后由开放手机联盟Open Handset Alliance开发。它采用了软件堆层software stack,又名以软
16、件叠层的架构,主要分为三部分。低层以Linux内核工作为基础,只提供基本功能;其他的应用软件则由各公司自行开发,以Java作为编写程序的一部分。另外,为了推广此技术,Google和其它几十个手机公司建立了开放手机联盟。Android在未公开之前常被传闻为Google电话或gPhone。大多传闻认为Google开发的是自己的手机电话产品,而不是一套软件平台。到了2010年1月,Google开始发表自家品牌手机电话的Nexus One。42.3 Android开发工具Android的上层应用程序是用Java语言开发的,同时需要基于Dalvik虚拟机,所以Google公司推荐使用主流的Java继承开
17、发环境 Eclipse。有了Eclipse还不够,因为使用Java语言进行开发,应该有由SUN公司提供的Java SDK,其中包含了JRE:Java Runtime Environment。另外,Android的应用程序开发还是和Java开发有一定区别,所以还需有一个Google提供的Android SDK。52.4 Android应用程序特点Android系统是一个强大的智能机系统,与之相适应的硬件也一般具备相对较高的性能。总结起来,Android系统上的应用程序具有以下一些特点:1.功能强大。Android平台的设备一般都具备较强的运算能力、存储空间、网络功能以及各种各样的传感器。2.可复
18、用性强。Android的应用程序由许多Activity组成,不同的Activity在程序中实现不同的功能模块。而最令人赞叹的就是,得益于Android的良好设计,不同应用程序之间的Activity可以实现共享(可以通过安全选项进行配置)。这就实现了良好的复用性。63.开放程度高。“开放”是Android的设计宗旨之一,开发人员可以自己编写程序替代系统中原有的程序,甚至连拨号、短信、主屏幕这样的核心功能都可以由第三方开发人员的程序替代。第2/7页3. Android上的应用程序开发概要3.1 Android应用程序的组成部分Android 有丰富的功能,是一个分层的环境,构建在 Linux 内核
19、的基础上,包括丰富的功能。Android 应用程序是用 Java 编程语言编写的,它们在Dalvik虚拟机中运行。每个 Android 应用程序都占用Dalvik VM 的一个实例,这个实例驻留在一个由 Linux 内核管理的进程中。Android应用程序是由Android体系结构定义的四个基本组成部分类型构成,:1. Activities 活动这些都是在台式机媲美独立的系统,如办公应用软件。Activities是实时可执行代码,当用户或操作系统和运行需要时即被实体化。他们可以通过其他Activities或通过查询或意图服务与用户交互和请求数据。Android的大多数可执行代码将执行写在一个活
20、动的环境中。活动通常对应显示屏:每个活动显示一个屏幕给用户。当它运行的不积极,活动可以结束运行的系统来节省内存。2. Services服务与桌面和服务器操作系统守护进程相似。服务组件在后台运行,直到手机关机。他们一般不公开用户界面。MP3播放器是一个服务的典型例子,需要一直处理等待处理的的文件,甚至当用户已经在使用其他应用程序。即使没有一个用户界面仍然存在,应用程序可能需要实现服务来执行。3. Broadcast and Intent Receivers广播接收机和意图这些服务请求的响应另一个应用程序。一个广播接收机响应一个事件。这些广播可能来自Android本身(如电池低),或从任何在系统上
21、运行的程序。一项活动或服务提供了访问其功能的接口是通过执行一个意图接收器,一段响应数据或其他活动的服务要求的可执行代码。广播接收器会自动地启动应用程序来响应某个到来的Intent,这个特点使它们成为了事件驱动的程序的最佳选择。意图,一个简单的消息传递框架。使用Intent,可以在系统范围内向目标活动或者服务广播消息,以说明希望执行某个动作的意图。之后系统就会确定那些最适合执行动作的目标。4. Content providers内容提供程序一个可共享的数据仓库。每一个内容提供器都开放一个唯一公共URI(由第3/7页URI封装)。例如,当应用程序发出一个通讯录数据的查询,它涉及到一个URI查询的形
22、式:内容:/ /联系方式/人该操作系统查询内容提供者给定的URI,并发送请求到相应的应用程序(如果尚未运行,启动应用程序)。如果有多个内容提供商请求的URI登记,系统会询问用户哪一个是想要的。应用程序不必使用所有的Android组件,但是一个好的应用程序会使用所提供的机制,而不是硬编码重塑功能或引用其他应用程序。 URI和意向一起让Android提供了非常灵活的用户环境。应用程序可以很容易地添加,删除和取代意图而URI使其联系在一起工作。7Android 应用程序是连同一个 AndroidManifest.xml 文件一起部署到设备的。AndroidManifest.xml 包含必要的配置信息
23、,以便将它适当地安装到设备。它包括必需的类名和应用程序能够处理的事件类型,以及运行应用程序所需的许可。例如,如果应用程序需要访问网络如为了下载一个文件, 那么 manifest 文件中必须显式地列出该许可。这种显式声明有助于减少恶意应用程序损害设备的可能性。3.2 存储和返回数据Android提供了很多种类的存储机制以及网络服务。在Andriod应用程序中有几种不同读写数据的方法。可以根据需求选择。在Android中,所有的应用程序资源对自身而言是私有的,但是并不是说,其它程序就无法与之共享数据了。在Android中,可以通过提供一个标准的方法来使得其他的应用程序访问这些私有的数据,那就是ContentProvider。除了这一种方法,还有其它的方法也可以使用,例如Prefrences、Files、Databases、Network等。完全可以根据开发人员的需求来作选择。83.3 安全模式在Android中,为了使用应用程序更加地安全,Android增加了安全模型来操作资源和数据的特征,这是通过权限设置来决定的。Android是一个多进程系统,在此之中,每个应用程序都在自己的进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版跨境贸易进口设备采购合同样本
- 2025版智能交通系统技术保密与合作协议
- 2025版文化产业发展担保合同答辩状编制指南
- 2025版美容院美容仪器批发与品牌合作合同
- 2025版购车信用担保服务合同
- 二零二五版毛纱与棉纱电商渠道合作协议
- 2025版餐饮连锁厨师承包经营合作协议
- 二零二五年茶餐厅厨师劳动合同模板
- 2025年高级锻造工职业技能鉴定试卷(一级)详解
- 2025年铸造工(高级技师)综合能力考试试卷
- 2022中国脑性瘫痪康复指南:康复治疗(第一部分)
- T-SZSA 015-2017 COB LED 光源封装产品技术规范
- 斜拉桥施工工艺(一)
- 公交车保洁服务投标方案(技术标)
- 朱熹文公世系通谱
- 员工食堂调查问卷表
- 水务集团有限公司岗位服务规范
- 华为智能会议室解决方案主打胶片
- 汽车运用与维修技术专业人才需求调研报告
- 《小学生C++创意编程》第1单元课件 软件下载安装
- 2022年辽宁阜新市海州区招聘中小学教师39人笔试备考题库及答案解析
评论
0/150
提交评论