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


发布时间:2020-05-25 14:36:06

点击下载

作者:李新辉 邹绍芳 主编

出版社:人民邮电出版社

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

Android移动应用开发项目教程

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

前言

PART 1 项目1 Android应用程序开发环境搭建

1.1 安装文件准备

1.2 开发环境安装和配置

1.3 Android应用程序编写

1.4 知识拓展

1.4.1 在设备上运行应用程序

1.4.2 安装APK应用到模拟器

1.4.3 Android技术架构

1.4.4 Java语法补充

1.5 问题实践

PART 2 项目2 BMI体质指数计算器的开发

2.1 项目引入

2.2 BMI项目准备

2.3 BMI界面设计

2.4 BMI功能实现

2.5 BMI重构

2.6 BMI属性菜单

2.7 知识拓展

2.7.1 Activity

2.7.2 RelativeLayout

2.7.3 AndroidManifest

2.7.4 ApiDemo

2.7.5 API Reference

2.8 问题实践

PART 3 项目3 ColorCard色卡程序的开发

3.1 项目引入

3.2 ColorCard项目准备

3.3 ColorCard界面设计

3.3.1 主界面布局

3.3.2 色卡界面布局

3.3.3 检索界面布局

3.3.4 辨色界面布局

3.4 选项卡切换

3.5 色卡功能实现

3.6 检索功能实现

3.7 辨色功能实现

3.8 知识拓展

3.8.1 LinearLayout

3.8.2 px/dp/sp

3.8.3 Debug

3.8.4 UI Viewer

3.9 问题实践

PART 4 项目4 PT拼图游戏的开发

4.1 项目引入

4.2 拼图游戏项目准备

4.3 拼图游戏背景显示

4.4 拼图游戏界面设计

4.5 拼图块分割

4.6 拼图块触摸和移动

4.6.1 触摸功能实现

4.6.2 移动功能实现

4.6.3 移动性能优化

4.7 拼图块吸附与归位

4.8 拼图游戏启动动画

4.9 拼图归位音效

4.10 游戏进度自动保存

4.11 知识拓展

4.11.1 背景音乐

4.11.2 SurfaceView

4.11.3 游戏中的动画

4.11.4 Android应用打包

4.11.5 游戏引擎

4.11.6 给初学者的建议

4.11.7 连连看/消色块原理

4.12 问题实践

PART 5 项目5 PhoneSecurity手机防盗器的开发

5.1 项目引入

5.2 PhoneSecurity项目准备

5.3 距离检测与报警

5.4 防盗功能实现

5.5 追回技术分析

5.6 手机信息保存

5.7 SIM卡检测和短信发送

5.8 电子邮件发送

5.9 知识拓展

5.9.1 Service

5.9.2 Broadcast Receiver

5.10 问题实践

PART 6 项目6 NewsReader新闻阅读器的开发

6.1 项目引入

6.2 NewsReader项目准备

6.3 NewsReader界面设计

6.3.1 主界面设计

6.3.2 底部导航栏设计

6.4 导航栏切换

6.5 新闻获取

6.6 RSS数据源解析

6.7 新闻条目加载

6.8 新闻内容查看

6.9 知识拓展

6.9.1 Fragment

6.9.2 HttpClient

6.9.3 XML/JSON

6.9.4 Notification

6.9.5 ListView

6.9.6 Handler/AsyncTask

6.9.7 Android SDK Source

6.10 问题实践

PART 7 项目7 MapPhotos地图相册的开发

7.1 项目引入

7.2 MapPhotos项目准备

7.3 相册条目实现

7.4 地图实现

7.5 相机拍照实现

7.6 相册数据保存

7.7 地图相册实现

7.8 图库浏览

7.9 知识拓展

7.9.1 GoogleMap

7.9.2 Camera

7.9.3 SharedPreferences

7.9.4 SQLite

7.9.5 ContentProvider

7.9.6 Intent

7.9.7 Context

7.9.8 开发资源参考

7.10 问题实践

前言

Android是Google公司和OHA(开放手机联盟)开发的基于Linux的开源操作系统,主要用于智能手机、平板计算机等智能移动设备上。经过短短几年的发展,Android 系统在全球得到了大规模的推广,除智能手机和平板计算机外,还渗透到了智能电视、游戏机、可穿戴设备、汽车等领域,且有“连接一切”的趋势。据不完全统计,Android 系统已经占据了全球智能手机操作系统80%以上的市场份额,中国市场占有率甚至超过90%。

目前,大部分高等院校作为高技能型人才的主要培养基地,大部分院校都开设了计算机类相关专业。随着移动设备在人们日常工作和生活中的普及,近年来,不少院校还新增了移动互联网专业,在设置的课程中基本上都是把Android作为主要的移动应用开发技术。与此同时,市面上已经出现了一些Android技术开发的参考书,但针对本科或高职院校“职业教育过程”的Android技术教材不多,特别是学完之后就能具备实际项目开发能力的实用技术类教材更少。基于这一考虑,特编写本书。

本书具备如下4大特点。(1)以7个相对独立的工作任务组织内容,践行“做中学”理念,进度符合学生认知规律,内容编排兼顾趣味性、知识性和实用性。

本书设计了7个相对独立的工作任务,除首个任务是搭建Android开发环境以外,其余6 个工作任务都是经过精心设计的实用项目,包括体质指数计算器、色卡、拼图游戏、手机防盗器、新闻阅读器和地图相册。在这些项目的开发过程中,融入了Android开发的绝大部分技术,而且大部分项目都可以在Google Play市场找到相类似的产品。

在设计的6个项目中,每个项目都是按照“学习提示、任务引入、开发过程、知识拓展、问题实践”5大步骤推进。【学习提示】简要概述了本单元的任务目标、技术内容、知识点和技能目标。【任务引入】阐述了项目开发背景,并提出待实现的具体功能,通过程序运行界面截图让学生对开发目标有初步的认识,然后让学生亲手在手机或模拟器上体验最终完成的项目程序的实际功能,从而对开发目标有更加直观的理解。【开发过程】教材中提供了详细的项目设计和开发步骤,代码也不是直接通篇给出,而是根据功能模块过程按需提供代码片段。代码片段中包含了较为详尽的注释,之后通常还会进一步解释代码片段的含义。【知识拓展】集中阐述本项目开发过程中涉及的知识内容,并适当进行拓展,完成“先实践体会,后理论归纳”的自然学习认知过程。【问题实践】提出了项目开发过程中可以完善或扩展的技术功能,同时还提供了必要的解答提示或资料建议。问题实践部分的解答提示均以电子文档的形式提供下载。

此外,项目设计编排兼顾趣味性和实用性。兴趣是最好的老师,能让学生易于接受就相当于成功了一半。比如,拼图游戏、手机防盗器这样的APP(应用程序)很易被学生理解和喜爱;新闻阅读器是当前热门RSS阅读器的原型,国内外各大门户(如新浪、搜狐)以及传统媒体(如南方周末等)都开发了各自的手机新闻阅读器APP,选题有一定代表性和实用性;地图相册则是一个典型的LBS运用,综合使用了地图、相册、拍照、地理定位等技术,创意新颖,只要适当扩展即可成为一款实用APP,如果考虑和云平台结合的话,还可实现一个基于网络的地图相册,甚至还可以加入流行的社交功能等。(2)教学过程注重培养学生思考问题的习惯,教学内容兼顾够用原则且适当扩展。

在6个具体的项目开发过程中,不是所有待解决的问题都会给出解决方案,而是在适当的场合保留一点让学生能自主解决的问题,让他们独立完成,防止学生“盲目照做”,调动其主观能动性。根据教学实践发现,很多只会跟着做的学生即使在“顺利”完成任务后还是没什么实际收获,所以必须提供一个关联性的动脑区间,这样比较有利于巩固学习效果。(3)知识技术兼顾实用性、新颖性和前瞻性。

因为版本变迁的缘故,Android SDK中提供的很多API被标记为“过时”,因此项目中凡是涉及这样的内容都使用了Android SDK推荐的实现方法。比如,色卡程序和新闻阅读器本来可以使用 TabActivity 实现,但考虑到 TabActivity 已过时,就改用了其他办法;色卡程序采用的是自主设计布局界面模拟“选项卡”,学生在完成这一项目后能够加深理解一些标准组件的工作机制;新闻阅读器采用了 Fragment 这一重要的技术进行实现;地图相册用到了Google Map V2 API,没有使用早期的组件实现,对于 Gallery 也是采用 SDK 推荐的HorizontalScrollView组件自主实现相册浏览的功能。

本课程的前导课程是Java语言基础,很多学生刚开始编写Android应用程序时,由于对Android 开发大量涉及的内部类、匿名类、泛型、线程等 Java 语法现象不熟悉,导致后续学习困难。因此,本书在开发环境搭建环节的拓展部分提供了几个简单的例子让学生复习巩固这些关键Java语法的内容。还有,Android SDK自带的Sample系列项目(如ApiDemo等),是学习 Android 开发技术的极佳素材,Hierarchy Viewer 和 Uiautomator Viewer 是分析复杂Android 程序界面布局设计技巧的强大工具,对学生模仿学习一些优秀软件界面的设计是非常有意义的,这类内容在拓展部分也有介绍。(4)为学生适应企业级开发做好准备。

学习Android开发技术最终是要为企业开发产品服务的,因此项目设计过程中用到的技术大多都不是浅层的。前3个项目的设计出于学习目的,后3个项目则加深了难度和深度。比如,色卡程序是通过布局组件的灵活运用设计出选项卡外观,地图相册则是完全自定义一个相机界面实现拍照功能。本书对实际开发工作中大量使用的 XML/JSON 数据解析做了详细阐述,还提供了ListView下拉刷新组件、侧滑菜单库的开源实现等多种参考资源。

总的来说,本书努力成为一本为学生而写的书,既适合教学,也适合学生自学,通过 7 个项目案例融入Android开发用到的大部分技术和知识内容,学生学习到的不是零散的知识点,而是在项目实践过程中理解体会Android开发技术,项目案例选择兼顾趣味性和实用性,通过学生的主动参与、综合运用和开发创新,培养学生的实际编程开发能力,提高了学生的学习兴趣。

本书项目开发过程中的代码格式约定如下。

public class GameView extends View {...private Paint paint;   // 绘制几何图形的画笔// 存储所有拼图块的动态数组private List puzzCells = new ArrayList()...

}

其中,阴影部分是新增的代码,阴影部分前后通常会保留少许代码片段,可借助这些预留的代码片段确定阴影部分代码的具体位置。

另外,本书还提供了丰富的课程资源,包括教学项目源代码、主要内容教学录像、课件资料、习题答案等,可以到人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)免费下载使用。

本书参考学时为90学时,其中各项目的学时分配推荐如下。

本书由杭州职业技术学院的李新辉和杭州电子科技大学的邹绍芳担任主编,杭州职业技术学院陈云志、周昕、吴红娉担任副主编,在编写过程中得到了人民邮电出版社的大力指导和支持,杭州电子科技大学徐彤、陈定坝、李丹阳和中国计量学院曹建军、张晓峰、应江娇等同学对本书提出了很多建设性的意见,在此谨向以上单位和人员致以诚挚的谢意。

由于编写组人员技术水平有限,书中难免存在不足之处,恳请广大读者批评指正,任何疑问、宝贵意见和建议请发邮件至lixinhuixdx@163.com。Android移动应用开发项目教程教材编写组2014年4月PART 1 项目1 Android应用程序开发环境搭建【学习提示】

● 项目目标:配置ADT开发环境,创建Android应用程序

● 知识点:Android发展史;Android技术架构;Java关键语法(内部类、匿名类、匿名类的对象、泛型、集合元素循环、线程)

● 技能目标:能在ADT开发环境中创建Android应用程序;在真实设备上运行Android应用;安装外部APK应用到模拟器上1.1 安装文件准备

Android是建立在Linux系统基础上的一个面向移动设备的操作系统,它被设计成通过名为Delvik的虚拟机来执行应用程序,Android支持Java语言编写的应用程序。开发Android应用程序的过程和普通的Java应用程序没有太大区别。当然,使用Java语言编写Android应用程序时,需要转换为Dalvik的虚拟机指令才能在Android平台上运行。实际上,Android同样支持C/C++语言编写的程序,但一般情况下都是使用Java进行开发,除非在一些特定的场合才会用到C/C++语言,比如高性能游戏、密集计算、硬件控制或软件移植等。

在开发Android程序之前,需要先搭建相应的开发环境。本书所用的Android开发环境主要包括JDK、Android SDK、Eclipse和ADT等软件包,它们都可以通过互联网免费下载。其中,JDK即Java Development Kit,是编写Java应用程序所必需的开发包,Android SDK是开发Android应用程序所必需的软件集合,Eclipse则提供了一个功能强大的通用集成开发环境, ADT是用于在Eclipse上开发调试Android应用程序的一个功能插件。(1)下载JDK软件包。找到www.oracle.com站点,在其中的页面http://www.oracle.com /technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html中找到相应平台的下载链接进行下载(Win32、Win64、Mac、Linux等)。本书使用的32位和64位版本的JDK软件分别是jdk-6u43-windows-i586.exe以及jdk-6u43-windows-x64.exe,尽管目前最新的软件是JDK 7,但由于JDK 7引入了部分新语法现象,这些新的语法现象目前还没有全部获得ADT的支持,因此推荐选择JDK 6,如图1.1所示。图1.1 JDK 6软件包下载(2)下载ADT集成开发工具。打开developer.android.com站点下载Android SDK和ADT插件。对于Windows平台,已经提供了一个集成各种必备插件的ADT Bundle下载,它包括Eclipse、Android SDK和ADT等系列软件包。

在http://developer.android.com/sdk/index.html页面中,单击右侧Download the SDK(ADT Bundle for Windows)链接,选定下载32位还是64位版本,勾选同意软件协议,这样就开始了下载过程,如图1.2所示。图1.2 ADT软件包下载

截至本书出版时,Google已经发布了支持最新Android 4.4版本的ADT开发工具。值得注意的是,最新版本ADT开发工具新建的Android项目结构和源代码,相比之前版本有少许变化。为避免因开发工具版本问题导致的学习障碍,请下载本书编写时使用的32位或64位版本的ADT开发环境压缩包,它们分别是 adt-bundle-windows-x86-20130219.zip 和 adt-bundle-windows-x86_64-20130219.zip,可以到本书配套教学资源网页下载。1.2 开发环境安装和配置

1.JDK和ADT安装

Android开发环境的搭建只要两步,即安装JDK和ADT Bundle。(1)找到下载的 JDK 安装文件,双击执行以启动安装过程。在本书编写时,安装的是Windows 7 64位版本的JDK 6软件包。JDK的安装过程很简单,可根据需要在安装过程的第2步指定好安装目录,如图1.3所示,其余步骤默认即可。图1.3 设定JDK安装目录(2)安装ADT集成开发环境。考虑到已下载的ADT Bundle已经整合了Android SDK、Eclipse和ADT插件等软件包,因此只需将下载的文件解压到某个目录中就完成了安装工作。当然,为避免将来出现意外,在指定的目录中最好不要包含汉字或其他特殊字符。

2.环境变量设置

为方便起见,最好在Windows中添加JAVA_HOME和PATH这两个环境变量,它们会在后续的开发工作中用到。其中JAVA_HOME代表JAVA运行环境所在的目录,PATH则提供了可执行命令的搜索目录。比如,在命令提示符窗体中输入 javac 命令时,Windows 会在PATH环境变量设置的目录中去寻找对应的可执行程序。(1)打开系统属性中的环境变量窗体,如图1.4所示。图1.4 系统属性-环境变量(2)单击环境变量窗体中的“新建”按钮,设定如下两个环境变量。其中,等号左侧是环境变量名,等号右侧是环境变量值。

JAVA_HOME=D:\Java\jdk1.6.0_43

PATH=D:\Java\jdk1.6.0_43\bin;D:\adt-bundle-windows\sdk\platform-tools;D:\adt-bundle-windows\sdk\tools;

当然,如果某个环境变量已经存在的话,那么只需修改它的值,否则就要新建它。JAVA_HOME代表JDK的安装目录,PATH则包含了JDK和Android SDK可执行程序所在的目录。

无论JAVA_HOME还是PATH,都应根据实际指定的安装目录进行设置。另外,PATH设置的目录之间应以英文分号隔开,否则所设置的内容将无效。

3.启动ADT集成开发环境(1)找到 ADT 软件包解压所在的目录(这里是 D:\adt-bundle-windows 目录),双击执行其中的eclipse目录下的eclipse.exe程序,启动过程如图1.5所示。图1.5 ADT启动过程(2)在首次启动ADT集成开发环境时,会要求指定一个Workspace工作目录,该目录是ADT创建项目的默认保存路径。设置好Workspace对应的文件夹,勾选“Use this as the default and do not ask again”(使用当前指定路径作为默认的Workspace目录,并且不再询问),然后单击“OK”按钮,如图1.6所示。图1.6 工作目录设置(3)进入ADT集成开发环境后,首先看到的是欢迎界面。此时,单击左上角“Android IDE”标题右侧的关闭按钮,将欢迎界面关闭即可,如图1.7所示。图1.7 ADT初始界面(4)为方便起见,最好将adt-bundle-windows目录下的eclipse.exe可执行程序创建一个快捷方式放到桌面上,方法是:在eclipse.exe图标上单击鼠标右键,选择弹出菜单中的“发送到”→“桌面快捷方式”,然后将桌面上eclipse.exe快捷方式的名字改为“android_eclipse”之类的名字,如图1.8所示。图1.8 创建ADT快捷方式

4.升级Android SDK

对于基本的Android应用程序开发,前面ADT集成开发环境的安装和配置工作就已经准备好了,因为adt-bundle-windows本身已附带一个包含基本内容的Android SDK。为便于后续的开发工作,这里阐述一下如何升级Android SDK软件包。当然,这些工作现在也可以不做,因为本书配套教学资源网页提供下载的adt-bundle-windows-x86-20130219.zip压缩包中已包含完整内容的Android SDK。(1)单击ADT集成开发环境主界面的“Window”菜单中的“Android SDK Manager”项,如果网络连接正常可用的话,“Android SDK Manager”窗体中将列出当前已安装的 Android SDK软件包和其他可用版本的Android SDK列表,如图1.9所示。图1.9 Android SDK管理器(2)勾选图1.9中列出的2.3、4.0、4.1、4.2等主要版本的Android SDK,或者全部勾选,然后单击“Install x packages”按钮,此时就会通过网络从Google服务器下载这些软件包。视所选软件包的多少和网速快慢,下载时间可能需要耗费数小时之久,数据量为2~5GB。

如果已经可以正常下载Android SDK软件包,下面的第(3)~(5)步请直接忽略不做。(3)众所周知,如果在“Android SDK Manager”窗体中无法显示可用的Android SDK版本完整列表,可试着单击“Android SDK Manager”窗体主菜单“Tools”→“Options”项,勾选“Force https://... Sources to be fetched using http://”(强制使用http协议下载https协议的源内容),然后单击“Close”按钮关闭设置窗体,如图1.10所示。图1.10 Options窗体(4)单击“Android SDK Manager”窗体主菜单“Packages”→“Reload”,重新加载Android SDK版本的列表。(5)如果加载仍然失败的话,此时只能通过HTTP代理服务器来连接了,最好是使用境外的代理服务器。方法是:在第(3)步的设置窗体中,填写可用的HTTP代理服务器和正确端口号,如图1.11所示,然后再通过第(4)步的Reload重试。图1.11 Options窗体中的代理设置1.3 Android应用程序编写

1.创建Android项目(1)启动Android Developer Tools集成开发环境(实际是启动集成了ADT插件、Android SDK和Eclipse的集成软件包,后面一律简称为ADT)。(2)单击主菜单“File”→“New”→“Android Application Project”项,按图1.12所示的内容设置,然后单击“Next”按钮。图1.12 新建Android项目(3)在项目设置界面,保持默认勾选项,直接单击“Next”按钮,如图1.13所示。图1.13 新建项目设置(4)在配置程序图标界面,直接按默认设置,单击“Next”按钮进入下一步,如图 1.14所示。图1.14 程序图标配置(5)在新建Activity界面,保持勾选“Create Activity”项,并选中“Blank Activity”以创建一个空白的Activity,单击“Next”按钮,如图1.15所示。图1.15 新建的Activity类型(6)在最后一步,保持默认设置不变,直接单击“Finish”按钮完成项目的创建工作,如图1.16所示。图1.16 设定Activity和布局的名字

Android应用项目创建完毕,ADT会自动编译这里的HelloWorld程序。另外,如果Android SDK已经升级到最新版本的话,在新建Activity界面时应该选择“Empty Activity”而不是“Blank Activity”,因为后者已经改为使用Fragment构建界面了。有关Fragment的内容,在项目6的新闻阅读器单元中将予以详述。

2.运行Android程序

要运行Android应用程序,可以通过Android虚拟设备(或称之为Android模拟器)运行,也可以在一部Android系统的手机上运行。为简单起见,这里直接使用Android模拟器,本书大部分场合都是在模拟器中进行开发工作的。(1)单击ADT主菜单“Window”→“Android Virtual Device Manager”项,在出现的窗体中单击“New”按钮,然后按如图 1.17 所示的内容进行设置,最后单击“OK”按钮完成Android模拟器的创建。图1.17 创建Android模拟器(2)在“Android Virtual Device Manager”窗体中,选中刚刚创建的android4.2模拟器,如图 1.18 所示,单击“Start”按钮,并在随后出现的窗体中单击“Launch”按钮来启动这个模拟器。Android模拟器一旦启动,“Android Virtual Device Manager”窗体就可以关闭了。图1.18 启动Android模拟器

不出意外的话,等待3~5分钟的时间,Android模拟器就启动好了,如图1.19所示。一旦启动,请不要关闭它,而是一直让它保持运行状态,节省反复启动模拟器所耗费的时间。图1.19 Android模拟器(3)在HelloWorld项目名上单击鼠标右键,选择弹出菜单中的“Run As” →“Android Application”项,如图1.20所示。图1.20 启动HelloWorld程序

稍候片刻,Android模拟器中将显示出HelloWorld的程序运行界面,如图1.21所示。图1.21 HelloWorld运行界面

目前,这就是HelloWorld程序的全部,它只是在模拟器中显示出一行简单的文本内容。毕竟一行代码都没开始编写,也只能得到这个相对简单的结果。

就一般的 Android 应用程序而言,在模拟器和实际的 Android 设备(如智能手机或平板电脑)上运行,两者不会有太大的差异,但是一旦在程序中需要用到硬件传感器的功能(如蓝牙通信),此时模拟器就无济于事了,必须使用真实的Android设备才能进行开发测试。

最后,简单回顾一下HelloWorld项目的结构,如图1.22所示,这些内容的更多用途将在后续的开发工作中加深体会,目前只做初步的了解即可。图1.22 HelloWorld项目结构1.4 知识拓展1.4.1 在设备上运行应用程序

如果有一部Android操作系统的设备(如Android手机或平板计算机),那么可以不使用Androd模拟器,而是直接让应用程序在 Android设备上运行。在 Android设备运行程序相比模拟器的好处是,程序运行的速度更快,而且能提供模拟器做不到的功能(如传感器)。下面,假定使用的是一部Android手机,如果没有实际设备的话,本节内容直接忽略即可。(1)准备一根连接PC和手机的USB数据线,连接好后,安装对应的驱动程序。考虑到不同品牌的Android设备驱动程序一般都无法通用,目前全球几大主要的手机制造商如三星、摩托罗拉、HTC、小米等,都在市场上发布了多种型号的 Android 设备,所以只要下载对应品牌型号的Android驱动程序并安装到计算机中即可。

安装好了Android驱动程序,如图1.23所示,从中可以看出,当前正常驱动的设备是“Mot Composite ADB Interface”。图1.23 Android设备驱动程序(2)启用Android设备上的USB调试功能。

对于Android 4.0以上版本的系统,打开“设置”功能,找到“开发” →“USB调试”并勾选它;如果是4.0以下版本的系统,在打开“设置”功能后,找到“应用程序” →“开发”→“USB调试”项并勾选它。勾选“USB调试”时,如出现提示是否允许USB调试,此时应单击“确认”按钮,如图1.24所示。

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

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载