


真诚为您提供优质参考资料,若有不当之处,请指正1 / 87论文题目 基于 Android 平台的维护设备管理系统的设计与实现专业学位类别 工 程 硕 士学 号 作 者 姓 名 指 导 教 师 真诚为您提供优质参考资料,若有不当之处,请指正分类号 密级 UDC注 1 学 位 论 文基于 Android 平台的维护设备管理系统的设计与实现(题名和副题名)(作者姓名)指导教师 副教授电子科技大学 成 都 刘 军 正高职高工国家计算机网络应急技术处理协调中心宁夏分中心技术保障处 银 川(姓名、职称、单位名称) 申请学位级别 硕士 专业学位类别 工程硕士 工程领域名称 软 件 工 程 提交论文日期 论文答辩日期 学位授予单位和日期 年 月 日 答辩委员会主席 评阅人 注 1:注明国际十进分类法 UDC的类号 真诚为您提供优质参考资料,若有不当之处,请指正THETHE MAINTENANCEMAINTENANCE OFOF EQUIPMENTEQUIPMENT MANAGEMENTMANAGEMENT SYSTEMSYSTEM BASEDBASED ONON ANDROIDANDROID PLATFORMPLATFORM DESIGNDESIGN ANDAND IMPLEMENTATIONIMPLEMENTATIONA Master Thesis Submitted toUniversity of Electronic Science and Technology of ChinaMajor:Author:Advisor:School : 真诚为您提供优质参考资料,若有不当之处,请指正。
独 创 性 声 明本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意作者签名: 日期: 年 月 日论文使用授权本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文保密的学位论文在解密后应遵守此规定)作者签名: 导师签名: 日期: 年 月 日 真诚为您提供优质参考资料,若有不当之处,请指正摘 要近几年,随着信息技术的快速发展,尤其是移动通信技术的广泛应用,基于终端的综合信息化建设已成为助力经济发展的重要推手,各行各业的信息化解决方案层出不穷,切实提高了使用单位和企业的办公效率,其中实用性最强、普及率最高的移动终端应用是基于 Android 平台开发的系统。
本文的选题来源于中国移动宁夏公司固原分公司网络建设维护部维护设备的日常管理需求开发项目,利用 Android 技术开发一个适用于建设维护部网络维护设备管理系统在日常维护工作中设备的管理一直是一个棘手的问题,因为人员变动较多、设备种类较多、使用调动频繁等问题,从而导致不能有效的对设备进行管理,甚至造成丢失等严重问题,这些问题造成企业的损失而本系统立足维护需求,主要管理各类网络维护设备的出入库操作、设备状态查询、用户管理及维护事务性公告等,是基于Android 平台开发的移动办公系统,主要通过智能手机或平板电脑实现对维护设备的日常管理由于 Android 开发技术属于一个学习阶段,所以更多的功能有待于以后的研究本设计是在 Microsoft Windows 系统之下,基于 Android 开发平台,利用 SQLite数据库以及平板电脑完成的开发,基本实现了存取查询操作关键词:关键词:android 技术,移动办公,SQLite 数据库,android 开发平台 真诚为您提供优质参考资料,若有不当之处,请指正ABSTRACTIn the 21st century, the rapid development of mobile communication technology, especially the emergence of 3G technology and the popularity of the tide, the intelligence has become a popular contemporary term, smart tablet PCs, the Internet, while also the tide of Tablet PC became popular in the corporate financial constraints, the introduction of the devices people own mobile office trend is very clear, this can reduce network operating costs, and strong penetration to play smart Tablet PC features. Analysts said the strengthening of this trend makes the business office and private activities, the boundaries become increasingly blurred. IDC research shows that enterprises have realized the benefits of mobile deployments, and deployment to the customer service that brings convenience; he can greatly improve business continuity and increase employee productivity and flexibility. This study relies on the Yunnan Power Grid Corporation of mobile platform development project, the use of android technology to develop a management system for small laboratory equipment, a variety of key management laboratory laboratory equipment, the system is based on the android mobile office system, can achieve equipment, access and query operations, the android technology is a learning phase, so more of the functions to be later.This design is under the Microsoft Windows system, based on android development platform, the use of SQLite database, and tablet PCs to complete time development of the basic realization of the Access query.Keywords:Keywords: android technology, mobile office, SQLite database, android development platform. 真诚为您提供优质参考资料,若有不当之处,请指正。
目 录摘 要 .IABSTRACT .II目 录 .III第一章 绪 论 .11.1 序言 .11.2 国内外研究现状 .11.2.1 基于 Android 平台的维护设备管理系统.11.2.2 基于 Android 平台的维护设备管理系统的特点.21.2.3 基于 Android 平台的维护设备管理系统的发展以及现在遇到的问题31.3 本论文研究内容.31.4 本章小结 .4第二章 需求分析 .52.1 设计目标 .52.2 功能概述 .52.3 软件开发环境 .62.3.1 软件环境.62.3.2 硬件环境.62.3.3 其它约束.62.4 对于软件系统的要求 .62.4.1 控制.62.4.2 数据管理能力要求.72.4.3 故障处理要求.82.5 其他专门要求 .82.6 本章小结 .9第三章 系统开发环境及其开发技术 .103.1 ANDROID技术.103.1.1 Android 概念及其发展.103.1.2 Android 开发平台的架构.11 真诚为您提供优质参考资料,若有不当之处,请指正3.1.3 Android 应用程序组件.133.2 ANDROID开发工具的使用.163.2.1 Android 的开发平台.163.2.2 安装 Android 的开发平台.173.2.3 ADB 的使用.203.3 SQLITE数据库.233.3.1 SQLite.243.3.2 SQLite 功能.243.3.3 SQLite 特性.253.3.4 SQLite 类型.253.4 本章小结 .25第四章 系统设计 .274.1 系统功能设计 .274.2 系统流程图 .294.3 数据库设计 .314.4 模块设计 .334.5 本章小结 .33第五章 维护设备管理系统实现过程 .345.1 登录模块 .345.2 主功能模块 .365.3 系统管理 .375.4 设备管理 .385.5 系统帮助 .415.6 数据库存储 .425.6.1 数据库可视化操作工具.435.6.2 系统数据库设计.435.7 系统界面的 UI 设计.445.8 本章小结 .45第六章 测试及性能分析 .466.1 软件测试概述 .466.1.1 软件测试概述.466.1.2 测试方法.46 真诚为您提供优质参考资料,若有不当之处,请指正。
6.1.3 软件测试的原则.466.2 模块测试 .476.2.1 测试计划 .476.2.2 对登陆模块进行测试.486.2.3 对用户的管理模块进行测试.486.2.4 对所有数据模块进行测试.496.3 系统测试 .506.3.1 功能性.506.3.2 易用性.506.3.3 兼容性.506.4 性能分析 .506.5 测试结果 .516.6 覆盖率 .526.5 改进意见 .536.6 本章小结 .54第七章 总结与体会 .55致 谢 .57参考文献 .58附录(外文文献译文) .60深入理解安卓系统的安全性 .60附录(主要代码) .64 真诚为您提供优质参考资料,若有不当之处,请指正第一章 绪 论1.1 序言中国移动作为国家基础电信运营商,公司的信息化水平代表着公司对技术研发和应用的重视程度目前公司已建成并使用的各类自动化办公系统主要有宁夏移动 OA 办公系统、经营分析系统、经营数据分析系统、人力资源自助系统、知识管理平台、网上大学等众多系统平台但随着铁通业务的融合、2G 网络的规模建设、3G 网络的投资、WLAN 网络的建设,以及公司全业务的运营,包括专线的推广、农村无线宽带的建设,公司网络建设维护部门的维护工作量急剧增加,对维护的要求也越来越高1。
为了解决目前维护工作中存在的困难和问题,公司引入第三方维护力量,对大部分的维护工作进行外包,取得了较好的效果但随之而来,我们却面临着一个很大的问题,就是 300 多人的维护团队,维护设备采购了很多,维护设备配备充足,但维护设备使用效率却不高,常常出现有维护工作任务的时候,却没有维护的人员,大量维护设备没有登记,设备出入库管理不到位,不能实现随时随地的设备查询和资料更新,而维护工作多数都在野外,而非办公现场同时,在科技高速发展的今天,尤其随着当前移动通信技术和网络技术在全世界范围内的推广,使得用户获取信息的方式发生了前所未有的变化,对于信息的实时性及移动性具有较高要求的个人与单位,无线数据技术与移动计算技术将为他们带来全新的变化2本系统在 Android 的开发平台上进行开发,在虚拟机上进行运行,能够实现设备的存取、查询和登录,同时针对本系统的 UI 设计,也是该系统的一大亮点1.2 国内外研究现状1.2.1 基于 Android 平台的维护设备管理系统如今,移动终端系统借着 3G 网络的发展和移动数据通信宽带业务的增强,用户对移动终端的业务需求越来越个性化和智能化,国内外各大移动终端设备开发商正在借着这个趋势,希望在未来的移动终端服务产业链中都能分到一杯羹。
目前来说,移动终端设备主要是以智能手机用户的占有量为主流国内外智能手机操作系统主要以Google 公司的 Android、微软公司的 Windows Mobile、诺基亚公司的 Symbian、苹果 真诚为您提供优质参考资料,若有不当之处,请指正公司的 iOS、以及黑毒公司的 B1ackBerry OS 真诚为您提供优质参考资料,若有不当之处,请指正为主,这五个操作系统各有千秋,在功能、视觉、操作、以及开放性都各不相同硬件设备生产商的发展,带动了智能手机第三方软件支持商的发展结合本系统的研究,这里主要介绍 Android 系统在开发第三方应用服务(移动办公系统)方面的应用5基于 Android 平台的维护设备管理系统的是一款运行于 Android 平板电脑或者Android 手机的一款应用软件该软件旨以完全自定义的方式,通过与各行业管理系统无缝衔接的方式,快速的将现有 PC 电脑上的应用功能移植到手机或者平板电脑上,真正实现随时、随地、全天候移动办公随着当今信息科技的迅猛发展, 尤其当前移动通信技术和网络技术在全世界范围内的推广,使得用户获取信息的方式发生了前所未有的变化,对于信息的实时性及移动性具有较高要求的个人与单位,无线数据技术与移动计算技术将带来全新的变化。
基于 Android 平台的维护设备管理系统,在平板电脑或者 Android 手机上实现移动办公,通过无线通信,或者网络传输实现数据同步,完成相关作业,从而提高企业内部效率Android 平台的优势在于使现有的办公系统实现其移动的特性,真正做到“随时随地”,无缝挂接运行中的办公平台,不需要对原有系统作改动、不影响原系统的运行同时 Android 系统的性能稳定,而且娱乐性比较强,在工作疲惫的同时,能够缓解压力,带来了双赢61.2.2 基于 Android 平台的维护设备管理系统的特点1) 为用户提供一个全天候掌上信息平台基于 Android 平台的维护设备管理系统支持市面上所有主流数据平台,能够和多个业务系统无缝衔接,通过自定义的方式,使用户通过 Android 手机或者平板电脑,登录系统就可以实现对维护设备的出入库、登记等操作基于 Android 系统的移动办公系统使得手机不再局限于打电话、发短信,平板电脑不再局限于上网、游戏等娱乐的基本功能,而是一个全天候掌上信息平台,随时随地、方便快捷,宛如一个随身携带的秘书,能够高效的发挥其办公功能72) 为工作者提供一个全天候工作平台 真诚为您提供优质参考资料,若有不当之处,请指正。
基于 Android 平台的维护设备管理系统,也为用户提供了一个全天候的工作平台,全天候工作平台可以打破时间、空间的限制,直接在手机或者平板电脑上完成日常事务,实现无纸化、无电脑、无“办公场所”的“绿色”办公3) 提高了维护设备的利用效率因为我公司建设维护部承担着全市四县一区的网络维护工作,维护工作量大,维护人员有 100 多人维护设备齐全但种类繁多、设备状态不明等一直是维护设备管理中存在的主要问题,也直接影响到了维护效率和维护质量但传统的维护设备管理系统是由专人负责进行管理,其它人员对于维护设备的状态都无法详细了解,而维护人员常年在野外作业,维护设备管理存在诸多问题基于 Android 平台的网络维护设备管理系统,是基于智能手机和平板电脑的用户端管理系统,能够实现人人都是设备管理员,人人都能随时随地进行维护设备的状态查询,极大地提高了维护设备的利用效率84) 实现了维护设备的快捷管理基于 Android 平台的网络维护设备管理系统,实现了每个维护人员对维护设备的自主操作,同时也为维护设备管理员提供了一个更加准确、更加高效的维护设备管理系统1.2.3 基于 Android 平台的维护设备管理系统的发展以及现在遇到的问题2010 年 5 月 19 日上午 10 点 30 分,北京时间 5 月 19 日晚上 11 点 30 分, 万众瞩目的 2010 Google I/O 大会正式的拉开了帷幕。
在 Google I/O 大会的推动下,众多开发商更加看清了 Android 平台的实用性以及其未来的发展前景目前国内 Android 开发是一个新技术,同时也给各个 Android 开发商带来了机遇和挑战所以,为了能够走在 Android 开发的前沿,Android 开发商们纷纷由 Android娱乐开发变成了 Android 应用开发随着智能手机和无线网络的发展,Android 开发技术已经具备了实现移动办公系统的相关功能的能力但是由于 Android 平台的特点,对于实现智能化办公,目前还存在一定的缺点,虽然 Android 系统的蓝牙功能比较强大,但是,想要在 Android 平台上开发 RFID 模块确实是一个难题,而这也是使 Android 的移动办公系统走向完全智能化的一大阻碍9 真诚为您提供优质参考资料,若有不当之处,请指正1.3 本论文研究内容本论文的研究内容主要是基于中国移动宁夏公司固原分公司网络建设维护部维护设备的日常管理需求的开发项目,通过利用 Android 技术开发一个适用于建设维护部网络维护设备管理系统,主要管理各类网络维护设备的出入库操作、设备状态查询、用户管理及维护事务性公告等,本系统是基于 Android 平台开发的移动办公系统,主要通过智能手机或平板电脑实现对维护设备的日常管理。
1.4 本章小结本章介绍了 Android 平台的维护设备管理系统的产生原因、作用及特点,并重点说明了基于 Android 平台的维护设备管理系统在发展中存在的问题及遇到的困难 真诚为您提供优质参考资料,若有不当之处,请指正第二章 需求分析2.1 设计目标本软件旨在帮助网络建设维护部维护中心搭建一个便利的日常办公平台,使得公司维护设备的管理变的方便和快捷,同时也为以后开发基于 Android 平台的其它现场移动办公系统做一个技术支持和积累,以便于更容易的实现其他运营系统的办公移动化 本系统是利用 Java 语言开发的一款基于 Android 平台的设备维护管理系统,本软件是一个独立的软件系统,适用于其他公司或者机构,基本实现了设备查询,出入库,以及用户管理等基本功能,并且为了实现基于 Android 平台的维护设备管理系统的智能化,设计了出整个办公系统的框架图,为今后公司的综合网络维护管理平台奠定基础和提供技术支撑2.2 功能概述本系统是一个基于 Android 平台的维护设备管理系统,拟实现一个智能化的维护管理系统,由于系统较大,所以在本次设计研究中选取了平板电脑上来实现系统的维护管理。
该系统具有系统功能,设备管理,以及系统帮助三个模块,基本实现了设备的存取以及设备进出记录的查询等操作本系统实现的主要功能有:1) 系统功能用户管理修改密码2) 设备管理设备资料入库设备资料入库查询设备资料出库设备资料出库查询设备资料状态查询3) 帮助系统系统简介 真诚为您提供优质参考资料,若有不当之处,请指正系统公告2.3 软件开发环境在满足上述功能的前提下,开发此软件还需要遵循下述非功能的需求,从而开发出用户所希望使用到的软件,使软件具有实用价值2.3.1 软件环境该系统是在 windows 下的 Android 开发平台上开发的,所以对于软件环境有如下要求:1) 操作系统:windows xp,win7 等操作系统2) 开发环境: 前台开发jdk-6u21-windows-i586eclipse-3.6.1android-sdk-windows 后台开发:3) 数据库:SQLite 数据4) 运行环境:Android 系统 2.2 以上2.3.2 硬件环境基于 Intel、AMD 等 CPU 支持的硬件平台;1G 以上的内存2.3.3 其它约束能够移植到其他系统上运行2.4 对于软件系统的要求2.4.1 控制随着计算机技术的迅猛发展以及 Internet 进入商业和社会应用阶段,设备的种类、数量越来越多。
如何利用先进的网络技术和日新月异的计算机设备来有效地收集、处理这些设备,建立以信息化为核心的管理体制,减轻管理人员和业务人员的数据处理负担,极大地提高设备管理效率和管理手段,己经成为当今社会的潮流 真诚为您提供优质参考资料,若有不当之处,请指正在现代化大型研究所信息化管理体系建设中,设备管理系统被看作是重中之重,因为设备是工厂生产中的主体随着科学技术的不断发展,生产设备日益机械化、自动化、大型化、高速化和复杂化,设备在现代工业生产中的作用和影响也随之增大,在整个工业生产过程中对设备的依赖程度也越来越高设备管理的各项制度、流程涉及的点多面广10设备管理系统则是一个以人为主导,利用计算机硬件、软件、网络设备、通信设备以及其他办公设备,进行信息的收集、传输、加工、储存、更新和维护,以战略竟优、提高效率为目的,支持高层决策、中层控制、基层运作的集成化的人机系统而设备管理是管理系统的一个子系统,它具有管理信息系统的共性,同时也具有其特殊性设备是生产的生命线,对研究所正常生产起着决定性的作用信息安全设备管理已成为现代研究所管理的一个重要组成部分把信息安全设备管理纳入研究所管理的重要组成部分己经成为一种趋势11。
本维护设备管理系统有完善的用户登录及安全机制,通过登陆系统即提供用户名和口令后才能访问系统还能轻松注销,防止其他人员进入,保证系统的安全性2.4.2 数据管理能力要求SQLite 是一个免费开源的数据库,一般用于嵌入式系统或者小规模的应用软件中,用以系统开发,你可以像使用 Access 一样使用它,你可以将其免费用于任何应用,包括商业应用另外,它还支持各种平台和开发工具,这点是某些数据库(比如Access、DBISAM)所不具备的SQLite 是一种嵌入式数据库,它跟微软的 Access 差不多,只是一个.db 格式的文件12SQLite 的主要优点如下:1)零配置(Zero Configuration)SQlite 不用安装,不用配置,不用启动,关闭或者配置数据库实例当系统崩溃后不用做任何恢复操作,在下次使用数据库的时候自动恢复2)紧凑(compactness):SQLite 是被设计成轻量级,自包含的一个头文件,一个 lib 库,你就可以使用关系数据库了,不用启动任何系统进程一般来说,整个 SQLite 库小于 225KB3)可移植(Portability)它是运行在 Windows、Linux、BSD、Mac OS X 和一些商用 Unix 系统上,比如 Sun的 Solaris 真诚为您提供优质参考资料,若有不当之处,请指正。
IBM 的 AIX;同样,它也可以工作在许多嵌入式操作系统下,比如QNX、VxWorks、Palm OS、Symbin 和 Windows CESQLite 最大特点是采用无数据类型,可以保存任何类型的数据,即一种动态数据类型,会根据系统的存入值自动判断数据类型SQLite 具有以下五种数据类型:1. NULL:空值2. INTEGER:带符号的整型,具体取决有存入数字的范围大小3. REAL:浮点数字,存储为 8-byte IEEE 浮点数4. TEXT:字符串文本5. BLOB:二进制对象同样的,这样的做法会导致在插入和修改时,要花去更多的时间综上所述本系统采用 SQLite 存储属性等与设备相关的数据,系统数据的完整性和一致性由 SQLite 数据库管理系统来控制和解决,达到较高的标准2.4.3 故障处理要求1) 能引起系统故障的条件为: 登录失败 不能查询设备记录 系统软件出现异常2) 针对以上可能引起本系统运行故障的因素,可以采取以下措施进行解决: 由于用户名或者用户密码不对,请重新检查用户名及用户密码 由于前台与后台的交互出现问题,建议重新启动软件 由于软件系统具有一定的不稳定性,建议重新安装系统。
2.5 其他专门要求应急支持的核心任务是维护系统的基础数据,因此,该系统的使用范围须严格限制在一定的范围内,并有专职人员对系统进行日常检查,在进行数据采集期间,数据来源必须经过验证,输入数据须有不同的操作员进行核对以保证技术数据的准确,从而为应急提供可靠的基础信息系统设计须考虑界面提示信息的简洁和通俗,尽可能减少计算机专业术语而采用业务术语,提高系统与操作人员的亲和力 真诚为您提供优质参考资料,若有不当之处,请指正2.6 本章小结本章结合宁夏移动公司在设备维护中存在的困难和维护需求,利用 windows 系统下的 Android 开发平台搭建一个便利的日常办公系统,使得公司维护设备的管理变的方便和快捷,同时也为以后基于 Android 平台的现场移动办公做一个技术支持和积累,以便于更容易的完成其他办公方面的移动办公系统 真诚为您提供优质参考资料,若有不当之处,请指正第三章 系统开发环境及其开发技术3.1 Android 技术3.1.1 Android 概念及其发展Android 是由 Google 公司在 2007 年 11 月 5 日公布的基于 Linux 内核的平板电脑操作系统,早期由 Google 开发,后由开放手持设备联盟(Open Handset Alliance)开发。
它采用软件堆层(Software Stack,又名软件叠层)的架构,该架构由三部分组成处于底层的 Linux 内核只提供最基本的功能;其他应用软件则是由其它各公司自行研发,程序部分由 Java 语言编写132010 年底的数据显示,正式推出仅有两年的 Android 操作系统完全超越了在该领域称霸十年之久的诺基亚(Nokia)Symbian OS 系统采用了 Android 系统的主要手机制造厂商包括三星(SAMSUNG) 、LG、摩托罗拉(MOTOROLA) 、索尼爱立信(Sony Ericsson) 、宏达电子(HTC) 、魅族等,使得 Android 系统跃居为全球最受大众青睐的智能手机操作系统,Android 系统不但广泛应用于智能手机,同时也在平板电脑市场发展迅猛相比起现在主流的 Android 系统,intel 联合诺基亚的 Meego 系统、黑莓 Tablet OS、微软 Windows 以及惠普 WebOS 系统虽然都有自个的特点,但是由于不确定因素太多,使得 OEM 厂商和用户都只能观望,毕竟谁也不愿意成为失败品的实验者随着 3G 技术的迅猛发展,智能化已经成为当下一个流行的词汇,智能手机、上网本,以及平板电脑也在此大潮下流行开来。
在各企业财政紧缩下,引入员工自己的设备进行移动办公的趋势非常明显,这样能够降低网络运营费用,以及发挥智能平板电脑渗透性强的特点分析师表示,这种趋势的加强使得商务办公和私人活动的界限越来越模糊IDC 的调查表明,企业已经意识到了移动部署的好处,以及这样部署给客户服务带来的便利性:他能很大的改进业务的连续性和提高员工效率和灵活性然而,调查还强调这样部署对企业的流动性会产生障碍,包括成本,设备管理和数据安全14McQuire 警告称,当谈到移动部署所带来的价值时,首席信息官和 IT 部门处于一个十字路口的尴尬境地,在作出大规模的投资之前公司需要在政策和安全问题上作深入的研究根据 McQuire 分析,由于越来越多的人对平板电脑作为办公设备产生浓厚的兴趣,企业应用商店将在 2011 年有更加显著的表现微软和 RIM 仍有望成为世界一流的企业平台,但是由于苹果发布的 iOS 4 对公司用户的关注,该公司已经上升到该领域第三的位置 真诚为您提供优质参考资料,若有不当之处,请指正所以采用 Android 来开发一款移动办公系统,已经成为移动办公系统的主流移动办公开发苹果 iPad 的出现,使得平板电脑这个一直以来不温不火的市场瞬间爆发。
统计显示,全球已开发、正开发或即将开发平板电脑的厂商已达 30 多家,产品款式更是不胜枚举包括联想、宏基、惠普等 PC 终端厂商,诺基亚、摩托罗拉、RIM、酷派等平板电脑终端厂商,中兴和华为等传统通信设备商,微软、英特尔、高通等软件和芯片厂商,甚至比亚迪、国美电器、皮尔卡丹等跨界者也齐齐上阵苹果的 iOS4 系统帮助iPad 成就了 2010 年的销售奇迹,但是由于苹果的独家性,其他品牌如果想要推出平板电脑,那就只能选择其他的平板操作系统,而在成本控制非常严格的今天,免费的东西就会受到追捧,而免费的谷歌 Android 系统自然成为了众多品牌的首选16在本届 CES 上,谷歌展示了一段 Android3.0 系统的视频,这个名为“Honeycomb”的系统被 Google 定位为“专为平板而做” 摩托罗拉首款平板产品Xomm 据称就是采用 Android3.0 系统像在平板电脑领域开源的 Android 给 iPhone 带来的挑战一样,硬件厂商也希望 2011 年借助新的 Android 系统在平板市场改变格局事实上,去年 iPad 的竞争者三星于 11 月推出的 Galaxy Tab 也是采用的Android2.2 系统,据称目前销量已经达到 150 万台。
而另一巨头联想的乐 Phone 虽然用的是独家研发的系统,但是也是基于 Android 系统改良而成在几家巨头的带动之下,不少品牌也投入了谷歌的怀抱3.1.2 Android 开发平台的架构一个稳定优秀的系统背后必定有一个稳定的系统架构错支撑如图 3-1 所示,该图是 Android 开发平台的架构图 真诚为您提供优质参考资料,若有不当之处,请指正图 3-1 Android 开发平台的架构图中由上到下的四层分别为:应用程序层、应用程序框架层、系统运行库层和Linux 内核层171)、应用程序层应用程序层是系统的最上层,负责直接与用户进行交互应用程序是包括Android 平台配置的一套应用程序集,例如短消息程序、拨号程序、视频播放器、日历、网页浏览器、地图、输入法等工具,也包括基于 Android 平台的应用程序框架之下使用 Java 语言对其进行开发的程序等2)、应用程序框架层开发人员进行 Android 系统的开发是以应用程序框架层为基础的,开发人员所开发的应用程序可以访问所有的应用框架 APIs应用程序框架的设计目的是简化组件的重复利用所有的应用所发布的组件均可被其他应用调用,而且组件也可以被其他的组件所替代。
应用程序框架层主要包含的系统服务有: 可扩展视图(View):用于构建应用,包括表格、列表、按钮、内嵌浏览器和文本框 真诚为您提供优质参考资料,若有不当之处,请指正 内容提供者(Content Providers):把本应用的内容提供给其它应用或者帮助该应用访问其它应用的数据 资源管理器(Resource Manager):能够访问非代码的资源,如布局文件、图形、本地字符串等 通知管理器(Notification Manager):可在状态栏中显示出定制的警告信息 活动管理器(Activitiy Manager):能够提供查看后台堆栈的功能,并且对应用的生命周期进行管理3)、系统运行库Android 系统中所包含的核心类库可以提供 Java 核心类库中的大部分功能每个Android 应用都是由独立的进程运行Android 包含了一组 C/C+系统开发库,并应用于 Android 系统的各个组件中系统开发库包括媒体函数库、Surface Manager、WebKit、SGL、OpenGL ES、FreeType、媒体框架、SQLite、Libc 等 9 个功能4)、Linux 内核层Android 系统平台开放性的基础就是 Linux 内核。
Android 平台操作系统采用了Linux 2.6 版的内核,包括显示驱动、Flash 内存驱动、摄像头驱动、Binder(IPC)驱动、键盘驱动、Wi-Fi 驱动、Audio 驱动及电源管理等部分Linux 内核层是在在硬件层和软件层之间建立了一个抽象层,所以开发人员在应用程序开发过程中无需关心具体的硬件细节而对于手机开发商来说,必须对 Linux 的内核层进行相应的修改之后才能将 Android 系统运行于自己的硬件平台,一般所要做的工作就是编写硬件驱动程序3.1.3 Android 应用程序组件1) Android 应用程序构成一般情况下 Android 应用程序是由以下个组件构成的: 活动(Activity) ; 广播接收器(Intent Receiver) ; 服务(Service) ; 内容提供器(Content Provider) 需要注意,并不是每一个 Android 系统的应用程序都必须包含以上 4 个组件,但必须由以上四个组件中的部分组成 真诚为您提供优质参考资料,若有不当之处,请指正应用程序的开发人员如果一旦确定该应用程序所需要的组件,就应该在AndroidManifest.xml 中将其列出来。
AndroidManifest.xml 是 XML 配置文件,是用来定义应用程序中所需要的组件、相应组件的功能以及必要条件等18 活动(Activity)活动(Activity)是 Android 应用程序里最基本的组件在应用程序里,一个活动就是一个单独的屏幕,每一个活动都可以实现成一个独立的类,而且是从活动的基类中继承活动类会显示用户接口,用户接口是由视图控件所组成,并对事件做出响应大多数应用程序由多个屏幕显示所组成,例如打开一个新的屏幕时,前次的的屏幕将会被置为暂停状态,并且将其压入历史堆栈,用户通过回退操作就可以回到之前的屏幕用户可以根据自己的需求选择性地删去并不需要保留的屏幕,这是由于Android 系统会把每个从主菜单打开的程序保留在堆栈中 广播接收器(Intent Receiver)开发者可以使用 Intent Receiver 让自己的应用对一个外部事件做出相应响应,Intent Receiver 不能显示用户界面,它只能通过 Notification Manager 通知用户这些有趣的事情发生了Intent Receiver 可以在 AndroidManifest.xml 中注册,也可以在程序代码中使用 Context.registerReceiver()进行注册。
服务(Service)服务具有比较长的生命周期,它是缺少用户界面的程序代码一个非常典型的例子就是根据播放列表播放音乐的媒体播放器在某些媒体播放器的应用程序中,可能同时会有一个或者多个活动正在进行,能够提供给用户选择并且播放歌曲但是活动并不需要处理音乐回放(Playback)功能,这是由于用户希望在切换到其他的屏幕之后,当前音乐还可以在后台继续播放本例中,媒体播放器的活动是使用Context.startService() 启动服务的,这就可以在后台保持着播放音乐的功能与此同时,系统会一直保持这个服务在运行,一直到服务结束另外,应用开发人员也可以通过 Context.bindService()的方法,连接到一个服务(前提是这个服务还没有运行就要启动) 当一个服务被连接后,开发者可以通过服务所提供的接口与其进行通信在媒体播放器的例子里,也可以进行重播、暂停等操作 内容提供器(Content Provider)应用程序可以保存数据到文件中或者 SQLite 数据库中,或者是其他任何有效的设备中如果开发者想让自己的应用数据可以同其他的应用共享时,此时内容提供器就会起到作用一个内容提供器 真诚为您提供优质参考资料,若有不当之处,请指正。
的类实现了一组标准的定义,能够让其他的应用保存或读取此内容提供器处理的各种数据类型2) Android 应用程序的生命周期在多数的情况下,每一个 Android 应用都可以运行在自己的 Linux 进程中当应用程序的某些代码需要被运行时,这个进程就会被创建而且会一直运行,一直到系统判断出该进程已经不再有用就停止,然后系统就会回收该进程所占用的内存以便将其分配给其他的应用程序 开发者必须理解不同的应用程序组件(尤其是 Activity、Service 和 Intent Receiver)是如何影响应用程序生命周期的,这是非常重要的不正确地使用这些组件可能会导致系统终止正在执行重要任务的应用程序进程3) Android 应用程序设计策略一个成功的 Android 应用程序往往提供一个突出的用户体验当 Android 团队构建了一个有着健壮核心的系统后,大多数的用户体验将来源于用户和应用程序之间的交互显著的用户体验体现在三个核心特征上,即快速、响应、无缝当然,每一个平台都曾经有过类似的三种性质尽管如此,每个平台实现这些特性的方式也有所不同194) Android 应用程序的开发Android 开发是使用 Java 语言,在 Eclipse,JDK,Android SDK 组成的 Android开发平台上进行开发的,在开发之前要建立一个 Android 虚拟机,而编写好的工程文件需要在虚拟机上运行。
5) Android 的安全与权限Android 是一个多进程的系统,每一个应用程序(和系统的组成部分)都运行在自己的进程中应用程序和系统间的安全通信通过标准的 Linux 设备在进程中被执行,例如被分配给应用程序的用户和用户组 ID额外的安全特性通过“许可”机制来提供,该机制能够对一个指定进程实现的特定操作进行约束6) 资源管理和国际化Android 应用程序资源管理系统包括如何把它应用于国际化和本地化资源是应用程序的资产(包括图像、本地化字符串、XML 布局等) ,资源是外部文件(不含代码的文件) ,它被代码使用并在编译时编入应用程序中Android 支持不同类型的资源文件,包括 PNG,XML 和 JPEG 文件XML 文件会根据描述的不同有不同格式源代码和 XML 文件将资源打包起来并编译到二进制文件中,这种模式能够使资源以更快速度被加载字符串也会被压缩为更高效的模式正是这些原因,所以Android 平台上存在着不相同的资源类型 真诚为您提供优质参考资料,若有不当之处,请指正Android 资源系统可以跟踪所有的与非代码相关的应用通过使用资源类,从而访问到应用程序的资源,资源的实例常常会和应用程序相联系,通过Context.getResources()来访问。
应用程序的资源在编译过程中被编译到的应用程序的二进制代码中,为了能够使用某些资源,需要将它们放置在正确的代码目录结构中,然后编译由于是编译过程中的一部分,所以其产生的资源代号也可以在源代码中使用这允许编译器验证应用程序代码和定义的资源是否相符7) Android 平台的可选 APIAndroid 平台适用于各种各样的手机,从最低端的普通手机直到最高端的智能手机核心的 Android API 在每部手机上都可使用,但仍然有一些 API 接口有一些特别的适用范围,这就是所谓的“可选 API” 这些 API 之所以是“可选的” ,主要是因为一个手持设备并不一定要完全支持这类 API,甚至于完全不支持例如,一个手持设备可能没有 GPS 或 Wi-Fi 的硬件在这个条件下,这类功能的 API 仍然存在,但不会以相同的方式来工作例如 Location API 仍然在没有 GPS 的设备上存在,但极有可能完全没有安装功能提供者,意味着这类 API 就不能有效地使用3.2 Android 开发工具的使用3.2.1 Android 的开发平台如下是在 Android 开发中需要的软件,同时只有三者同时具备,才能搭建Android 开发平台android-sdk-windowsjdk-6u21-windows-i586eclipse-jee-helios-SR1-win321) 系统和软件配置要求要通过 Android SDK 中提供的代码和工具进行 Android 应用程序的开发,需要一个适用于开发的电脑和合适的开发环境,具体要求如下: 支持的操作系统Windows XP、Vista、Windows 7 真诚为您提供优质参考资料,若有不当之处,请指正。
Mac OS X 10.4.8 或更新的版本(只支持 x86 架构)Linux(在 Ubuntu Dapper Drake 上测试过) 支持的开发环境Eclipse 3.2,3.3(Europa) ,3.6 Android 开发工具插件(可选)其他的开发环境或者 IDE JDK5.0 或者 JDK6.0(仅有 JRE 是不够的)与 GNU 的 Java 编译器不兼容Apache Ant 对 Linux 和 Mac 版本需要 1.6.5 或更新,对 Windows 版本需要 1.7 或更新3.2.2 安装 Android 的开发平台1) 安装 SDKAndroid 开发是基于 Java 语言的系统开发,因此其语法和编程规范与标准的 Java程序是一致的,对应的开发环境也是必不可少的,因此在进行程序开发之前,一定要首先安装 Java SDK 开发环境并进行相应的配置20首先,下载好 SDK 包后,将 zip 文件解压缩至合适的地方,安装在默认 SDK 安装目录下,其目录为 C:Program Filesandroid-sdk-windows在 Windows 下,右键点击【我的电脑】 ,选择【属性】 ,在【高级】页中,点击【环境变量】按键,新建两个变量,分别为 path 和 classpath,将 Java SDK 安装目录下的 bin 目录和 lib 目录分别添加到环境变量,如图 3-2 所示。
图3-2 系统环境变量配置示意图安装完成后,可以进行环境变量配置的测试,开始运行,键入 cmd,弹出命令提示符窗口,这是一个小型的 DOS 模拟命令控制台,可以进行一些基本的命令输入输入 javac 命令,如果出现了提示信息,则表示环境配置成功了,如图 3-3 所示 真诚为您提供优质参考资料,若有不当之处,请指正图 3-3 配置成功提示信息2) 安装 Eclipse 插件(ADT)利用 Eclipse 作为 Android 的开发环境,为此必须要为 Android 定制一个插件:Android Development Tools(ADT)ADT 插件集成了对 Android 工程和工具的支持,它包含了大量功能强大的扩展,使得创建、运行、调试 Android 程序更简单更快捷3) 更新 ADT 插件选择 Help Software Updates Manage Configuration在其中找到 Android Development Tools 并选中在 Available Tasks 下选择 Scan for Updates在 Eclipse 上安装 Android SDK打开 Eclipse-Window-Preferences在 Preferences-Android 中的 Location 中添加 Android 的路径地址:C:Program Filesandroid-sdk-windows打开 Window-Android SDK and AVD Manger,在里面下载我们需要的 Android 虚拟机,这里我下载了 Android1.5, 真诚为您提供优质参考资料,若有不当之处,请指正。
Android1.6,Android2.1,Android2.2 等一个虚拟机的版本启动 Window-Android SDK and AVD Manger,选择 virtual devices,创建一个我们将要用到的虚拟机4) 创建 Android 工程ADT(Android Development Tools)插件提供了一个创建新工程的向导,以使你能够快速的创建一个新的 Eclipse 工程或者为现有代码创建一个新工程按照以下步骤来创建一个工程:选择 File New Project选择 Android Android Project,然后点击 Next在 Content 中选择 Project 选择 Create new project in workspace 以创建一个新的工程键入工程的名字,程序的名称,base package 的名字,Activity class 的名字来创建一个 stub .java 文件ADT 插件会根据你的工程类型创建以下合适的文件夹和文件:src/文件夹包含 stub .java activity file res/文件夹包含空间资源文件AndroidManifest.xml 是工程的 manifest 5) 创建启动配置要想在 Eclipse 下运行并调试你的程序,你需要先创建启动配置。
在启动的配置中指定了即将要启动的工程和要使用的模拟器选项等要给程序创建所需启动的配置,需要按照如下步骤操作:选择 Run Open Run Dialog. 或者 Run Open Debug Dialog. 在左侧的工程类型的列表中,点击右键选择 Android Application,然后选择 New ,给你的启动配置输入一个标题在 Android 里的 Tab 页面上,找到开始的工程与 Activity在模拟器的 Tab 页面上,设置所需要的屏幕与网络属性,以及其他的一部分模拟器的启动选项在 Common 的 Tab 页面上,可以设置一些附加选项点击 Apply 来保存并启动配置,或者也可以点击 Run 和 Debug6) 运行及调试程序当建立了工程,并且为程序设置好可启动配置以后,按照如下的步骤便可以运行并且调试程序了 真诚为您提供优质参考资料,若有不当之处,请指正在 Eclipse 主菜单上的选项中选择 Run Run 或者 Run Debug,运行或调试,并应用启动配置需要注意到的是可用启动配置是默认最近的一次在启动配置中所选择的那个并不一定必须是对应在 Eclipse 中所打开的那一个程序。
需要设置或更改启动配置时,可以调出配置管理器,即点击 Run Open Run Dialog. 或者 Run Open Debug Dialog. 运行或调试应用程序可能会引发出以下的动作:启动模拟器编译工程,将相应的程序安装于模拟器上Run 启动程序Debug 启动程序进入到“等待调试器”模式中,然后打开调试视图,并且连接到Eclipse 的 Java 调试器上3.2.3 ADB 的使用1) ADB 工具的简介21Android 调试工具箱(adb)是多种用途的工具,该工具可以帮助你管理设备或模拟器的状态可以通过下列几种方法加入 adb:在设备上运行 shell 命令通过端口转发来管理模拟器或设备从模拟器或设备上拷贝来或拷贝走文件2) ADB 工具的使用 发出 adb 命令发出 Android 命令:你可以在你的开发机上的命令行或脚本上发布 Android 命令,使用方法如下:adb -d|-e|-s 当你发出一个命令,系统启用 Android 客户端客户端并。