Android移动应用项目化教程(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-03 16:48:59

点击下载

作者:企想学院

出版社:中国铁道出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Android移动应用项目化教程

Android移动应用项目化教程试读:

前言

智能家居是在互联网影响之下物联化的体现。智能家居通过物联网技术将家中的各种设备(如音视频设备、照明系统、窗帘控制、空调控制、安防系统、数字影院系统、影音服务器、网络家电等)连接到一起,提供家电控制、照明控制、电话远程控制、室内外遥控、防盗报警、环境监测、暖通控制、红外转发,以及可编程定时控制等多种功能和手段。与普通家居相比,智能家居不仅具有传统的居住功能,还兼备建筑、网络通信、信息家电、设备自动化,提供全方位的信息交互功能,甚至可节省各种能源费用。

智能家居作为一个新产业,市场消费观念还未形成,但随着智能家居市场的推广普及,智能家居市场的消费潜力是巨大的。正因为如此,国内优秀的智能家居生产企业愈来愈重视对行业市场的研究,大批国内优秀的智能家居品牌迅速崛起,逐渐成为智能家居产业中的翘楚。

智能家居产业的兴起,也带动着科技的进一步发展,本书通过Android移动应用来实现智能家居控制系统,并以Android移动应用作为全书的主要讲解内容和实际开发项目,意在提高读者对于Android移动应用项目的实训学习、动手操练能力,同时也为全国职业院校技能大赛智能家居安装与维护赛项的参赛者提供了Android移动应用开发部分的辅导。

本书共分为6个项目:

项目一介绍了开发环境以及环境的搭建,通过本项目的学习,学生可以自己搭建Android开发环境,很好地了解Android环境和eclipse的使用。

项目二讲述在eclipse上开发一个登录/注册模块,并进行简单的界面设计,完成应用程序登录/注册功能。

项目三讲述了单控/显示模块的搭建,分为单控部分和显示部分,单控部分可以实现对样板间设备的控制,显示部分用于显示样板间的环境参数。

项目四讲述了联动模块的搭建,通过自定义条件完成相应控制功能。

项目五讲述了情景模块搭建的方法,共4个情景模式,不同的情景模式完成不同的功能操作。

项目六讲述了绘图模块搭建的方法,利用采集到的环境参数绘制柱状图,并可以实时更新柱状图。

本书建议学时为70学时,具体如下:

本书由企想学院编著,编写过程中得到全国工业和信息化职业教育教学指导委员会和全国职业院校技能大赛智能家居安装与维护赛项专家组的具体指导。教材编写邀请学校一线教师参与,得到企业工程师协助,具体分工如下:刘传青(永嘉县职业中学)、寻桂莲(上海市贸易学校)、贾俊花(上海市贸易学校)、解璐璐(东华大学)和毕辰龙(上海企想信息技术有限公司)编写了项目一、二、三;马高峰(余姚市职成教中心学校)和徐小凤(上海企想信息技术有限公司)编写了项目四;尹金(重庆工商学校)和张冬冬(上海企想信息技术有限公司)编写了项目五;张虹(武汉机电工程学校)和朱建华(上海企想信息技术有限公司)编写了项目六。全书由徐方勤和周连兵策划指导并统稿。

由于时间仓促,编者水平有限,书中难免会有疏漏与不妥之处,敬请广大读者批评指正。

企想学院2017年10月于上海项目一开发环境搭建项目目标

● 了解Android系统结构以及Android开发工具的使用。

● 完成开发环境的搭建。项目描述

在正式开发移动应用之前,详细介绍了移动开发中常见的各个知识点,包括Android、JDK、SDK、eclipse和ADT。在读者了解理论知识后,详细讲解了搭建Android开发环境的步骤,分别为JDK的安装、JDK环境变量的配置、eclipse开发软件的安装、SDK的安装、ADT插件的安装和安卓模拟器的使用。相关知识

因为Android程序都是用Java语言编写的,所以本书的读者需要有一定的Java基础。Java入门知识不在本书的介绍范围之内,若读者之前从未接触过Java,建议先学习Java。在开始搭建Android开发环境之前,先向读者介绍一下Android的开发环境及其开发工具。1.Android

Android是一种基于Linux的自由及开放源代码的操作系统。Android操作系统最初由Andy Rubin开发,主要支持手机。

Android系统于2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟,共同研发改良Android系统。随后,Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。此后,Android系统逐渐扩展到平板计算机及其他领域,如电视、数码照相机、游戏机等。

2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。在2013年9月24日,谷歌开发的操作系统Android迎来了5岁生日,此时,全世界采用这款系统的设备数量已经达到10亿台。2014年第一季度Android平台已占所有移动广告流量来源的42.8%。2017年3月,从Statcounter的网络活跃度看,谷歌的安卓系统占比37.93%,已成为最活跃的操作系统。

Android在正式发行之前,最开始拥有两个内部测试版本,并且以著名的机器人名称来对其进行命名,分别是:阿童木(Android Beta)、发条机器人(Android 1.0)。后来谷歌将其命名规则变更为用甜点作为系统版本代号的命名方法,如表1-1所示。

表1-1 Android系统用甜点作为系统版本代号的命名方法

续表

为了更好地了解Android操作系统,先看一下它的系统架构。Android大致可以分为四层架构,五块区域,如图1-1所示。

图1-1 Android的架构和区域(1)Linux内核层

Android系统是基于Linux内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动、声音驱动、照相机驱动、蓝牙驱动、Wi-Fi驱动、电源管理等。(2)库文件层

库文件层通过库为系统提供主要的特性支持。例如,库提供了数据库的支持,OpenGL/ES库提供了3D绘图的支持,WebKit库提供了浏览器内核的支持等。

同样在库文件层还有Android运行库,它主要提供一些核心库,能够允许开发者使用Java语言编写Android应用。另外,Android运行库中还包含了Dalvik虚拟机,它使得每个Android应用都能运行在独立的进程中,并且拥有一个自己的Dalvik虚拟机实例。相较于Java虚拟机,Dalvik是专门为移动设备定制的,它针对手机内存、CPU性能有限等情况做了优化处理。(3)应用框架层

应用框架层主要提供构建应用程序时可能用到的各种API,Android自带的一些核心应用就是使用这些API完成的,开发者也可以通过使用这些API构建自己的应用程序。(4)应用层

所有安装在手机上的应用程序都属于这一层,比如系统自带的联系人、短信等程序,从Google Play上下载的小游戏、自己开发的程序等。

Android系统可提供以下内容供开发者开发应用程序:(1)四大组件

Android系统四大组件分别是活动(Activity)、服务(Service)、内容提供器(Content Provider)和广播接收器(Broadcast Receiver)。

①Activity:一个Activity通常就是一个单独的屏幕(窗口)。Activity之间可以通过Intent进行通信。Android应用中每个Activity都必须在AndroidManifest.xml配置文件中声明,否则系统将不识别也不执行该Activity。

②Service:用于在后台完成用户指定的操作。Service分为两种:started(启动)——当应用程序组件(如Activity)调用startService()方法启动服务时,服务处于started状态;bound(绑定)——当应用程序组件调用bindService()方法绑定到服务时,服务处于bound状态。

startService()与bindService()的区别在于启动服务是由其他组件调用startService()方法启动的,这导致服务的onStartCommand()方法被调用。当服务是started状态时,其生命周期与启动它的组件无关,并且可以在后台无限期运行,即使启动服务的组件已经被销毁。因此,服务需要在完成任务后调用stopSelf()方法停止,或者由其他组件调用stopService()方法停止。使用bindService()方法启动服务,调用者与服务绑定在了一起,调用者一旦退出,服务也就终止。

Service通常位于后台运行,它一般不需要与用户交互,因此Service组件没有图形用户界面。Service组件需要继承Service基类。Service组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。开发人员需要使用标签,在应用程序配置文件中声明全部的Service,

③Content Provider:可以将一个应用程序的指定数据集提供给其他应用程序使用。其他应用可以通过Content Resolver类从该内容提供者中获取或存入数据。开发人员不会直接使用Content Provider类的对象,大多数是通过Content Resolver对象实现对Content Provider的操作。

Content Provider实现数据共享,用于保存和获取数据,并使其对所有应用程序可见。这是不同应用程序间共享数据的唯一方式,因为Android没有提供所有应用共同访问的公共存储区。只有需要在多个应用程序间共享数据时才需要内容提供者。例如,通讯录数据被多个应用程序使用,且必须存储在一个内容提供者中。它的好处是统一数据访问方式。

Content Provider使用URI(统一资源标识符)来唯一标识其数据集,这里的URI以content://作为前缀,表示该数据由Content Provider来管理。

④Broadcast Receiver:可以使用它对外部事件进行过滤,只对感兴趣的外部事件(如当电话呼入时,或者数据网络可用时)进行接收并做出响应。广播接收器没有用户界面,但是可以启动一个Activity或Service来响应它们收到的信息,或者用NotificationManager来通知用户。通知可以用很多种方式来吸引用户的注意,例如闪动背灯、震动、播放声音等。一般是在状态栏上放一个持久的图标,用户可以打开它并获取消息。

广播接收者的注册有两种方法,分别是程序动态注册和AndroidManifest文件中进行静态注册。动态注册广播接收器的特点是当用来注册的Activity关掉后,广播也就失效了。静态注册无须担忧广播接收器是否被关闭,只要设备是开启状态,广播接收器也是打开着的。也就是说,哪怕APP本身未启动,该APP订阅的广播在触发时也会对它起作用。(2)丰富的系统控件

Android系统提供了丰富的系统控件,使得开发者可以很轻松地编写出漂亮的界面。当然,如果开发人员不满足于系统自带的控件效果,也完全可以定制属于自己的控件。(3)SQLite数据库

Android系统还自带了这种轻量级、运算速度极快的嵌入式关系型数据库。它不仅支持标准的SQL语法,还可以通过Android封装好的API进行操作,让存储和读取数据变得非常方便。(4)地理位置定位

移动设备和PC相比,地理位置定位功能是很大的一个亮点。现在的Android手机都内置有GPS,走到哪里都可以定位到自己的位置。(5)强大的多媒体

Android系统还提供了丰富的多媒体服务,如音乐、视频、录音、拍照、闹铃等,这些都可以在程序中通过代码进行控制,让应用程序变得更加丰富多彩。(6)传感器

Android手机中都会内置多种传感器,如加速度传感器、方向传感器等,这也算是移动设备的一大特点。通过灵活地使用这些传感器,开发人员可以做出很多在PC上根本无法实现的应用。2.JDK

JDK是Java语言的软件开发工具包,可以用于移动设备、嵌入式设备上的Java应用程序。JDK是Java开发的核心,包含了Java的运行环境(JVM+系统类库)和Java工具。

JDK包含的基本组件包括:

①javac(编译器):将源程序转成字节码。

②jar(打包工具):将相关的类文件打包成一个文件。

③javadoc(文档生成器):从源码注释中提取文档。

④jdb(debugger):查错工具。

JDK中还包括完整的Java运行环境(Java Runtime Environment,JRE),也称为Private Runtime,包括了用于产品环境的各种库类,以及给开发员使用的补充库,如国际化的库、IDL库。

从初学者角度来看,采用JDK开发Java程序能够很快理解程序中各部分代码之间的关系,有利于理解Java面向对象的设计思想。JDK的另一个显著特点是随着Java版本的升级而升级。但它的缺点也是非常明显的,即从事大规模企业级Java应用开发非常困难,不能进行复杂的Java软件开发,也不利于团体协同开发。

JDK一般有3种版本:Java SE(标准版)是通常使用的一个版本,它是整个Java技术的核心和基础;Java EE(企业版)是Java技术中最广泛的部分,提供了企业应用开发相关的完整解决方案;Java ME(小型版),使用这种JDK开发的应用程序主要用于移动设备、嵌入式设备上。

JDK是许多Java专家最初使用的开发环境。尽管许多编程人员已经使用第三方的开发工具,但JDK仍被当作Java开发的重要工具。

JDK由一个标准类库和一组建立、测试及建立文档的Java实用程序组成。其核心Java API是一些预定义的类库,开发人员需要用这些类来访问Java语言的功能。Java API包括一些重要的语言结构和基本图形、网络和文件I/O。一般来说,Java API的非I/O部分对于运行Java的所有平台是相同的,而I/O部分则仅在通用Java环境中实现。3.Android SDK

SDK(Software Development Kit,软件开发工具包)是Google公司提供的Android开发工具包,被软件开发工程师用于特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK指的是Android专属的软件开发工具包。也就是说,Android SDK包含了安卓的整个类库,如果不安装Android SDK,会导致开发人员无法做任何开发工作。4.eclipse

eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,eclipse附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

虽然大多数用户都将eclipse当作Java集成开发环境(IDE)来使用,但eclipse的目标却不仅限于此。eclipse还包括插件开发环境(Plug-in Development Environment,PDE),这个组件主要针对希望扩展eclipse的软件开发人员,因为它允许他们构建与eclipse环境无缝集成的工具。由于eclipse中的每样东西都是插件,对于给eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

这种平等和一致性并不仅限于Java开发工具。尽管eclipse是使用Java语言开发的,但它的用途并不限于Java语言,例如,支持诸如C/C++、COBOL、PHP、Android等编程语言的插件已经可用。eclipse框架还可用来作为与软件开发无关的其他应用程序的基础,如内容管理系统。

除了eclipse外,同样适合开发Android程序的IDE还有IntelliJ IDEA、Android Studio等。本书选用eclipse作为开发工具。5.ADT

ADT全称Android Development Tools,是Google提供的一个eclipse插件,用于在eclipse中提供一个强大的、高度集成的Android开发环境。安装ADT后,不仅可以联机调试,而且还能够模拟各种手机事件、分析程序性能等。由于它是eclipse的插件,所以不需要单独下载,在eclipse中在线安装即可。6.硬件环境(1)环境拓扑图

除了软件环境,硬件环境也是必需的。本书的所有开发都是基于如图1-2所示环境进行的,可以看到整个环境中有一个服务器端、一个路由器和一个终端设备,即图中的嵌入式移动教学套件,其中嵌入式移动教学套件也可以使用Android自带的模拟器替代。

在图1-2中,各硬件之间在实际应用中的通信过程主要分为两部分:第一部分是数据的监测;第二部分是执行器件的控制。

图1-2 硬件环境

①监测:当传感器收到监测数据后,传感器会将数据通过ZigBee网络传输到智能网关中的协调器,然后再由智能网关打包数据(在全国职业院校技能大赛中则使用的是A8网关和协调器),转发给服务器。服务器接收数据后进行解析与计算,将最终的数据发送到手机客户端,呈现在客户面前,如图1-3所示。

图1-3 监测并转发数据

②执行器件的控制:客户端来发出控制命令,服务器接收到控制命令后会将其转发给智能网关,在智能网关中会对控制命令进行识别,若匹配,则会下发至网关中的协调器,再由协调器下发给执行器节点,最后执行器执行相应的动作,如图1-4所示。

图1-4 控制并执行相应的动作(2)硬件设备

在进行开发之前,还需要了解一下硬件设备,本书所提供的硬件设备包括智能网关、Android终端及多个传感器等设备,各传感器名称及板号如表1-2所示。

表1-2 各传感器的名称及板号

系统设备之间的数据通信采用ZigBee协议,通过本书的学习,可以做到通过手机APP实现对硬件设备的控制。

本书可配套企想嵌入式移动教学套件箱来进行实训,箱子分成三部分:左边上面一部分为A8网关的核心板(包括HDMI口、OTG调试口、网口、模式切换等),左边下面一部分为ZigBee、Wi-Fi、GPRS、GPS等,右边为A8网关屏幕和键盘,如图1-5所示。

图1-5 嵌入式移动教学套件

其中,ZigBee、Wi-Fi、GPRS、GPS这4个模块都可以通过A8网关的APP进行实验和操作,并且本教学套件也可作为安卓实验箱来使用,适用于学校对嵌入式移动教学课程的应用。实验箱的模块可提供对Android由浅入深的开发,利于学生学习掌握,可以对众多种类的通信方式进行试验(Wi-Fi、GPRS、ZigBee、串口、网口),其丰富的实验样本可以让学生直观地了解程序的结构和细节,以达到事半功倍的效果。项目实施1.安装并设置JDK

①搭建环境的第一步就是安装JDK,进入Oracle官网http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载最新版Java JDK,如图1-6所示。

②进入JDK的下载页面,选择Accept License Agreement,根据自己的操作系统选择相应的JDK版本并点击下载,这里选择Windows x64。书中选择的JDK版本为8u131版本。

③下载完成后,双击JDK安装包(jdk-8u131-windows-x64.exe),进入安装向导,如图1-7所示。

④选择JDK的安装路径,单击“下一步”按钮,如图1-8所示。

⑤选择JRE的安装路径,单击“下一步”按钮,如图1-9所示。JRE是运行Java程序必需的环境,包含JVM及Java核心类库。

⑥单击“关闭”按钮,完成JDK的安装,如图1-10所示。

图1-6 JDK下载界面

图1-7 选择JDK的安装路径

图1-8 进入安装向导

图1-9 选择JRE的安装路径

图1-10 完成JDK安装

⑦验证JDK是否安装成功。按【Win+R】组合键,在弹出的“运行”对话框中输入cmd(见图1-11),运行DOS窗口。

图1-11 “运行”对话框

⑧在DOS窗口中输入命令:java -version(注意,这里用的是Java命令,-version表示查看版本信息)。如果显示出如图1-12中所示的Java的版本,则表示JDK安装成功。

图1-12 查看版本信息

⑨安装好JDK后,需要将JDK路径加入系统环境变量中。右击桌面上的“计算机”图标,选择“属性”命令,打开图1-13所示窗口。

图1-13 单击“高级系统设置”超链接

⑩单击左侧的“高级系统设置”超链接,弹出图1-14所示的“系统属性”对话框。单击底部的“环境变量”按钮,弹出图1-15所示的“环境变量”对话框。

图1-14 “系统属性”对话框

图1-15 “环境变量”对话框单击“新建”按钮,新建一个系统变量,设置变量名为JAVA_HOME,变量值为JDK安装路径,单击“确定”按钮完成创建,如图1-16所示。

图1-16 “编辑系统变量”对话框编辑系统变量CLASSPATH,若没有该变量可以新建一个,变量值为“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”(引号内的内容为变量值,同时注意变量值前有一个“.”),单击“确定”按钮,完成编辑,如图1-17所示。编辑系统变量Path,将“%JAVA_HOME%\jre\bin;”添加至变量值中,单击“确定”按钮,如图1-18所示。

图1-17 编辑系统变量CLASSPATH

图1-18 编辑系统变量Path验证一下环境变量是否生效,运行DOS窗口,在窗口中输入命令javac,如果显示图1-19所示内容,则表示环境变量配置成功。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载