搜档网
当前位置:搜档网 › 基于Android平台条码识别技术的图书查询系统设计与实现

基于Android平台条码识别技术的图书查询系统设计与实现

基于Android平台条码识别技术的图书查询系统设计与实现
基于Android平台条码识别技术的图书查询系统设计与实现

摘要

随着智能手机一步步走进普通人的生活,它已成为人们获取信息的主要设备,因此手机的应用服务将会有很大的发展空间,条形码搜索应用就是其中一项。Android操作系统是近几年较为流行的手机操作系统,它具有良好的开放性和平台的快捷性等特点,采用Android操作系统的手机越来越受到人们的青睐。商品条形码的编码遵循唯一性原则,以保证商品条形码在全世界范围内不重复,即一个商品项目只能有一个代码,或者说一个代码只能标识一种商品项目。

系统客户端采用运用了Android的API以及Google提供的开源组件Zxing,实现对图书条码的拍照及识别功能。服务器采用Java和Servlet技术,根据客户端所识别的图书条码,利用Html解析技术实现图书信息的网络采集功能。系统通过Http协议实现了手机客户端与服务器间通信。

本论文详细的提出了系统的架构,分析了系统在实际应用和技术上的可行性,概述了系统实现的具体过程。在论文的第五、六章详细的介绍了客户端和服务器实现的具体方案和关键技术,最后对系统进行了测试。经测试,本系统界面友好,功能完善,操作简单,具有一定的应用价值。

关键词:智能手机,Android,条形码

Abstract

As smart phone becomes an important device for people to get information in the Internet, the application for smart phones will have very big development space,and the search service based on bar-code is one of these applications.Android is a popular mobile phone operating system appeared in the last few years, due to its good character such as openness and promptness, Android is accepted by more and more people.Bar-code of commodity can ensure uniqueness worldwide, namely a commodity can only have one bar-code, or a bar-code can only be appointed to one commodity.

This client of system is based on Android technology, by using the Android API and open source components Zxing of https://www.sodocs.net/doc/2f15465208.html,, the user can take the bar-code picture of a book and identify the bar-code by a smart phone. Java and Servlet technology are adopted in the server, by using Html parsing technology,the server can search the information of the book according to the bar-code given by the client. The communication between client and server is realized by. Http protocol.

This thesis proposed the details of the system architecture,analyzed the system in the actual application and technical feasibility, summarizes the concrete process of system implementation..In the thesis of the fifth, sixth chapter introduces the client and server details realize concrete plan and key technology,in the end, system was tested.By test, this system has friendly interface, perfect function, simple operation, and has a certain practical value.

Key words: smart phone, android, bar-code

目录

摘要 ............................................................................................................................................................ I Abstract ........................................................................................................................................................... I I 目录 ......................................................................................................................................................... III 第一章绪论 .. (1)

1.1 课题研究的背景及意义 (1)

1.2 国内外应用现状分析 (1)

1.3 系统设计的目标 (2)

第二章课题相关技术 (3)

2.1 Android手机操作系统概述 (3)

2.1.1 Android的主要特点 (3)

2.1.2 Android的整体架构分析 (3)

2.1.3 Android的功能 (5)

2.2 Servlet (5)

2.2.1 Servlet生命周期 (5)

2.2.2 Servlet的优点 (6)

2.2.3 Servlet配置 (7)

2.3 HTML解析 (7)

2.3.1 HTML PARSER的核心内容 (7)

2.3.2 解析HTML (8)

第三章需求分析 (9)

3.1 用例图 (9)

3.1.1 移动互联网用户用例图 (9)

3.1.2 系统管理员 (9)

3.2 用例说明 (10)

3.3 可行性分析 (11)

第四章总体设计 (12)

4.1系统的架构设计 (12)

4.1.1 系统的架构分析 (12)

4.1.2 系统的分层架构 (12)

4.2 系统的交互设计 (13)

4.3 主要功能模块设计 (14)

4.3.1 手机客户端获取条形码 (14)

4.3.2 手机拍照功能 (14)

4.3.3 手机客户端语音识别 (15)

4.3.4 服务器设计 (15)

4.4 数据库设计 (15)

4.4.1 数据库的E-R图 (15)

4.4.2 数据库对应表结构 (16)

4.4.3 数据库管理 (18)

第五章手机客户端设计与实现 (20)

5.1 手机客户端功能框图 (20)

5.2 详细设计 (20)

5.3 关键技术及实现 (21)

5.3.1 获取条形码 (22)

5.3.2 获取图片 (24)

5.3.3 获取语音 (26)

5.3.4 版本升级 (27)

第六章服务器设计与实现 (30)

6.1 服务器功能框图 (30)

6.2 详细设计 (30)

6.2.1 数据采集 (30)

6.2.2 版本控制 (32)

6.2.3 服务器通信协议 (32)

6.2.4 重组Wap页面 (34)

6.3 关键技术及实现 (36)

6.3.1 数据采集 (36)

6.3.2 服务器通信协议 (38)

第七章系统测试、运行及维护 (39)

7.1 系统测试 (39)

7.1.1 测试方法 (39)

7.1.2 测试用例 (39)

7.1.3 测试结果分析 (39)

7.2 系统的维护 (40)

7.3 系统运行环境 (40)

结论 (42)

参考文献 (43)

致谢 (44)

第一章绪论

1.1 课题研究的背景及意义

随着移动通信技术的发展,在3G技术的背景下,使得智能手机成为拥有更快的传输速率,更强大使用功能的网络终端,更炫的操作界面,并且成为现阶段手机发展的一个热点。智能手机较之传统手机之所以有如此强大的功能,在于其安装了操作系统[1]。智能手机上的操作系统功能类似于普通的pc机,能对自身的软硬件进行管理,易于拓展,使得智能手机不再仅仅是通讯网络的终端,还将成为移动互联网的终端,智能手机的发展还推动了手机操作系统的发展。目前智能手机上的主流操作系统主要有Symbian OS,Windows CE,Mac OS X以及后起之秀Android等。智能手机正一步步的走进普通人的生活,这意味着智能手机将会成为人们获取信息的主要设备。因此,手机的应用服务将会有很大的发展空间,本课题主要研究的是基于Android平台下的条形码识别与图书搜索。

Android操作系统是Google于2007年11月发布,它是基于Linux的开源操作系统平台,开放性好,功能扩展性强,硬件选择丰富,并且能无缝隙的使用Google的应用[2]。

用户使用手机进行普通搜索时,如果在输入过程中关键字表述不清或商品名称不准确,搜索引擎会自动采用模糊搜索,导致搜索结果异常或出错等一系列不符合用户需求的情况。条形码与条形码识别技术的出现可以很好的解决用户检索中出现的问题。条形码(bar code)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。常见的条形码是由反射率相差很大的黑条(简称条)和白条(简称空)排成的平行线图案。条形码可以标出物品的生产国、制造厂家、商品名称、生产日期、图书分类号、邮件起止地点、类别、日期等许多信息,因而在商品流通、图书管理、邮政管理、银行系统等许多领域都得到了广泛的应用。条形码具有唯一性,即同种规格同种产品对应同一个产品代码,同种产品不同规格应对应不同的产品代码。根据产品的不同性质,如:重量、包装、规格、气味、颜色、形状等等,赋予不同的商品代码。除此之外条形码还有永久性,即产品代码一经分配,就不再更改,并且是终身的,当此种产品不再生产时,其对应的产品代码只能搁置起来,不得重复起用再分配给其它的商品。商品条形码的诞生极大地方便了商品流通,现代社会已离不开商品条形码,据统计目前我国已有50万种产品使用了国际通用的商品条形码。我国加人世贸组织后,企业在国际舞台上必将赢得更多的活动空间,要与国际惯例接轨,适应国际经贸的需要,企业更不能慢待商品条形码。

因此开发一个基于Android平台下的条形码识别与图书搜索系统是势在必行的。它能精确地检索,方便快捷,具有较强的应用价值。

1.2 国内外应用现状分析

Google于2007年11月5日宣布开发出基于Linux平台的开源手机操作系统Android,该平台由操作系统、中间件、用户界面和应用软件组成,而且号称Android是首个为移动终端打造的真正开放和完整的移动软件。它的核心系统服务依赖于 Linux2.6内核,如安全

性,内存管理,进程管理,网络协议栈和驱动模型,这些都由一个任务管理器来控制,既方便又很实用。

在我国,Android的应用前景是十分广阔的。首先是其具有广大的消费群体,很多追求时尚的消费者都通过各自的渠道开始使用Android手机,Android系统以其强大功能征服了一批又一批的消费者。同时国内的关于Android的社区也十分红火,这些社区为Android 在中国的普及做了很好的推广作用。其次国内的厂商和运营商业纷纷加入Android阵营,包括OPPO,中国移动,中国联通,华为通讯,联想等大企业。华为Pulse,联想乐Phone,中国移动的Ophone,中国联通的Uphone,以及中国电信等企业的悄然跟进,国内的一些大型企业全都致力于Android系统的研发。由于中国巨大的市场潜力诱因与中国营运商们的强力支持,Android平台已经得到中国手机产业链的广泛关注和支持。中国的Android手机正处在高速发展阶段。Android将成为中国智能手机的重要发展方向。我们可以预见Android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。

在国外,2010年l月5日,Google正式发布首款自有品牌手机 NexusOne,该机采用Androld2.1操作系统,全球第三大手机制造商LG电子也发布声明,在今年20部新手机的研发计划中,将有超过半数采用 Google Android手机操作系统,进一步减少 Windows Mobile的比重。Acer亦做出类似的声明。目前,三星、LG、京瓷和索爱等原本使用 Windows Mobile系统来运行其尖端智能手机的厂商都己开始生产Android手机,摩托罗拉则在2010年已完全舍弃了 Windows Mobile并转向Android。

随着3G在世界上特别在我国的不断发展,Android在网络方面的特殊优势将会使其在全世界有美好的未来[3]。

1.3 系统设计的目标

系统设计的目标是为广大的校师生提供一个平台,借助Android手机平台,可以根据条形码快速的检索出自己的需求的图书信息(当当网、淘宝网),然后根据获取的图书信息查询图书馆该图书的在馆信息,可根据自我的需求决定是否去图书馆借阅或者去手机淘宝网购买,同时在查询返回的结果页面中提供了一个登陆界面,输入读者证号和密码,即可查阅校图书馆的借阅信息。

整个系统达到下面的要求:

(1) 界面友好

本系统界面简单、大方,功能较完善,使用方法一目了然,易于用户操作。

(2) 功能全面

本系统提供了条形码搜索、图片搜索和语音搜索,用于可以随意选择更加方便的途径获取信息。

(3) 操作简单

手机客户端用户打开软件之后可直接根据主界面的提示进行操作,同时主菜单中增加了一个“提示”按钮,用户可以通过单击此按钮之后获取更加详细的操作帮助。

第二章课题相关技术

2.1 Android手机操作系统概述

Android是基于Linux内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统,早期由原名为“Android”的公司开发,Google在2005年进行收购“Android.Inc”。Google继续进行对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分,底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。2011年初数据显示,仅正式推出三年的操作系统Android已经超越称霸十年的塞班系统,采用Android系统主要厂商包括美国摩托罗拉(MOTOROLA)、韩国的三星(SAMSUNG)、英国索尼爱立信(Sony Ericsson),另外还有中国厂商如:中国台湾HTC、联想、华为、中兴等,使之跃居全球最受欢迎的智能手机平台,Android系统不但应用于智能手机,也在平板电脑市场急速扩张[3]。

2.1.1 Android的主要特点

Android平台是全球的第一个完整的完全开放的手机平台,其所有的核心功能都是可以通过标准的接口,为应用提供标准的接口可以调用。所以,Android的开发者使用Android 应用程序可以调用标准接口来启动任何一个功能。

Android 整个平台都是开源的。从最底层的内核到上层的核心的Runtime和最核心的服务每个环节都是开源的,所有的开发文档和开发环境都是能在网上下载的,开发环境包含设备模拟器、工具、调试器、内存和性能分析工具,以及Eclipse集成开发环境插件,这跟所有Google的产品一样,整个开发系统和平台都是免费的。所以开发者能够按照自己所爱在Android上裁剪和添加功能并且能为其开源节省成本,让更多人能享受到价位更加合理功能更加强大的智能手机。

Android是完全平等的平台。对于所有的第三方应用软件,甚至是功能组件都完全平等,开发人员可以更换手机的主屏幕、核心应用软件,如条形码识别,手机拍照拍照,语音搜索等其他开源代码的组件。所有的组件都是独立的,而且可以完全自由的兑换。

Android可以将整个手机和互联网都是无缝结合的。Android上的数据,如语音搜索的数据,都是跟Google的云计算服务器绑定的,手机和服务器通过网络互连,如手机端输入语音内容,就可以同时搜索出互联网和手机里的搜索结果[3]。

2.1.2 Android的整体架构分析

Android平台是一组面向移动设备的软件包,它的系统架构和其操作系统一样,采用了分层的架构。从架构图看,Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和Linux核心层。如图2-1即为Android的整体架构图[5]:

图2-1 Android整体架构

(1) 应用层

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

(2) 应用程序框架

开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用,任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(必须遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。

(3) 系统运行库

(a) 程序库

Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用,它们通过Android 应用程序框架为开发者提供服务。

(b) Android 运行库

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

(4) Linux 内核

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

2.1.3 Android的功能

(1) 应用程序架构:已提供多种不同的基础软件元素,为开发其它程序提供方便,节省时间精力。

(2) DALVIK虚拟机:Google专为手机而开发的节省资料,高效率的多任力的虚拟机,运行手机程序。

(3) Android 浏览器:是Google以WEBKIT的浏览引擎为基础开发的,局部缩放,触摸屏。

(4) Android 绘图:支持2D(SGL),3D(OPENGL ES)绘图函数库。

(5) SQLITE数据库:是一种开放性的源代码关系数据库。

(6) 多媒体支持:支持多种不同的媒体格式。

(7) GSM驱动模块:Android专门提供了GSM驱动模块。

(8) 提供了无线网络:BLUETOOTH,EDGE,3G,WI-FI。

(9) 相机,GPS,电子指南针,加速感觉器功能。

(10) Android SDK 提供了完善的程序开发环境:模拟器emulator,调查试工具debug bridge,程序所用内存,性能方面的评估功能。

2.2 Servlet

Servlet是一种服务器的Java应用程序,具有独立于平台和协议的特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP 服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器的Java 应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。

2.2.1 Servlet生命周期

Servlet的生命周期定义了一个Servlet如何被加载、初始化,以及它怎样接收请求、响应请求、提供服务。Servlet的生命周期如图2-2所示:

图2-2 Servlet的生命周期

(1) Servlet的初始化init方法被调用,其格式为:

public void init(ServletConfig config) throws ServletException

{

super.init();

}

(2) Servlet的执行

Service方法可以用于实现事务逻辑,是处理请求的地方。在服务器装载初始化Servlet 后,Servlet就能够处理客户端的请求,可以用service方法来实现,并且每个客户端请求有它自己service方法。这些方法接收客户端请求,并且发回相应的响应,Servlet能同时运行多个service。这样,service方法可以按一个thread-safe样式编写。如service方法更新Servlet 对象中的一个字段field,这个字段是可以同时存取的。假如某个服务器不能同时并发运行service方法,也可以用SingleThreadModel接口,这个接口保证不会有两个以上的线程(threads)并发运行。在Servlet执行期间最多的应用是处理客户端的请求并产生一个网页[4]。

(3) Servlet的结束

当服务器卸载一个Servlet,它将调用Servlet的destroy方法。这个destroy方法是与初始化方法相反,同时从内存中释放Servlet。Destroy的格式为:

public void destroy()

{

……

}

用户调用destroy实际上不会卸载Servlet,只有Servlet引擎才可以实现此功能。

2.2.2 Servlet的优点

(1) 功能强大。在Servlet中,许多使用传统CGI程序很难完成的任务都可以轻松地完成。Servlet还能够在各个程序之间共享数据,使得数据库连接池之类的功能很容易实现。

(2) 执行效率高。在传统的CGI中,每个请求都要启动一个新的进程,如果CGI程序本身的执行时间较短,启动进程所需要的开销很可能反而超过实际执行时间。而在Servlet 中,每个请求由一个次要的Java线程处理,不需要反复启动,这也叫“一次加载多次使用”。在传统CGI中,如果有N个并发的进程对同一CGI程序发出请求,则该CGI程序的代码在内存中重复装载了N次,而对于Servlet,处理请求的是N个线程,只需加载一次Servlet类代码。从而可以提高处理速度。

(3) 开发难度低。相对于传统的CGI,Servlet有很多例程,可以完成许多功能,如网络缓存、Cookies、还有会话跟踪,自动读取Http表头等功能。开发者在这些功能完备的例程的基础上,轻松地开发功能复杂的Web应用程序。

(4) 可移植性好。Servlet是使用Java编写的,所以很好地继承了Java的跨平台性

特点。由于Servlet API的规范很完备,所以几乎所有的主流Web服务器,如Apache Tomcat、Microsoft IIS或者WebStar等,都直接或者通过插件支持Servlet。

(5) 性能更强。Servlet比CGI有着更多的选择,比如缓冲以前的计算结果,保持数据库连接的活动等等

2.2.3 Servlet配置

Servlet使用Tomcat6.0的安装路径下根目录webapps \ROOT\WEB-INF这个目录下面的web.xml文件进行注册,打开这个web.xml文件,以使用HelloWorld.java文件,在里面加入:

HelloWorld

HelloWorld

HelloWorld

/servlet/HelloWorld

2.3 HTML解析

Html解析采用的是html parser。html parser是一个纯的java写的html解析的库,它不依赖于其它的java库文件,主要用于改造或提取html。它能超高速解析html,而且不会出错。

2.3.1 HTML PARSER的核心内容

(1) org.htmlparser

定义了htmlparser的一些基础类。其中最为重要的是Parser类。 Parser是htmlparser 的最核心的类,其构造函数提供了如下:Parser.createParser (String html, String charset)、Parser ()、Parser (Lexer lexer, ParserFeedback fb)、Parser (URLConnection connection, ParserFeedback fb)、Parser (String resource, ParserFeedback feedback)、 Parser (String resource) 。

(2) rg.htmlparser.beans

对Visitor和Filter的方法进行了封装,定义了针对一些常用html元素操作的bean,简化对常用元素的提取操作。包括:FilterBean、HTMLLinkBean、HTMLTextBean、LinkBean、StringBean、BeanyBaby等。

(3) org.htmlparser.nodes

定义了基础的node,包括:AbstractNode、RemarkNode、TagNode、TextNode等。

(4) org.htmlparser.tags

定义了htmlparser的各种tag。

(5) org.htmlparser.filters

定义了htmlparser所提供的各种filter,主要通过extractAllNodesThatMatch (NodeFilter filter)来对html页面指定类型的元素进行过滤,包括:AndFilter、CssSelectorNodeFilter、HasAttributeFilter、HasChildFilter、HasParentFilter、HasSiblingFilter、IsEqualFilter、LinkRegexFilter、LinkStringFilter、NodeClassFilter、NotFilter、OrFilter、RegexFilter、StringFilter、TagNameFilter、XorFilter。

(6) org.htmlparser.visitors

定义了htmlparser所提供的各种visitor,主要通过visitAllNodesWith (NodeVisitor visitor)来对html页面元素进行遍历,包括:HtmlPage、LinkFindingVisitor、NodeVisitor、ObjectFindingVisitor、StringFindingVisitor、TagFindingVisitor、TextExtractingVisitor、UrlModifyingVisitor

(7) org.htmlparser.parserapplications

定义了一些实用的工具,包括LinkExtractor、SiteCapturer、StringExtractor、WikiCapturer,这几个类也可以作为htmlparser使用样例。

(8) org.htmlparser.tests

对各种功能的单元测试用例,也可以作为htmlparser使用的样例。

2.3.2 解析HTML

解析Html成标签树结构以后,我们不但可以很容易取得想要的元素,同时也很容易将Html转换成对应的XML文件。具体实现步骤如下:

(1) Html中的每个tag都是都将作为树中的一个节点存在的,每个tag都属于树中的某一层。

(2) 辅助数据结构:栈(stack)、List、HashTable。其中HashTable[i](i属于int类型)是一个List,用于临时存储第i层子Tag。

(3) 顺序扫描Html文本,当遇到“”这样的标志,表示可能是一个Tag,调用GetTag()函数对此段代码进行解析,解析出Tag名,Tag属性等等。如果返回值不为空,那么将返回值入栈。并且记录次tag的开始位置。

(4) 遇到这样的标志,表示可能是某个Tag的结束。解析出此结束标志的Tag名。如果在栈中找到与此结束标志同名的元素(此元素属于栈中第iLevel层),那么表示找到匹配的Tag。则Tag出栈,将HashTable[iLevel+1]到HashTable[maxLevel]中的所有元素取出作为此Tag的子节点。放入第HashTable [iLevel]中。并记录Tag的结束位置。

(5) 对于xxx之间的字符串xxx,将其作为特殊的HtmlTextTag处理。出栈,和入栈操作与普通Tag类似。

(6) 当栈为空的时候表示最后一次出栈的Tag给根节点。

第三章需求分析

本课题是基于Android平台下的条码识别技术的图书查询系统,需要对条形码进行识别,同时根据获取的条形码去查询图书信息。条形码的识别技术是在手机客户端实现的,图书的查询是在服务器实现的,手机客户端和服务器采用http协议进行通信,最终的展示结果是在手机客户端。

3.1 用例图

3.1.1 移动互联网用户用例图

图3-1 移动互联网用户用例图

3.1.2 系统管理员

图3-2 系统管理员用例

3.2 用例说明

(1) 移动互联网用户:本系统给移动互联网用户提供的功能有条形码识别、语音识别、图片识别以及客户端该软件的版本升级。

条形码识别:用户获取条形码,然后将条形码上传到服务器上,服务器将对接收的条形码进行处理,然后做出响应返回到手机客户端。在返回的wap展示页面中提供了两个链接,一个是淘宝网的购买链接,另一个是个人信息查询,提供个人续借以及历史查询功能。

语音识别:用户获取语音,然后跳转到百度提问页面,搜索相关结果。

图片识别:用户在调用软件时,可调用摄像头进行拍照,然后可将拍出的照片上传到百度贴吧中。

版本升级:每当用户启动软件是,系统会自动检测是否有新版本,如果有新版本,则会提示用户,让用户选择是否更新。

(2) 系统管理员:指系统中的管理系统,它包括的功能有信息采集、数据维护以及数据整合。

数据采集:根据条形码去当当网采集信息(书名、作者、出版社、出版日期),然后组合查询去Wap淘宝网获取购买链接地址,同时去校图书馆进行组合查询,并且查询其总数和在馆数。

数据维护:信息采集过程中的数据都将存入服务器的数据库,由于校图书馆的信息采集是实时更新的,所以查询完之后会更新数据库。

数据整合:信息采集之后,服务器要对手机客户端的请求进行响应,返回给手机客户端的是一个经过处理之后的wap页面。

版本控制:发现新版本立即通知用户更新。

3.3 可行性分析

可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间内确定问题是否能够解决。该系统的可行性分析包括以下几个方面的内容[2]。

(1) 经济可行性:主要是对项目的经济效益进行评价,本系统开发经费在经济上是可以接受的,并且本系统实施后可以显著提高工作效率,有助于在校师生准确、快速的查找图书的馆藏资源,提供相应的信息以及淘宝网购买链接,与此同时附加了图片搜索与语音搜索功能。所以本系统在经济上是可行的。

(2) 技术上的可行性:技术上的可行性分析主要分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。本系统采用的是Android操作系统,提供足够的开源组件,无缝隙的使用Google的一些应用,而且又紧密的结合了Internet/Intranet技术、3G技术等,是技术发展的大势所趋,它把应用软件带入了一个崭新的发展时代。数据库服务器选用Microsoft SQL Sever 2008数据库,它能够处理大量数据,同时保持数据的完整性并提供许多高级管理功能。它的灵活性、安全性和易用性为数据库编程提供了良好的条件。因此,系统的软件开发平台已成熟可行。硬件方面,科技飞速发展的今天,硬件更新的速度越来越快,容量越来越大,可靠性越来越高,价格越来越低,其硬件平台完全能满足此系统的需要。

(3) 时机可行性:Android系统的手持设备以其强大的功能及价格的优惠在校园中流行,基于Android的软件更是数不胜数。条形码搜索可以精确的确定图书的基本信息,方便在校师生查阅图书的馆藏信心以及借阅情况。同时在此系统中附加了图片搜索和语音搜索,提供了一个更加快捷方便的平台。

(4) 管理上的可行性:主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。规章制度和管理方法为系统的建设提供了制度保障。

综上所述,此系统开发目标已明确,在技术和经济等方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。

第四章总体设计

4.1系统的架构设计

4.1.1 系统的架构分析

基于上述需求分析,系统总体架构如图4-1所示:

图4-1 系统架构图

如图4-1的架构图,可以看出本系统主要分为五个模块,分别是信息采集模块、服务器运营与管理模块、手机客户端、业务管理系统模块以及计费系统模块。主要模块说明如下:信息采集系统:手机客户端以HTTP协议请求服务器并且传递参数到服务器,服务器根据手机客户端上传的参数进行信息采集。

服务器运营与管理系统:信息采集完成之后存入到服务器的数据库中,每当发现有数据更新时,保存更新之后的数据。

手机客户端:为用户提供一个可视化的平台,用户根据自己的需求,选择一条合适的路径获取信息。

本次不考虑计费模块以及业务管理系统模块。

4.1.2 系统的分层架构

在软件体系架构设计中,分层式结构是最常见,也是最重要的一种结构。根据需求,本系统的分层结构如图4-2所示:

图4-2 系统分层图

数据访问层:主要负责数据库的访问。当服务器发送请求时,根据需求进行检索,获取相应的数据信息。

业务逻辑层:是整个系统的核心,它与这个系统的业务有关。本系统主要业务逻辑维护数据库,信息采集,更新数据库的操作。

表示层:是手机客户端的操作,负责使用者与整个系统的交互。在这一层中是不应包括系统的运营管理以及数据访问的。表示层中的逻辑代码,仅与界面元素有关。

4.2 系统的交互设计

系统之间的交互主要是手机客户端与服务器的交互,其具体交互过程如下图所示:手机客户端运营服务端

图4-3 系统交互图

如图所示存在四个部分的交互:版本控制、条形码搜索、语音识别和数据采集。其具体交互过程如下:

(1) 版本升级交互过程如下:启动软件,发送http请求给网络通信层(1.0),网络通信层调用version接口访问运营接口(1.1),运营接口查询业务数据库中的版本号(1.2),返回版本号到运营接口进行比较(1.3),响应手机客户端的请求信息(1.4)。

(2) 条形码识别搜索过程的交互:获取条形码,调用Google的zxing组件进行条形码的识别(2.0),将条形码的识别结果返回到手机客户端发送http请求给网络通信层(2.1),网络通信层调用search接口访问运营接口(2.2),运营接口层响应手机客户端的请求(2.3),手机客户端接收到请求并且获取请求的实体内容,访问得到的wap链接地址(2.4),查询业务数据库中的书籍信息(2.5),返回书籍的信息组装wap页面(2.6),手机客户端得到页面结果(2.7)。

(3) 语音识别过程的交互:启动语音识别,发送请求至网络通信层(3.0),连接到Google 的语音云端进行语音会话(3.1),在此过程中如果出错,可重新连接。在Google的云端进行语音识别,并且将识别的结果返回给手机客户端(3.2)。

(4 数据采集:运营接口层接收到isbn之后,会在业务数据库中进行查询,如果业务数据库中不存在则需进行采集数据。发送http请求同时传入参数isbn至图书数据源(4.0),返回采集结果到数据采集接口(4.1),并且将得到的数据信息存入到业务数据库中(4.2)。

4.3 主要功能模块设计

在可行性分析阶段已经粗略的研究了该系统的需求,并且分析了开发平台及软件的可行性。本系统主要有两个子系统:手机客户端和服务器,而手机客户端又包括以下几个小子系统:获取条形码,拍照,语音识别以及版本升级。

4.3.1 手机客户端获取条形码

在Android 平台下,利用其开源组件zxing,能够对大部分的条形码(一维条形码,二维条形码等)进行识别。Zxing是所有的开源组件中对条形码识别的识别率最高的,利用此组件和BarcodeScanner3.5.apk这个可执行的apk文件,便可实现在Android的操作系统中快速方便的识别条形码。

4.3.2 手机拍照功能

Android 1.5(代号cupcake)新版发布,在安全方面有诸多改进,其中之一便是摄像头权限的控制。在此之前,能够创建无需用户许可就可实现拍照的应用,现在我们需要使用摄像头,就只需要在AndroidManifest.xml中进行配置(), Android的Camera包含取景器(viewfinder)和拍摄照片的功能。目前Android发布版的Camera程序功能比较简单,其程序的架构分成客户端和服务器两个部分,它们建立在Android的进程间通讯Binder的结构上。拍照有两种方式,一是使用android.hardware.Camera,二是使用Intent("android.media.action.IMAGE_CAPTURE"),此系统采用的是第一种方法[6]。

4.3.3 手机客户端语音识别

语音识别,借助于云端技术可以识别用户的语音输入,包括语音控制等技术,我们利用Google 提供的API实现这一功能。语音识别的方式有三种:一是调用语音识别库的程序做成带界面的程序,供其它程序使用intent调用;二是应用程序自己调用语音识别库;三是调用语音识别库的程序做成service,供其它应用使用。本次系统采用的是第一种方法,使用Recognizer Intent[7]。

4.3.4 服务器设计

服务器采用的是Java+Servlet来实现的,使用tomcat7.0发布。服务器接收手机客户端传入的参数,首先将在服务器的数据库中查找,如果存在则返回给手机客户端图书的信息,如果不存在则将根据条形码号到当当网上抓取图书信息(书名,作者,出版社,出版日期等),将得到的信息存入服务器的数据库,然后根据抓取的信息进入校图书馆获取图书的馆藏信息(实时性较强,每次搜索一次都需重新访问图书馆的馆藏资源),服务器返回给手机客户端一个展示的wap页面,显示条形码号对应的馆藏资源以及淘宝网的购买链接。

4.4 数据库设计

4.4.1 数据库的E-R图

在SQL Server中建立名为BookSearch的数据库。其中包括以下几个表BookInfo、BookAndSource、Source、ClientOSType、ClientVersion,下面将具体介绍数据库中各个表的结构。

BookInfo、BookAndSource、Source的E-R图如图4-4所示:

图4-4 ISBN查询E-R图

windowsXP下Android安卓开发环境搭建详细教程及图解

注:本教程是讲解在Windows XP下搭建安卓开发环境的。 安装目录: 步骤1 安装JDK 步骤2 安装Android SDK 步骤3 安装Tomcat 步骤4 安装Ant 步骤5 安装Eclipse 步骤6 安装Eclipse的ADT插件 步骤7 在图形界面下管理AVD 步骤8 设置Android系统语言 本教程的软件可以从我博客“绿杨芳草”下载。 方法/步骤 1、安装JDK 运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。 在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径: jdk安装目录:C:\Java\jdk1.6.0_22 jre安装目录:C:\Java\jre6\

安装好之后,配置环境变量: 打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。 在上方的用户变量中依次新建如下变量,并分别填入如下路径: 变量名:JAVA_HOME 变量值:C:\Java\jdk1.6.0_22 变量名:PATH 变量值:%JAVA_HOME%/bin 变量名:CLASSPATH 变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar 图1 配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。

图2 2、安装Android SDK 将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows 文件夹,该文件夹包含如下文件结构: add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。 platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。 tools:该目录下存放了大量Android开发、调试的工具。 SDK Manager.exe:该程序就是Android SDK和AVD(Android虚拟设备)管理器。 通过该工具可以管理Android SDK和AVD。 运行E:\Android\android-sdk-windows目录下的【SDK Manager.exe】 然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。 在更新的过程中若遇到如下的提示窗口:

高通android平台开发

问题描述: 对于有过开发高通android系统的人来说,获取代码构建开发环境并不是难事,但对于刚刚接触这一块内容的人,如果没有详细的说明很容易走弯路,本文档就是根据本人的实践总结的一些经验教训。 1.代码获取 高通的android代码分为两部分,一部分是开源的,可以从网站https://https://www.sodocs.net/doc/2f15465208.html,/xwiki/bin/QAEP/下载,需要知道要下载的代码的分支及build id。另一部分是非开源的,需要从高通的另一个网站https://https://www.sodocs.net/doc/2f15465208.html,/login/上下载,这个下载是有权限限制的,晓光的帐号可以下载代码。后面这部分代码需要放到第一部分代码的vendor指定目录下,可能是vendor/qcom-proprietary或vendor/qcom/proprietary,根据版本的不同有所区别。 高通平台相关的东西基本都在vendor/qcom/proprietary下或device/qcom下 2.编译环境构建(ubuntu 10.04 64位) Android2.3.x后的版本需要在64位下进行编译 更新ubuntu源,要加上deb https://www.sodocs.net/doc/2f15465208.html,/ lucid partner 这个 源用来安装java。 apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev x11proto-core-dev libx11-dev libxml-simple-perl sun-java6-jdk gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs lib32z-dev lib32readline5-dev 研发主机不能更新java,需要让IT安装sun-java6-jdk。 在命令行执行sudo dpkg-reconfigure dash 选择no,否则编译时会报一下脚本语法错误 编译的过程中https://https://www.sodocs.net/doc/2f15465208.html,/xwiki/bin/QAEP/和版本的 release notes中都有介绍,首先source build/envsetup.sh,然后choosecombo选择需要的选项,最后make或make –j4。-j4用来指定参与编译的cpu个数,指定了编译会快些。编译单个模块的时候只需要在make后面跟 上模块的名字 为了简化可以使用以下脚本 export TARGET_SIMULATOR=fasle export TARGET_BUILD_TYPE=release export TARGET_PRODUCT=msm7627a export TARGET_BUILD_VARIANT=eng set_stuff_for_environment make $1 编译的中间结果在out/target/product/平台/obj目录下,有时候为了完全

高通8909平台NQ210调试

高通8909平台NQ210调试说明 高通平台电信VOLTE仅在Android 7.1上实现,而原来的NFC解决方案(PN547)只支持到Android6.0,所以有了高通8909+NQ210+Android7.1这个组合,以实现电信VOLTE+NFC。 F9 R4.1+NQ210 NFC性能调试过程中,几点说明: 1,配置文件需要将NXP的RF_BLK参数合入到高通默认参数 2,注重Rx端匹配调节,对读卡性能有较大提升。调试方法详见附件 3,最终的NFC电路可以不用DCDC,也不用MOS管实现读卡、点对点和开关机卡模拟。性能如下,满足我们要求 配置文件 高通参考设计里给了两个配置文件 /system/etc/libnfc-brcm.conf /system/etc/libnfc-qrd_default.conf 其中libnfc-qrd_default.conf没有NXP_RF_CONF_BLK的六组配置参数,NXP_CORE_CONF_EXTN 的配置参数也不全 从WPI给的配置文件libnfc-nxp_RF - EMVCO.CONF中,将NXP_RF_CONF_BLK六组参数和NXP_CORE_CONF_EXTN配置参数全部拷到libnfc-qrd_default.conf中,并将此文件替换手机中的默认文件。若出现卡模拟性能不佳,也可以在补全的配置文件中通过修改相位来进行优化。

配置文件中需要重点注意的是,NXP_EXT_TVDD_CFG的配置一定要和硬件对应。其中Config1是不采用DCDC的,Config2和3都是采用DCDC供电的。对于我们的项目,在没有DCDC下性能也能满足要求,所以NXP_EXT_TVDD_CFG=0x01 NFC匹配电路 F9 R4.1+NQ210最终的匹配电路如下: 其中:L4802+C4818/L4803+C4820是EMI Filter,采用默认值即可。 C4814+R4806/C4816+R4808是Rx通路匹配,对读卡性能同样有较大影响。靠近读卡器无法正确读卡,而远离读卡器就能正确读卡的问题,也可以通过Rx通路来优化。 中间的串电容,并电容就是NFC天线的发射匹配,NQ210的发射阻抗在30ohm,和PN547的50ohm有所不同。在实验室也可以以读卡/身份证距离为测试标准,盲调匹配电路。 这里重点针对Rx通路的优化进行说明。通常保持电容1nF不变,通过调节电阻来优化Rx通路。判断标准是要保证AGC值在500-800之间,可通过如下步骤优化电阻: 1,修改配置文件A0, 40, 01, 01-> A0, 40, 01, 81,让log中能看到AGC值 2,将修改后的配置文件导入手机,重启手机后并重现打开NFC 3,通过adb logcat输出log,在log中找到“6F13”地址的后四位数字,如5C02即代表0X025C,转换成10进制就是604 4,若AGC太小则减小电阻值,若AGC太大就增大电阻值。同时兼顾实测情况下的NFC性能最终来确认电阻值。 我们最终选用的3.3K电阻,对应的AGC值为604,满足要求。

基于Android平台的菜谱实现

基于Android平台的菜谱实现 1需求分析 随着手机的广泛普及,无线技术的突飞猛进,移动生活、移动办公逐渐由概念转变为现实,对于传统的餐饮业也产生了潜移默化的影响。 目前,大多数餐厅仍然以传统的纸质菜单为主。但是,这种点菜方式存在诸多弊端:从消费者角度来讲,菜谱不能及时更新,导致菜谱信息陈旧,点菜时经常出现某菜品已下架等情况。 用户需求:从餐厅老板来说,及时更新纸质的菜谱,无疑会增加餐厅的额外支出。为了改善传统纸质菜谱的弊端,将菜谱应用于手机客户端,为消费者带来更为便利的客户体验。而实时的菜品更新,不仅解决了纸质菜谱短时间内就出现脏、乱、差的问题,实现餐厅无纸化操作,而且潜在的提升了饭店的形象。 功能需求:用户可以进入菜单界面选择菜品分类,进入相应的分类内,查看该分类中的菜品信息,并对菜品的等级程度进行评价,查询某特定菜品,也可添加新菜品,删除菜品等。 2功能实现 本APP基于自身的需求,同时对西北大学周围众多餐厅现状的合理分析,结合实际,设计并实现了一个基于移动手机平台的智能菜谱显示,该系统的设计基于Android智能操作系统,简单的SQLite数据库,实现了对菜品的增、删、查、改各个功能。 消费者可以添加要点的菜品,在餐后可以对菜品的口味及好感程度进行具体化的评价,这样是对餐厅工作人员的一个回馈,同时也可以为其他消费者就餐提供建议。 2.1主界面 1、实现了对菜品的具体分类。如图2-1

图2-1 单击所选择的菜品分类,出现菜品的镜像显示,为消费者提供更为直观的视觉效果,有助于消费者做出选择。如图2-2 图2-2 2、是进入菜品显示的入口,同时也显示了该软件的使用方法如图2-3:

Android应用程序开发个人总结

Android应用程序开发个人总结 Android应用程序开发个人总结范文 篇一:Android应用程序开发-个人总结 一、项目简介: 送祝福App是一款逢年过节为方便发送祝福信息的软件,并且介绍各种节日的相关情况。包含节日祝福短信,支持直接发送短信给好友,也可定时发送给好友,编写模版。为生活提供了便利。 二、个人在项目中承担的任务: 我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面 三、学习本门课程收获、体会及建议: 在本门课程中,我初步认识了安卓应用开发所需基本知识,比如安装体系结构,常用的控件以及API的使用方法,知道了安卓体系存储数据的方式。这一学期,安卓相关的知识自己掌握的不多,不过也透过安卓课程看到移动端应用的火热。这一个学期里,老师讲得比较细,自己单独下来练一个知识点了,也可以,不过当几个知识点的内容整合到一起,自己就凌乱了,自己的思路就不清晰。在期末项目中,我是任务是整合成员负责的模块,把各个模块整合到一起,然后把主界面的效果做出来,主界面参考的是微信的界面,由于时间和能力的限制,只完成了部分功能,功能没有完全实现。 篇二:Android程序员-201*年度个人工作总结和计划

逝者如斯夫,不舍昼夜!转眼间,自己在XX网里参加工作已经有一年有余了。回首即将逝去的201*年,可以说是平淡而不普通的一年,发现自己在各方面都比上一年有所进步、提高。一年的结束孕育着新一年的到来,新的一年意味着新的起点、新的挑战。昂首期待未来,总结以往经验。在新一年来临之际,我现把这一年的工作总结一下以及将新一年计划列一下。 大概3月份左右,XXXXApp第一期基本开发完成比较稳定的版本。在此之前,我主要负责参考XXXXApp的Android客户端的开发工作。XXXX第一期开发的难度系数相对比较低,开发起来还是相对的容易,所学到的基础知识基本上可以开发出来。我个人认为当时的开发效率还是比较低的,这里说的是整个项目的开发效率,不是个人负责工作的完成效率,换句话来说是团队的整体开发效率不高,没有达到高效。这个也许是团队协调与沟通交流还存在不足的地方。XXXXApp实际上基本可以满足用户的使用(表面),但是项目的代码管理(本质)比较杂乱、扩展性差、健壮性也不错、兼容性也不算好。这无疑导致开发的工作量大大的增加。产生这些问题的原因有团队的项目开发经验缺乏,有自己个人的开发水平有限、技能不足。简言之,我的专业技能还不够强。 在3月份之前,公司聘请了外包团队与我们的团队一起开发问答App。公司的目的培训公司的团队,让我们学习外包团队的技能。在外包团队的参与和指导下问答App开发工作相当顺利,团队的分工清晰、交流充分、协调都比较好。问答App的工作接近尾声,意味着XXX

基于Unity3D和高通Vuforia SDK的AR开发

基于Unity3D和高通Vuforia SDK的AR开发 发表时间:2017-12-13T09:47:20.257Z 来源:《科技中国》2017年8期作者:刘伟杨希文盼向兴婷 [导读] 摘要:本文基于Unity3D这一专业游戏引擎和高通Vuforia SDK制作一款简单的AR,模型通过3d max等三维建模软件进行制作。本文主要介绍基于Unity3D如何制作出一款适合教育领域的AR应用软件,并对AR的研究方向与前景做出探讨。 摘要:本文基于Unity3D这一专业游戏引擎和高通Vuforia SDK制作一款简单的AR,模型通过3d max等三维建模软件进行制作。本文主要介绍基于Unity3D如何制作出一款适合教育领域的AR应用软件,并对AR的研究方向与前景做出探讨。 关键词:增强现实(Augmented Reality),Unity 3D,教育领域 一、概述及研究现状 增强现实(Augmented Reality),简称AR技术。一种实时的记算摄影机摄影位置及角度并加上相应图形的技术,在显示屏中把虚拟世界叠加到现实世界中,用户可以通过设备与其进行交流互动。 目前,国内的AR技术发展迅速,在教育领域的应用也备受关注,具有广阔的发展前景。国内的AR多应用于儿童教育(出版物)等,随着移动手机性能的提升和AR技术(特别是图片识别技术)的发展,未来AR一定会在教育领域蓬勃发展,并且还会在社交、旅游、军事、医疗、游戏等诸多领域实现成功应用。 二、设计与实现模块 AR制作流程主要有:模型导入Unity—基于高通网站制作识别图——导入SDK,在Unity3D中完成后期制作(动画,模型渲染,脚本驱动,特效,声音等)——打包发布到安卓(Android)平台,下面具体进行介绍。 开发工具的准备:1、基于Unity 3D,所以先安装Unity3D,案例所用的版本是Unity3D5.6.1f(64位)的,安装SDK和JDK,保证后续可以发布到Android平台进行测试与应用。2、登录高通Vuforia网站注册账号。 三、识别图模块 制作识别图,首先登录高通Vuforia网站,点击Develop按钮,单击License Manager下的Add License Key,在Project Type选择Development。在Project Details下添加App name:AR Demo,点击Next,出现刚刚填写的信息,确认无误后,勾选下面的许可确定。点击Confirm,License Manager下面会有AR Demo,点击它出现License Key,后期在Unity里面会用到,所以将它复制下来。 再点击Target Manager,点击Add Database,在弹出的Create Database中填写Name:AR _Demo,Type选择默认的Device即可,点击Create。在Database出现刚刚创建的AR_Demo,后面有它的信息(Name,Type,Targets,Date Modified),Targets为0,要添加图片,点击它,点击Add Target,在弹出的Add Target下,我们选择Type为Single Image,点击File后面的Browse,选择准备好的图片,设置宽度:400,最后点击Add,这是出现Uploading Target,只需要等待几秒钟,就会看到Target制作完成,这时可以看到选择的图片复杂的Rating (等级),它的值越高代表可识别的点越多,识别也更加容易和准确。制作好后,勾选我们制作的Target,点击Download Database,在弹出的Download Database窗口中,选择开发平台(Select a development platform)为Unity Editor,然后点击Download进行下载。下载好后,识别图就制作完成,这时还需要下载Vuforia SDK。点击上面的Downloads按钮,点击Download for Unity,在弹出的Software License下点击I Agree。 四、Unity 3D实现AR模块 打开Unity,新建工程,导入两个*.unitypackage:AR _Demo和vuforia-unity-6-2-10,我们可以直接点击两个带有Unity图标的文件进行导入,也可在Unity菜单栏中选择Asset下的Import Package进行导入。删除unity自带的主摄像机Main Camera,在资源Assets目录下找到Vuforia—Prefabs—ARCamera,拖到项目场景中,再将Image Target也拖放到场景中,将右侧检视面板中Image target Behaviour下的Type选择AR_Demo),将模型放置在识别图上,调整模型大小和位置,让它处于摄像机中央。设置ARCamera:点击ARCamera右侧的Inspector下的Open Vuforia configuration,将刚刚复制的的License Key粘贴到App License Key中,并且勾选上Datasets下的Load AR_Demo Database 和Activate。 五、发布到Android平台模块 点击菜单栏File—Build and settings,选择发布平台Android,点击player settings,修改Package Name后参数Company,点击Add Open Scenes,然后Build,Unity生成apk可执行文件。最后,通过将生成的apk文件传到Android手机上并进行安装运行,实现预期效果。 六、结论与展望 本文的AR制作基于在Unity3D中完成相关测试,最后打包发布成APP安装到Android手机上,运行APP通过手机摄像机即可实现增强现实的效果,完美展示模型与现实的叠加。本文为从事AR相关开发的工作人员提供指导,也为在教育领域苦苦寻找更加高效的教学模式的教

基于Android平台的生活小助手app的设计与实现.

天津工业大学 毕业设计(论文) 基于android平台的生活小助手app的设计与实现 姓名 学院 专业 指导教师 职称 年月日

摘要 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。因此,智能手机的应用软件及其需要的服务将有广阔的发展前景。 在如今这个智能手机系统群雄纷争的时候,2008年Google推出了一款名为Android的开源智能手机操作系统,它采用Linux内核,开放手机联盟(OHA)成员可以任意使用和修改SDK包,系统的开源性使其具有良好的拓展性。这款软件包括了操作系统、用户界面和应用程序,即智能手机工作所需要的全部软件。Android的最大特点是其开放性体系架构,不仅具有非常好的开发、调试环境,而且还支持各种可扩展的用户体验,包括丰富的图形组件、多媒体支持功能以及强大的浏览器。因此,对于软件从业人员来说,Android平台具有无限的吸引力。 本文就在分析讨论Android手机软件开发技术原理的基础上,开发出能为用户提供更好的基于Android平台的4G生活小助手app软件。 关键词:Android;天气;生活助手;

Abstract With the rapid popularization of intelligent mobile phone, intelligent mobile phone operating system market fast. In order to make intelligent mobile phone users can query the services provided by the Internet anytime, anywhere, to expand the function an efficient approach is the application of the system to the mobile phone terminal, let the phone through the mobile network and Internet access to a web site and handle a wide variety of business. Therefore, the intelligent mobile phone application software and service will have broad prospects for development. In now the system of intelligent mobile phone warlords dispute. In 2008, Google launched a product called Android open-source smartphone operating system, which uses Linux kernel, Open Handset Alliance (OHA) members can be free to use and modify the SDK package, the open-source system make it with good scalability. This software includes the operating system user interface and applications that need intelligent mobile phone all the software. The biggest feature of Android is its open architecture, not only has a very good development and debugging environment, but also support a variety of scalable user experience, including rich graphical components, multimedia support, and powerful browser. Therefore, for software practitioners, Android platform has unlimited appeal. This article on the basis of analysis and Discussion on the Android mobile phone software development technology, developed to provide users with better Android platform based on the 4G life of small assistant app software. Keywords: Android; weather; life assistant;

安卓android课程设计报告

安卓a n d r o i d课程设计 报告 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

湘潭大学课程设计报告课程名称______手机安卓开发_______ 课题名称______天气预报APP_______指导老师______周唯___________ 姓名____黄柳________ 班级____12计2班________ 小组______棒棒糖_______ 时间____2015年1月26 日_____ 一、需求分析 (一)引言 1.编写目的 1.1 为用户提供一个显示天气预报的软件,可以根据百度地图显示用户需求的城 市位置,以及用图标表示各城市对应的气象信息,可以简洁的表示出“晴、 雨、雪”和“气温”气象信息。 2. 项目风险 2.1 (项目风险识别是指找出影响项目目标顺利实现的主要风险因素,并识别出 这些风险究竟有哪些基本特征、可能会影响到项目的那些方面。) 2.2 联网收费视用户电话运营商的收费标准决定 2.3 手机或者无线信号不好时,可能无法连接或更新天气情况 3. 预期读者和阅读建议 3.1 预期读者:会使用已经安装安卓系统的手机或者平板电脑及其他移动设备的 用户 3.2 阅读建议:读者应通过该文档可以了解相关项目的需求分析、使用注意事项 以及可能存在的风险 4. 产品范围 2.2手机,平板电脑,MP4,导航仪,上网本,电纸书等使用安卓系统的数码领 域 (二)综合描述 1.产品的状况

1.1 Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设 备。目前未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。 Android操作系统最初由Andy Rubin开发,最初主要支持手机。2005年由 Google收购注资,并组建开放手机联盟开发改良,逐渐扩展到平板电脑及 其他数码领域上。我们开发的相关项目正是一个在安卓平台上开发的软件, 可以用这个软件来实现用户在一些简单的手持设备如手机或者平板电脑等上 面及时的了解到用户所在城市的天气预报。 2. 产品的功能 2.1 天气信息获取 2.2 天气信息显示 3. 系统配置功能 3.1 用户类和特性 安卓平台用户:安卓新用户可以使用软件来了解用户所在城市的天气预报。熟悉安卓平台用户还可以选择对相关软件的系统按自己的喜好进行配置并保留自己的个性化系统配置。 安卓软件开发者:安卓软件开发者(喜好者)可以通过相关的开源代码来了解软件运行的原理。 3.2 运行环境 软件需要在支持安卓系统的可移动设备中正确安装才能正常运行。安卓版本需在及以上,同时建议用户如果是在手机移动设备使用的话,需确保手机支持联网服务。 3.3 设计和实现上的限制 Eclipse是开发相关应用软件的首选集成开发环境,安卓开发环境首先需要安装支持java应用软件运行的java开发软件包(即JDK),然后安装集成开发环境Eclipse,最后安装Android SDK的Eclipse的ADT插件。 Android SDK和Eclipse的ADT插件是必须使用的。 软件支持高效、快速的数据存储方式,包括快速数据存储方式SharedPreferences、文件存储和轻量级关系数据块SQLite,可软件可以使用适合的方法对数据进行进程保存和访问。 3.4 假设和约束(依赖) 软件必须在安卓系统下才可以正常运行,若需要获取天气更新或者是短信服务,需确保用户的数码设备支持联网及短信服务。 (三) 外部接口需求 1 用户的手机设备可以支持联网。 2 用户界面 3 软件接口 软件提供轻量级的进程间通信机制Intent,实 现跨进程组件通信。 4 访问硬件的API库函数通讯接口 4.1 HTTP 协议:有多种接口可以调用 你可以用Java类库封装的 HttpConnection 或者用Apach的开 源项目的 HttpGet 或者HttpPost ,

Android4.0开发环境搭建

Android开发环境搭建 在网上找各种解决办法,无奈,都是互相转帖,要错大家一起错,而且都是老版本的安装方法,虽然没有太大差别,但小的差异还是搞得人很头痛,因为有时候就是一点不同就要找好长时间解决方法,我现在把我的安装历程发布出来,供大家分享,当然版本再更新的话我也不能保证就完全正确,只能保证现在的版本完全没问题。因为现在的android版本与原来的版本有一定的区别,所以我在2.2的基础上改了一下,现在可以安装到4.0 安装JDK 这个在上一篇中已经介绍过了,注意JDK的版本为1.5或者1.6都可以就行了,推荐使用1.6版本,因为它要比以前快得多。还有JAVA_HOME的设置。用set JAVA_HOME命令检查一下就行了。 SDK 4.0安装 今年Google离开大陆,导致登陆他们的网站会比较麻烦,一般情况下是登陆不上去的,需要翻墙,大家都懂的,我不多说,如果能登上 https://www.sodocs.net/doc/2f15465208.html,/sdk/index.html那是最好,如果登不上也没关系,能下的地方好多,上百度上搜有很多,而且下载都很快,我下载的是 android-sdk_r07-windows.zip,一下安装也是以它为例。 下载好后,随便解压到一个地方,目录结构如图所示:

此处SDK Manager.exe和以前版本略有区别,以前是SDK Setup.exe,功能都一样,双击它。(我们下载的也不是完整的SDK,只是一个安装SDK的工具) 双击之后我们会看到如下的界面: 左侧是我们要安装的SDK目录,如果你的网络够快而且空间不是特别少的话,选择Accept All,然后Install,开始漫长的在线安装:

基于Android平台的手机通讯录管理系统

第一章绪论 1.1 项目研究背景 经过多年的发展,随着第三代网络的使用及四代网络的即将来了呢,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google与包括HTC、摩托罗拉、三星、联想等在内的三十多家技术和无线应用的领军企业组成的开发联盟为此于2007年11月退出了一份专为移动设备设计的软件平台——Android OS。 Android 是一套真正意义上的移动性设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android的Java程序运行环境包含一组Java核心函数库及Dalvik虚拟机,它们有效地优化额Java程序的运行过程。Android 系统平台基于优化了的Linux内核,它提供诸如内存管理、进程管理、设备驱动等服务,同时也是手机硬件的连接层。 Abdroid平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定特色化的产品,因此,它具有很大的市场发展潜力。 1.2 项目研究的目的及意义 随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。在Google和Android手机联盟的共同推动下,Android在众多手机操作系统中脱颖而出,受到广大消费者的欢迎。 手机通讯录作为手机的基本功能之一,每天我们都在频繁地使用着。根据手机功能的不断加强与完善,手机通讯录对于人们的意义,已经不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展。通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是一个人名下,可以储存座机、手机、单位、地址、电子邮箱等内容,这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性的的变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层认识的喜爱。 1.3系统主要内容与实现方式

Android移动应用开发习题答案

Android移动应用开发习题答案 单元1 Android开发环境搭建与模拟器创建 1.填空题 (1) 2008 (2) Linux、操作系统 (3) 应用程序层、应用程序框架层、核心类库、Linux内核 (4) Java C++/C (5) 应用框架 (6) 应用程序 (7) 模拟器、Android模拟器 (8) IntelliJ IDEA Android 2.选择题 (1)创建程序的过程中,填写Application Name表示()。 正确答案:A (2)Android操作系统的手机可以有以下几个方法进行软件安装()。(多选题)ABCD (3)Android操作系统主要的特点是:()。(多选题) 正确答案:ABC (4)以下对Android操作系统描述正确的是:()。(多选题) 正确答案:ABCD (5)以下哪些是Android Stuido的优势()。(多选题) 正确答案:ABCD (6)以下哪些是Genymotion模拟器的优势()。(多选题) 正确答案:ABCD 3.简答题 (1)Android的四层架构分别包括哪几层?分别起到什么作用? 参考答案: Linux内核层(Linux Kernel):基于Linux内核,内核为上层系统提供了系统服务。 核心类库层(Libraries):系统库基于C/C++语言实现,通过接口向应用程序框架层提

基于Android Studio的移动应用开发任务驱动教程 供编程接口。 应用框架层(Application Framework):为开发者提供了一系列的Java API,包括图形用户界面组件View、SQLite数据库相关的API、Service组件等。 应用程序层(Applications):包含了Android平台中各式各样的应用程序。 (2)简述Android开发环境安装的步骤。 参考答案: 下载并安装JDK,配置JDK的环境变量; 从Anroid官网上下载Android开发组件(包含Eclipse和Android SDK、ADT); 安装Android开发环境(包括配置Android SDK的环境变量、打开Eclipse通过菜单设定Android SDK路径)。 (3)简述Android Studio的优势。 参考答案:略。 (4)简述Genymotion模拟器的优势。 参考答案:略。 (5)简述Android应用程序创建和运行的步骤。 参考答案: 通过菜单创建Android应用程序,设置应用程序名、Android版本等基本信息。 单击菜单中的运行按钮可以直接运行Android项目(也可以通过菜单配置运行参数, 指定运行的模拟器)。 单元2 Android Studio的组成结构与基本操作 1.填空题 (1) res/layout (2) Activity、Bundle (3) XML (4) java代码文件 (5) AndroidManifest.xml (6) 打包成.apk文件 2.选择题 (1)如果需要创建一个字符串资源,需要将字符串放在res\values的哪个文件中?()B (2)新建的Android程序默认的布局方式是相对布局(RelativeLayout),该布局中包含一个()控件。 B (3)要让布局文件或者控件能够显示在界面上,必须要设置RelativeLayout和控件的

Android开发实战中常用安卓开发框架

Android是基于Linux平台的开源移动操作系统,主要适用于移动设备,如智能手机和平板电脑(当然现在已经适用车控应用了),由Google公司和开放手机联盟领导及开发。不完全统计,Android平台手机的全球市场份额已经达到80%,本文介绍了android开发者实战中最喜欢使用的几种Android开发框架。 1) Corona SDK Corona SDK是一个跨平台技术的工具,它利用Lua开发脚本,从一个特定的移动操作系统开发应用。应用程序可以在模拟器中测试,然后编译为Android的本机代码。同时Corona SDK 还支持与Map、Facebook、OpenFient、GameCenter的集成。然而在编译项目时,程序员需要把代码上传到Corona的服务器上去编译,不能在本地直接编译。 2) Phonegap Phonegap是一款开源的开发框架,旨在让开发者使用HTML、Java、CSS等Web APIs开发跨平台的移动应用程序。它需要特定平台提供的附加软件,例如iPhone的iPhone SDK,Android的Android SDK等,也可以和DW5.5及以上版本配套开发。使用PhoneGap比为每个平台分别建立应用程序稍好一些,因为虽然基本代码是一样的,但是程序员仍然需要为每个平台分别编译应用程序。 3) Xamarin Xamarin 始创于2011年,旨在使移动开发变得难以置信地迅捷和简单。Xamarin的产品简化了针对多种平台的应用开发,包括iOS、Android、Windows Phone和Mac App。Xamarin 由许多著名的开源社区开发者创立和参与,而且也是Mono项目的主导者——C#与?NET框架的开源、跨平台实现。 而这其中Xamarin Studio就是一个用C#语言开发跨平台应用的集成开发环境,它和iOS 以及Android SDK紧密整合。Xamarin Studio提供了很多现代开发所需功能,包括代码完成、调试器、打包和发布应用(支持通过TestFlight发布应用程序)。对于Android,Xamarin还包含了自己的UI生成器(对于iOS,则使用苹果Xcode的UI生成器),此外还集成了Git和Subversion。Android开发者可以使用Xamarin Studio在模拟器和真机上对移动应用进行测试和bug调试。 4) Sencha Touch 2 Sencha Touch是由Sencha公司开发的移动Web应用开发框架,用以提升主流移动设备在浏览器上的触碰操作,增强用户体验。该框架以久负盛名的Ext JS富客户端框架为基础,并支持最新的HTML5及CSS3标准,与流行的Apple iOS和Andriod设备兼容。一方面,它以Webkit浏览器引擎为基础,提供了出色的性能和用户体验;另一方面,它提供了基于GPL V3许可的开源版本和详尽的API文档,体现了良好的开放性和易用性。因此,该框架可帮助移动应用开发人员提升开发效率,从而创造出更多富有创意的移动应用。 5) Appcelerator Appcelerator是一个构建基于SOA的RIA应用的全集成平台,用来构建富应用、交互式的网站和应用程序。Appcelerator应用的语言——Web Expression Language,是一种对HTML 的扩展,它采用直观、声明的方法来构建动态的web应用。

基于Android平台的浏览器开发与实现

中国地质大学 毕业设计(论文)开题报告 题目:基于Android平台的浏览器开发与实现 学院:机电学院 专业:通信工程 班级:075083班 学号:858 姓名:许磊 指导教师:张晓峰 日期:2012 年 2 月29 日

一、选题的依据及意义: 随着智能手机的快速普及,智能手机操作系统市场风生水起。为了让智能手机用户能够随时随地查询互联网所提供的服务,一种高效的办法就是将应用系统的功能拓展到手机终端上,让手机能够通过移动网以及互联网访问Web网站并处理各种各样的业务。 浏览器是网民进入互联网的第一窗口,让用户能够快速的访问自己所需要的信息,如小说、新闻、音乐、视频、体育赛事、天气情况、股市行情等。如今,手机浏览器不仅仅是一种网络应用程序,也逐渐成为一种网络应用平台。各种网络应用基本都可以在浏览器上实现,所以被用户广泛接受成为各大浏览器厂商的最主要目标。 研究本课题的意义是让用户有一个快速的上网浏览入口,给用户一个界面友好,功能强大,易于操作,便于管理的浏览器。同时也让自己更加熟悉Android 应用程序的开发,了解Android应用程序开发的流程,各个模块之间的联系。 二、国内外研究现状及发展趋势: Android 是Google开发的基于Linux平台的开源手机操作系统。它包括操作系统、用户界面和应用程序—移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍。Google与开放手机联盟合作开发了Android,这个联盟由包括中国移动、摩托罗拉、高通、宏达电和 T-Mobile 在内的30多家技术和无线应用的领军企业组成。Google通过与运营商、设备制造商、开发商和其他有关各方结成深层次的合作伙伴关系,希望借助建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。 经过多年的发展,第三代数字通信( 3G)技术获得了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着3G网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Android用户也逐渐增加,根据发展趋势,Android将成为第一大智能手机平台。 浏览器作为用户访问网络的窗口,各大厂商也相继推出了自己的浏览器,如

Android平台介绍及使用指导

Android平台介绍及使用指导 二○一○年二月 版本 1.0

目录 Android平台介绍 ................................................................................... - 4 -基本名词...................................................................................................................... - 5 - 操作方法介绍 .......................................................................................... - 6 - 手机按键介绍.............................................................................................................. - 6 - 快捷键介绍.................................................................................................................. - 6 - 信息功能介绍.............................................................................................................. - 7 - 联系人功能介绍........................................................................................................ - 11 - 通话记录功能介绍.................................................................................................... - 14 - 文本粘贴/复制功能介绍.......................................................................................... - 14 - Push Email(Moxier)功能介绍............................................................................ - 15 - 电子邮件功能介绍.................................................................................................... - 16 - 桌面功能介绍............................................................................................................ - 19 - 蓝牙功能介绍............................................................................................................ - 23 - Wifi功能介绍........................................................................................................... - 23 - 飞行模式功能介绍.................................................................................................... - 23 - CDMA数据链接介绍................................................................................................... - 24 - 黑屏解锁功能............................................................................................................ - 25 - 回复出厂设置............................................................................................................ - 26 - 应用程序设置............................................................................................................ - 26 - GPS设置..................................................................................................................... - 27 - 手机中英文语言切换................................................................................................ - 28 - 更换手机输入法........................................................................................................ - 29 - 数据线链接Android手机........................................................................................ - 29 - 手机测试模式进入方法............................................................................................ - 30 - 横屏显示介绍............................................................................................................ - 30 - 浏览器功能介绍........................................................................................................ - 31 - RSS功能介绍............................................................................................................ - 32 - Q/A- 34 -

相关主题