1、 本科毕业论文(20 届)安卓校园小助手的设计与实现所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘 要现代社会,手机导航己经成为人们工作生活中必不可缺少的一项导航定位服务。随着手机硬件的快速升级换代,对应于手机的各种高级软件服务和应用层出不穷。在这当中,手机导航定位服务,是一项全新且具有广阔市场和应用价值的业务。这其中的领航者百度地图,是百度公司向全国提供的电子地图服务。它拥有纸质地图所无法比拟的优越性,特别是在近年来移动设备智能化、轻便化的趋势下,再加上网络速度的提升,更是让百度地图与人们的生活产生更为息息相关。并且随着移动互联时代的到来,智能手机终端在我们的生活中扮演着越来越
2、重要的角色,时刻影响着我们的日常生活。作为一次在移动终端的简单尝试,安卓校园小助手试图为广大师生提供在手机上的信息展示和道路指引。广大师生只需打开手机,轻轻一点,即能从网络中获取丰富的信息资源,方便快捷。程序设计的目的是希望能给需要此类信息的人们带来方便,同时自己在完成此程序的过程中学到知识和经验。论文系统地分析了河北农业大学校园助手软件开发的背景及过程,首先介绍了软件的开发环境,然后介绍了本软件的详细设计过程以及具体界面的设计和功能,最后对在本软件开发过程中的所遇到的问题进行了总结。基于Android的校园通系统是利用 Eclipse、Android SDK、开发Android程序的Ecli
3、pse 插件作为开发工具,基本流程首先要安装Eclipse。本软件应用于Android手机,方便学校师生在手机上就能直观的了解到河北农业大学的相关信息及校园风貌,并且学校师生可以使用软件提供的图书扫描功能进行图书条形码的扫描,从而获得图书信息。关键词:安卓,手机导航,百度地图,网络传输,条形码图像处理库AbstractWith the advent of the era of mobile Internet, smart phones terminal in our life plays a more and more important role, moment affects our da
4、ily lives. As a simple attempt at the mobile terminal, the android campus little helper is trying to show for the majority of teachers and students to provide information on a mobile phone and road guide. The general teachers and students need to open the phone, gently, namely can obtain abundant in
5、formation resources from the Internet, convenient and quick.Hope is the purpose of design this program can bring convenience to people in need such information, at the same time their learned knowledge in the process of complete of the program and experience.Paper systematically analyzed the hebei a
6、gricultural university campus assistant background and process of software development, first introduced the software development environment, then introduces the detailed design of the software process as well as the specific interface design and function, and finally to the problems in the softwar
7、e development process are summarized. Based on the campus of the Android system is Android program developed by the Eclipse, Android SDK, Eclipse plug-in as a development tool, the basic process to install the Eclipse in the first place. The software used in Android phone, convenient school teachers
8、 and students on a mobile phone can be intuitive understanding to the relevant information of hebei agricultural university and the campus landscape, and school teachers and students can use the software provided by scanning the books qr code scanning function, book information is achieved.key words
9、:Android, JSON; eclipse; network transmission; open source; servers; mobile client目 录摘 要 .II1 绪论 .11.1 前言 .11.2 开发概述 .11.3 手机操作系统的开发现状 .11.4 Android 的构架分析 .21.5 Android 特征 .21.6 论文结构 .32 开发环境和开发技术 .42.1 Eclipse 和 Android 的简介 .42.2 应用程序框架 .42.3 系统运行库 .42.4 Linux 内核 .52.5 Android 应用的构成和工作机制 .52.6 Andr
10、oid 与其他手机操作系统的比较 .62.7 本章小结 .63 系统的需求分析 .73.1 设计思想 .73.2 经济可行性 .73.3 系统可行性分析 .73.4 操作可行性 .73.5 系统技术性分析 .73.6 系统的需求分析 .74 基于安卓平台的百度地图导航设计 .94.1 百度地图 API 申请和使用简介 .94.2 百度地图 SDK 简介 .104.3 百度地图库文件的工程配置流程 .114.4 百度地图初始化的代码配置流程 .115 ZXing 条形码识别和豆瓣读书 API.145.1 ZXing 的简介: .145.1.1 一维码 .145.1.2 二维码 .145.2 ZX
11、ing 调用过程 .155.3 豆瓣读书 .155.3.1 豆瓣图书 API 调用流程 .156 校园助手系统设计与实现 .166.1 总体设计结构图 .166.1.1 该系统的架构如图: .166.1.2 该系统的功能结构图: .166.2 总体设计实现 .176.2.1 欢迎界面: .176.2.2 校园新闻: .176.2.3 校园导航: .186.2.4 图书扫描: .197 总结以及展望 .207.1 总结 .207.2 展望 .208 系统测试知识 .218.1 测试作用 .218.2 测试目的 .218.3 测试方法 .21致 谢 .22参考文献 .23附录 .24- 1 - 1
12、 绪论1.1 前言随着更行各业的技术迅猛发展,移动通信设备与 Internet 向移动终端的普及,年轻一代的手机用户对移动终端的要求越来越高,而 Symbian,Windows Mobile,ios 等手机平台过于封闭,不能很好的满足用户的需求,因此市场迫切需要一个开发性很强的平台。经过多年的发展,第三代数字通信(3G)技术活动了广泛的接受,它为移动终端用户带来了更快的数据传输速率。随着 3G 网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用软件和需要的服务将会有很大的发展空间。Google 为此与 2007 年 11 月推出了一个专为移动设备设计的软件平
13、台Android。Android 是一套真正意义上的开发性的移动设备综合平台,它包括操作系统、中间件和一些关键的平台应用。Android 是由 Linux +Java 构成的开源软件,允许所有厂商和个人在其基础上进行开发。Android 平台的开放性等特点既能促进技术(包括平台本身)的创新,又有助于降低开发成本,还可以是运营商能非常方便地制定自己的特色化的产品。因此,它具有很大的市场发展潜力。手机校园通系统能很好的帮助本校师生及外来人员直观的了解到本校的相关信息和校园风貌,对于不熟悉校园的人来说,在导航功能上也起到很重要的作用。打开软件就能看到学院的平面图结构,能帮助新来人员迅速的熟悉校园环境
14、。1.2 开发概述随着移动互联网高速的发展,校园手机用户数量不断攀升, 手机校园通系统能简单直观的为校园手机用户展示河北农业大学的风貌,对于不熟悉校园的人来说,在导航功能上也起到很重要的作用。基于安卓系统开发的校园导览系统是一个稳定、快捷的览视平台,是手机用户的最佳选择。1.3 手机操作系统的开发现状苹果 iOS 是由苹果公司开发的移动操作系统。苹果公司最早于 2007 年 1 月 9 日的Macworld 大会上公布这个系统,最初是设计给 iPhone 使用的,后来陆续套用到 iPod touch、iPad 以及 Apple TV 等产品上。IOS 与苹果的 Mac OS X 操作系统一样,
15、它也是以Darwin 为基础的,因此同样属于 类 Unix 的商业操作系统。原本这个系统名为 iPhone OS,因为 pad,iPhone, iPod Touch 都使用 iPhone OS,所以 2010WWDC 大会上宣布改名为 iOS(IOS 为美国 Cisco 公司网络设备操作系统注册商标,苹果改名已获得 Cisco 公司授权) 。Symbian 是一个实时性、多任务的纯 32 位操作系统,具有功耗低、内存占用少等特点,非常适合手机等移动设备使用,经过不断完善,可以支持 GPRS、蓝牙、SyncML 以及 3G 技术。Windows mobile 系列操作系统是从微软计算机的 Win
16、dows 操作系统上变化而来的。Windows mobile 系列操作系统功能强大,而且支持该操作系统的智能手机大多数都采用了英特尔嵌入式处理器,主频比较高,在其它硬件设置(如内存、储存卡容量等)上也采用其他操作系统的智能手机要高出许多,因此性能比较强劲,速度比较快。Windows mobile 系列操作系统包括 SmartPhone 以及 Pocket PC Phone 两种平台。Pocket PC Phone 主要用于掌上电脑型的智能手机,而 Smartphone 则主要为手上智能手机提供操作系统。Linux 系统是一个源代码开放的操作系统。由于其开源性,手机制造商可以根据实际情况开放自己
17、的 Linux 手机操作系统,从而也能够吸引更多的软件制造商在其上开发更- 2 - 多的应用软件,丰富的第三方的应用。但是 Linux 操作系统也还存在一些不足,集成开放环境和基于 Linux 的产品与 PC 的连接性比较差等。1.4 Android的构架分析Android 是一个移动设备的软件平台,是由 Linux +Java 构成的开源软件,它提供包括 SDK、Key Apps、Middleware、Linux Kernel 四个部分在内的全套手机软件方案。它开放了基于 Linux 内核以上的开发工具,从而保证了内容的可移植性和多样性。Android 平台为我们开发应用程序提供了一套很好的
18、框架,我们可以在这个平台的基础上开发不同的应用程序,也可以开发新的组件供应用程序调用。Android 的架构是由 Linux 内核、C/C+函数库、Dalvik 虚拟机、应用框架以及关键应用程序构成的。通过编译基于框架的应用程序可以降低开发负荷。应用软件原则上是在 DalvikVM 上运行的。图 1-1Android 架构1.5 Android特征应用框架:用于开发可重用、可替代的组件。Dalvik 虚拟机:Android 采用的 Java 虚拟机是自主开发的代号为 Dalvik 的虚拟机技术,在保证 API 方面兼容的同时 Dalvik 针对移动手机进行了大幅优化,占用资源更小,运行效率更高
19、。内嵌浏览器:基于开源的浏览器网页排版引擎 WebKit。优化的图形:强大的自定义二维图形库。基于 OpenGL ES 1.0 标准的 3D 图形功能,在移动 3D 开发中有着至关重要的地位。SQLite 数据库:SQLite 提供结构化的数据存储。它是一款轻型免费的且开源的数据库,它的设计目标是嵌入式的,它占用的资源非常低、需要的内存空间少、处理速度比较快和支持事务处理功能等。多媒体支持:支持各种通用的音频、视频和静态图像格式,如 MP3、JPG、PNG 等。Open Core 是 Android 多媒体框架的核心,所有 Android 平台的音频和视频采集、播放的操作都是通过它来实现的。通
20、过 Open Core,程序员可以方便快速的开发出想要的多媒体- 3 - 应用程序。GSM 技术:(依赖硬件)Global System for Mobile Communications,全球通讯系统,俗称“全球通” ,是第二代移动通信技术,其开发目的是让全球各地可以共同使用一个移动电话网络标准,让用户使用一部手机就能行遍全球。蓝牙,EDGE,3G and WiFi:(依赖硬件)蓝牙和 Wi-Fi 都是一种短距离的无线连接技术,在短距离内可以实现话音和数据的无线传输。EDGE(Enhanced Data Rate for GSM Evolution),是增强型数据速率 GSM 演进技术。Ca
21、mera ,GPS, compass ,andaccelerometer:(依赖硬件)GPS(Global Positioning System),即全球定位系统。它是由一个由覆盖全球的 24 颗卫星组成的卫星系统。Compass 是一个开放源码的 Java 搜索引擎框架。强大的开发环境:包括一个设备模拟器,调试工具,内存和性能检测,以及 Eclipse IDE 的开发插件。Eclipse 是个集成开放环境。1.6 论文结构绪论 分析了系统的研究背景,介绍了当前手机操作系统、即时通讯软件的发展现状。第一章 绪论第二章 开发环境和开发技术第三章 系统的需求分析第四章 基于安卓平台的百度地图导航设
22、计地五章 ZXing 条形码识别和豆瓣读书 API第六章 河北农业大学校园通系统设计与实现第七章 总结以及展望第八章 系统测试知识致谢参考文献附录- 4 - 2 开发环境和开发技术河北农业大学校园通系统是利用 ANDROID 面向对象的编程方法(OOP)以及基于Eclipse + ANDROID SDK 作为开发工具, Android 会同一系列核心应用程序包一起发布,该应用程序包括 email 客户端,SMS 短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用 JAVA 语言编写的。其解释如下:2.1 Eclipse 和 Android 的简介Eclipse 是一个开放
23、源代码的、基于 Java 的可扩展开发平台,由 IBM 倡议开发,通过安装插件组件构建的集成开发环境。Android 是谷歌(Google)公司推出的手机开发平台,与 iPhone 相似,Android 采用 WebKit 浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比 iPhone 等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部 Web 应用的单一平台。2.2 应用程序框架开发人员也可以完全访问核心应用程序所使用的 API 框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用
24、程序都可以使用其所发布的功能块(不过得遵循框架的安全性限制)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。隐藏在每个应用后面的是一系列的服务和系统, 其中包括 ;丰富而又可扩展的视图(Views),可以用来构建应用程序, 它包括列表(lists),网格(grids),文本框(text boxes),按钮(buttons), 甚至可嵌入的 web 浏览器。内容提供器(Content Providers)使得应用程序可以访问另一个应用程序的数据(如联系人数据库), 或者共享它们自己的数据资源管理器(Resource Manager)提供 非代码资源的访问,如本地字符串,图形,和布局文件( layout files )。通知管理器 (Notification Manager) 使得应用程序