Android开发权威指南
Android应用开发全程指南

Android应用开发全程指南第一章:Android应用开发概述Android应用开发是指针对Android操作系统进行应用程序开发的过程。
本章将介绍Android应用开发的基本概念、发展历程以及开发环境的搭建。
Android是由Google开发的一种基于Linux内核的开源移动操作系统,它提供了丰富的开发工具和开发框架,使开发者能够快速、高效地构建各类Android应用程序。
第二章:Android应用开发准备工作在开始Android应用开发之前,我们需要进行一些准备工作。
本章将介绍Android开发环境的搭建、必备的开发工具以及相关资源的获取。
首先,我们需要安装Java开发工具包(JDK)以及Android软件开发工具包(SDK)。
JDK提供了Java语言的开发环境,而SDK则包含了Android开发所需的各种工具和资源。
其次,在获取到SDK之后,我们需要配置开发环境。
这包括设置Android开发工具(如Android Studio)的相关参数,以及安装和配置虚拟设备用于测试应用程序。
第三章:Android应用开发基础在进行Android应用开发之前,我们需要了解一些基础知识。
本章将介绍Android应用的架构、核心组件以及应用程序的生命周期。
首先,Android应用的架构是基于组件的,主要包括四个核心组件:活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)、内容提供器(Content Provider)。
了解这些组件的作用和使用方法对于开发Android应用非常重要。
其次,Android应用的生命周期是指应用程序从启动到关闭的整个过程。
了解生命周期的各个阶段以及每个阶段所涉及的回调方法,有助于我们管理和优化应用程序的性能。
第四章:Android用户界面设计用户界面是Android应用中最直接的交互方式。
本章将介绍Android用户界面的设计原则以及常用的界面组件和布局方式。
Android开发入门指南帮助文档

第一章——第十章顺序很重要onCreateOptionsMenu创建Menu方法。
系统内部类。
onOptionsItemSelected调用Menu一、src目录1、Src目录中包含了一个android应用程序所需要的各个程序源文件。
这些文件被存放到“包名”的子目录下。
2、Gen目录下存放所有自动生成的文件。
这个目录中,最重要的文件就是R.java。
二、res目录res目录中存放所有程序中用到的资源文件。
(默认的有layout、values)1、layout目录包含所有使用XML格式的界面说明文件。
要使用这些界面组件,应该通过R.java中自动产生的R类来调用。
2、values目录包含所有使用XML格式的参数值描述文件,可以在此添加一些额外的资源,如字符串、颜色、风格。
使用时也是通过R.java类来调用。
三、android功能列表androidManifest.xml是android应用程序的功能列表,每个应用程序都在这个文件中,列出该应用程序所提供的功能。
当我们需要添加一个activity类时,我们也需要先在此注册这个添加的activity类后,才能顺利调用。
四、布局1、LinearLayout时线性页面布局。
是从上到下排队的意思。
(是默认的,一般不需要更改)2、RelativeLayout是相对页面布局。
3、FrameLayout框架页面布局。
4、TableLayout表格页面布局。
5、AbsoluteLayout绝对位置页面布局。
6、fill_parent填满整个上层组件。
7、wrap_content适应用户输入文字。
8、android:orientation页面走向属性。
Vertical垂直。
五、输入类型1、android:inputType=”{0}”,integer是int型、number是数字、numberDecimal允许包含小数点。
六、格式化结果1、DecimalFormat df = new DecimalFormay(“0.00”);将结果保留两位小数。
Android应用开发入门指南与最佳实践

Android应用开发入门指南与最佳实践Android系统是目前全球最广泛使用的移动操作系统之一,随着智能手机的普及,对于Android应用开发的需求也越来越大。
本篇文章旨在为初学者提供一份Android应用开发的入门指南,同时介绍一些最佳实践,帮助读者快速掌握Android开发技能,并提高自己开发应用的质量。
一、搭建开发环境在开始Android应用开发之前,首先需要搭建适当的开发环境。
以下是一些必备工具:1. JDK(Java Development Kit):Android开发需要使用Java语言,因此需要安装JDK。
2. Android Studio:Android官方推荐的集成开发环境(IDE),提供了丰富的工具和功能,便于开发者快速开发Android应用。
3. Android设备或模拟器:用于测试应用程序的运行情况。
可以使用真实的Android设备,也可以选择在模拟器上运行。
二、学习Java基础知识在开始Android开发之前,建议先学习一些Java的基础知识。
因为Android应用是用Java语言编写的,对于Java的理解和掌握能够帮助开发者更好地理解和应用Android开发中的概念和技术。
以下是一些Java基础知识的学习重点:1. 数据类型和变量:掌握Java中的数据类型和变量的定义和使用。
2. 控制流程:了解Java中的条件语句、循环语句和分支语句等控制流程。
3. 面向对象编程:学习Java中的类、对象、继承、封装和多态等面向对象的编程概念。
4. 异常处理:了解Java中的异常处理机制,掌握如何捕获和处理异常。
三、掌握Android基础知识在掌握了Java的基础知识之后,可以进一步学习Android的基础知识。
以下是一些必备的Android开发知识点:1. Android组件:了解Activity、Fragment、Service、Broadcast Receiver和Content Provider等Android四大组件的概念和使用。
Android开发指南

Android开发指南版本号说明作者日期v1.00 初稿Zach 2015-10-31目录一、Application Context (2)二、Activity中的内部类 (2)三、Bitmap (3)四、频繁使用的资源(如图片)的缓存 (5)五、使用ViewHolder提高AdapterView的效率 (6)六、SQLiteOpenHelper (6)七、EventBus (7)八、Fragment (7)九、Handler (8)十、网络数据 (8)一、Application Context当一个类需要保留一个Context的引用,以便进行获取资源文件等操作时,尽量使用Application Context:而不是Activity(Service)。
Activity(Service)的生命周期是由Android系统控制的,当一个Activity被Destroy后,如果其他的类中还保留了此Activity引用,将导致其无法被GC回收。
若实在需要保留Activity的引用,可参照二。
二、Activity中的内部类在Activity中,我们经常需要构建Handler、Thread、AsyncTask等内部类。
例如:在JAVA中,一个非static内部类,Java编译器在创建其对象时,隐式的把其外部类对象的引用也传了进去并一直保存着。
由于Handler、Thread、AsyncTask与Activity的生命周期并不一致,可能会使Activity无法及时被回收。
因此,一般会将内部类声明为static,并结合WeakReference防止内存泄漏。
注:1)若一个实例有且仅有WeakReference指向它,则不会妨碍其被GC回收。
2)注意上面内部类会调用的方法doWork()的权限声明是默认,即包访问权限,可以提高效率。
三、Bitmap1)Android 2.3.3 (API level 10)或更低,推荐使用recycle(),但需要确定Bigmap 对象不会再被使用,否则,将会遇到错误:"Canvas: trying to use a recycled bitmap"。
AndroidNDK开发指南

AndroidNDK开发指南Android NDK开发指南第一章:介绍Android NDKAndroid NDK(Native Development Kit)是一个用于开发Android应用程序的工具集。
它提供了一组与平台无关的原生C/C++库以及一组工具,可以帮助开发者在Android应用程序中使用C/C++代码编写高性能的本地代码。
本章将介绍Android NDK的概述,包括其背景、目的以及与传统Java开发的区别。
同时还将介绍使用Android NDK的优势和适用场景。
第二章:Android NDK环境搭建要开始使用Android NDK进行开发,首先需要搭建相应的开发环境。
本章将详细介绍如何在Android Studio中配置NDK开发环境,包括下载和安装NDK工具链、配置Gradle构建文件以及设置NDK路径等。
第三章:Android NDK开发基础在进行Android NDK开发之前,需要了解一些基本概念和核心知识。
本章将介绍如何编写和构建C/C++代码,如何与Java层进行交互,以及如何处理线程和内存管理等重要方面。
第四章:使用Android NDK调用系统API在Android NDK中,可以直接调用系统提供的原生API,以实现更底层的功能。
本章将介绍如何使用Android NDK调用系统API,包括访问传感器、相机、音频、网络等硬件和系统服务。
第五章:优化Android NDK代码性能Android NDK提供了一系列优化工具和技术,可以帮助开发者提升代码性能。
本章将介绍如何使用NDK的调试工具、性能分析工具和优化技术,以及在设计和编写代码时应注意的性能问题。
第六章:使用第三方库进行Android NDK开发Android NDK还支持使用第三方库进行开发,这些库可以提供更多的功能和便利性。
本章将介绍如何集成和使用常见的第三方库,比如OpenCV、FFmpeg、SQLite等,以及相应的配置和调用方法。
Android编程权威指南(第4版)

4.3进程销毁时保 存数据
4.5深入学习: Jetpack、
AndroidX与架构组
件
4.4 ViewModel与 保存实例状态
4.6深入学习:解 决问题要彻底
5.1异常与栈跟踪
5.2 Android特有的 调试工具
5.3挑战练习:探索 布局检查器
5.4挑战练习:探索 Android性能分析器
6.1创建第二个 activity
1
DragAndDraw
项目
2
30.2创建定制 视图
3
30.3处理触摸 事件
4 30.4
onDraw(Canv as)函数内的 图形绘制
5 30.5深入学习:
GestureDete ctor
30.7挑战练习:旋 转矩形框
30.6挑战练习:设 备旋转问题
30.8挑战练习:辅 助功能支持
31.2简单属性动画
der
25.10挑战练习: 观察视图
LifecycleOwner的 LiveData
25.12挑战练习: 预加载以及缓存
01
26.1搜索 Flickr网 站
02
26.2使用 SearchVi ew
03
26.3使用 sharedpr eference s实现轻量 级数据存储
04
26.4优化 应用
06
19.6处理 assets
4
19.7使用 assets
5
19.8绑定数据
19.9深入学习: 数据绑定再探
19.10深入学习: LiveData和数 据绑定
20.2访问Assets
20.1创建 SoundPool
20.3加载音频文件
1
实用的Android应用开发指南

实用的Android应用开发指南一、Android应用开发的基础概念在开始Android应用开发之前,我们需要了解一些基础概念。
首先,在Android应用开发中,最重要的组成部分是Activity,它代表应用的一个界面。
一个应用可能由多个Activity组成,在不同的Activity之间进行切换,以实现不同的功能。
另外,Android应用还有一系列组件,如Service、Broadcast Receiver和Content Provider,它们分别负责后台服务、系统广播接收和数据共享等功能。
二、搭建Android应用开发环境为了进行Android应用开发,我们需要先搭建好相应的开发环境。
首先,我们需要安装Java开发工具包(JDK)和Android开发工具包(SDK)。
JDK提供了Java语言的编译器和运行环境,而Android SDK则提供了Android应用开发所需的工具和库。
在安装好JDK和Android SDK之后,我们还需要配置好开发环境。
首先,我们需要设置Java开发环境的环境变量,以方便在命令行中运行Java程序。
其次,我们需要在Android开发工具中配置相应的SDK路径,以便编译和运行Android应用。
三、Android应用的UI设计在Android应用开发中,UI设计是非常重要的一部分。
一个好的UI设计可以提高应用的易用性,并增强用户的体验。
在Android应用的UI设计中,我们可以使用一些常见的UI组件,如TextView、Button和ImageView等,来展示文本、按钮和图片等内容。
此外,我们还可以使用布局管理器来控制这些UI组件的位置和大小,使其在界面上呈现出合适的布局效果。
在进行UI设计时,我们需要考虑用户的操作习惯和视觉感受。
比如,我们可以使用ViewPager来实现左右滑动切换界面的效果,以提高用户的操作流畅性。
另外,我们还可以使用使用Material Design风格的设计元素,如卡片式布局和阴影效果,使应用的界面更加美观和现代化。
Android开发指南中文版

Android开发指南中文版‐应用程序框架Android Developers本文是对Android SDK1.5版的英文开发资料Android Development Guide一文应用程序框架部分的翻译,覆盖了Android应用开发所有主要的概念。
部分内容整理自网络。
本文仅用于技术学习,请勿用于商业用途。
目录应用程序基础Application Fundamentals (4)关键类 (4)应用程序组件 (5)激活组件:intent (7)关闭组件 (7)manifest文件 (8)Intent过滤器 (8)Activity和任务 (10)Affinity(吸引力)和新任务 (11)加载模式 (12)清理堆栈 (13)启动任务 (14)进程和线程 (14)进程 (15)线程 (15)远程过程调用 (15)线程安全方法 (16)组件生命周期 (17)Activity生命周期 (17)调用父类 (18)服务生命周期 (21)广播接收器生命周期 (22)进程与生命周期 (22)用户界面User Interface (24)视图层次View Hierarchy (24)布局Layout (25)部件Widgets (26)用户界面事件UI Events (26)菜单Menus (26)高级话题Advanced Topics (27)适配器Adapter (27)风格与主题Styles and Themes (27)资源和资产Resources and Assets (28)资源引用Resource Reference (43)国际化和本地化Internationalization and Localization (43)意图和意图过滤器Intents and Intent Filters (43)意图过滤器Intent filters (47)通常情况Common cases (51)使用意图匹配Using intent matching (52)数据存储Data Storage (52)概览Storage quickview (52)系统偏好:快速,轻量级存储 (52)文件:存储到设备内部或可移动闪存 (52)数据库:任意的结构化存储 (52)支持基于网络的存储 (52)系统偏好Preferences (53)文件Files (54)数据库Databases (54)网络Network (55)内容提供器Content Providers (55)内容提供器的基础知识Content Provider Basics (55)查询一个内容提供器Querying a Content Provider (57)修改数据Modifying Data (61)创建一个内容提供器Creating a Content Provider (64)Content URI 总结 (67)清单文件The AndroidManifest.xml File (68)清单文件结构Structure of the Manifest File (68)文件约定File Conventions (70)文件特性File Features (73)应用程序基础Application Fundamentals关键类1. Activity2. Service3. BroadcastReceiver4. ContentProvider5. IntentAndroid应用程序使用Java做为开发语言。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《Android开发权威指南》内容上涵盖了用最新的Android版本开发的大部分场景。
全书分4个部分,分别从Android基础介绍、环境搭建、SDK介绍,到应用剖析、组件介绍、综合实例演示,以及符合潮流的、最新的移动开发技术,如HTML5、OpenGL ES、NDK 编程、Android测试驱动开发等几个方面讲述。
从技术实现上,讲解了6大完整综合案例及源代码分析,分别是新浪微博客户端、蓝牙聊天、全键盘输入法、月球登陆(游戏)、贪吃蛇(游戏)、笑脸连连看(游戏)。
《Android开发权威指南》注重对实际动手能力的指导,在遵循技术研发知识体系严密性的同时,在容易产生错误、不易理解的环节上配备了翔实的开发情景截图;并将重要的知识点和开发技巧以“多学一招”、“扩展学习”、“技巧点拨”等的活泼形式呈现给读者。
在程序实例的讲解方面,主要将实例安插在Android开发的精髓知识章节,这为读者学习与实践结合提供了很好的指导。
《Android开发权威指南》配套光盘包含开发视频及全部源程序,指导读者快速、无障碍地学通Android实战开发技术。
《Android开发权威指南》适合具备一定软件开发经验、想快速进入Android开发领域的程序员,具备一些手机开发经验的开发者和Android开发爱好者学习使用;也适合作为相关培训学校的Android培训教材。
图书目录编辑第一部分准备篇第1章初识庐山真面目——Android开发简介 21.1Android的基本概念 21.1.1Android简介 21.1.2Android的版本 41.1.3Android的系统构架 51.1.4Android的应用程序框架 61.2JIL Widget介绍71.3小结8第2章工欲善其事,必先利其器——搭建和使用Android开发环境92.1开发包及工具的安装92.1.1开发Android程序都需要些什么92.1.2安装JDK和配置Java开发环境102.1.3Eclipse的安装与汉化112.1.4安装AndroidSDK122.1.5安装Eclipse插件ADT132.2真实体验——编写第一个Android程序(随机绘制圆饼)152.2.1创建Android工程152.2.2在模拟器中运行Android程序172.2.3界面控件的布局192.2.4编写代码202.2.5调试程序232.2.6在手机上运行和调试程序282.3迁移Android工程可能发生的错误292.4不需要写一行代码的开发工具:AppInventor312.4.1AppInventor简介312.4.2AppIntentor的下载和安装312.4.3用拖曳控件的方式设计界面332.4.4像拼图一样拼装代码342.5小结37第二部分基础篇第3章千里之行始于足下——Android程序设计基础40 3.1Android应用程序框架403.1.1Android项目的目录结构403.1.2AndroidManifest.xml文件的结构423.2Android应用程序中的资源443.3Android的应用程序组件443.3.1Activity(Android的窗体)453.3.2Service(服务)453.3.3Broadcast Receiver(广播接收器)453.3.4Content Provider(内容提供者)463.4Android程序的UI设计463.4.1手工配置XML布局文件463.4.2ADT自带的可视化UI设计器473.4.3使用DroidDraw设计UI布局473.5小结48第4章我的UI我做主——用户界面开发基础494.1Activity的使用方法494.1.1创建Activity494.1.2配置Activity504.1.3显示其他的Activity(Intent与Activity)524.2Activity的生命周期554.3在不同Activity之间传递数据604.3.1使用Intent传递数据604.3.2使用静态变量传递数据624.3.3使用剪切板传递数据634.3.4使用全局对象传递数据654.3.5返回数据到前一个Activity674.4视图(View)684.4.1视图简介684.4.2使用XML布局文件定义视图694.4.3在代码中控制视图704.5布局(Layout)724.5.1框架布局(FrameLayout)724.5.2线性布局(LinearLayout)754.5.3相对布局(RelativeLayout)794.5.4表格布局(TableLayout)814.5.5绝对布局(AbsoluteLayout)824.5.6重用XML布局文件824.5.7优化XML布局文件854.5.8查看apk文件中的布局864.6小结87第5章良好的学习开端——控件(Widget)详解885.1常用XML属性解析885.1.1android:id属性885.1.2控件的宽度(android:layout_width)和高度(android:layout_height)885.1.3android:layout_margin属性895.1.4android:padding属性895.1.5android:layout_weight属性905.1.6android:layout_gravity和android:gravity属性905.1.7android:visibility属性915.1.8android:background属性915.1.9指定单击事件方法(android:onClick属性)925.1.10控件焦点属性(android:focusable和android:focusable-InTouchMode)92 5.2TextView(显示文本的控件)935.2.1显示富文本(URL、不同大小、字体、颜色的文本)935.2.2在TextView中显示表情图像和文字975.2.3单击链接弹出Activity1005.2.4为指定文本添加背景1035.2.5带边框的TextView1065.2.6设置行间距1105.2.7在未显示完的文本后面加省略号(…)1115.2.8用TextView实现走马灯效果1135.2.9垂直滚动TextView中的文本1145.3EditText(编辑文本的控件)1155.3.1像QQ一样输入表情图像1155.3.2在EditText中输入特定的字符1175.3.3AutoCompleteText-View(自动完成输入内容的控件)1185.4按钮和复选框控件1205.4.1Button(普通按钮控件)1205.4.2图文混排的按钮1225.4.3ImageButton(图像按钮控件)1245.4.4RadioButton(选项按钮控件)1245.4.5ToggleButton(开关状态按钮控件)1255.4.6CheckBox(复选框控件)1265.5ImageView(显示图像的控件)1285.5.1ImageView控件的基本用法1285.5.2显示指定区域的图像1295.5.3缩放和旋转图像1325.6时间与日期控件1335.6.1DatePicker(输入日期的控件)1335.6.2TimePicker(输入时间的控件)1345.6.3DatePicker、TimePicker与TextView同步显示日期和时间134 5.6.4AnalogClock和DigitalClock(显示时钟的控件)1365.7进度条控件1375.7.1ProgressBar(进度条控件)1375.7.2SeekBar(拖动条控件)1395.7.3设置ProgressBar和SeekBar的颜色及背景图1405.7.4RatingBar(评分控件)1435.8列表控件1455.8.1ListView(普通列表控件)1455.8.2为ListView列表项添加复选框和选项按钮1475.8.3对列表项进行增、删、改操作1495.8.4改变列表项的背景色1535.8.5ListActivity(封装ListView的Activity)1545.8.6ExpandableListView(可扩展的列表控件)1555.8.7Spinner(下拉列表控件)1575.9滚动控件1605.9.1ScrollView(垂直滚动控件)1605.9.2HorizontalScrollView(水平滚动控件)1615.9.3可垂直和水平滚动的视图1625.9.4Gallery(画廊控件)1635.10ImageSwitcher(图像切换控件)1645.11GridView(网格控件)1665.12TabHost(标签控件)1685.13ViewStub(惰性装载控件)1695.14小结171第6章友好的菜单——Menu介绍与实例1726.1菜单的基本用法1726.1.1创建选项菜单(Options Menu)1726.1.2带图像的选项菜单1736.1.3关联Activity1736.1.4响应菜单的单击动作1746.1.5动态添加、修改和删除选项菜单1756.1.6带复选框和选项按钮的子菜单1766.1.7上下文菜单1786.1.8菜单事件1796.1.9从菜单资源中装载菜单1806.2菜单特效1816.2.1自定义菜单1816.2.2模拟UCWeb效果菜单1846.2.3QuickContactBadge与联系人菜单1896.3小结192第7章友好地互动交流——信息提醒(对话框、Toast与Notification)193 7.1对话框的基本用法1937.1.1带2个按钮(确认/取消)的对话框1937.1.2带3个按钮(覆盖/忽略/取消)的对话框1957.1.3简单列表对话框1967.1.4单选列表对话框1987.1.5多选列表对话框1997.1.6进度对话框2017.1.7登录对话框2057.1.8使用Activity托管对话框2077.2对话框的高级应用2097.2.1阻止单击按钮关闭对话框2097.2.2改变对话框的显示位置2137.2.3在对话框按钮和内容文本中插入图像2157.2.4改变对话框的透明度2167.3Toast2177.3.1Toast的基本用法2177.3.2永不关闭的Toast2187.3.3用PopupWindow模拟Toast提示信息框2217.4通知(Notification)2217.4.1在状态栏上显示通知信息2227.4.2Notification的清除动作2247.4.3永久存在的Notification2257.4.4自定义Notification2267.5小结227第8章移动的信息仓库——数据存储2288.1读写key-value对:SharedPreferences2288.1.1SharedPreferences的基本用法2288.1.2数据的存储位置和格式2298.1.3存取复杂类型的数据2308.1.4设置数据文件的访问权限2338.1.5可以保存设置的Activity:PreferenceActivity234 8.2文件存储2388.2.1openFileOutput和openFileInput方法2388.2.2读写SD卡中的文件2398.2.3SAX引擎读取XML文件的原理2418.2.4将XML文件转换成Java对象2428.2.5文件压缩(Jar、Zip)2458.3SQLite数据库2498.3.1SQLite数据库管理工具2498.3.2SQLiteOpenHelper类与自动升级数据库2518.3.3数据绑定与SimpleCursorAdapter类2528.3.4操作SD卡上的数据库2558.3.5将数据库与应用程序一起发布2568.3.6内存数据库2578.4小结258第9章Android中的窗口——Activity2599.1调用其他程序中的Activity2599.1.1直接拨号2599.1.2将电话号传入拨号程序2599.1.3调用拨号程序2609.1.4浏览网页2619.1.5向E-mail客户端传递E-mail地址2619.1.6发送E-mail2619.1.7查看联系人2629.1.8显示系统设置界面(设置主界面、Wifi设置界面)263 9.1.9启动处理音频的程序2649.2自定义Activity Action2649.3Activity的高级应用2669.3.1ActivityGroup2669.3.2自定义半透明窗口2689.3.3Activity之间切换的动画效果2699.4小结270第10章全局事件——广播(Broadcast)27110.1什么是广播27110.2接收系统广播27210.2.1短信拦截27210.2.2用代码注册广播接收器27410.2.3广播接收器的优先级27510.2.4来去电拦截27610.2.5截获屏幕休眠与唤醒28010.2.6开机自动运行28110.2.7显示手机电池的当前电量28210.3发送广播28410.4验证广播接收器是否注册28510.5小结286第11章跨应用数据源——Content Provider287 11.1Content Provider的作用28711.2获得系统数据28811.2.1读取联系人信息28811.2.2查看收到的短信29011.3自定义Content Provider29111.3.1查询城市信息29111.3.2为Content Provider添加访问权限29711.4小结298第12章一切为用户服务——Service基础与实例299 12.1Service基础29912.1.1Service的生命周期29912.1.2绑定Activity和Service30212.1.3开机启动Service30512.1.4判断Service是否已注册30612.1.5判断Service是否已开始30712.2跨进程访问(AIDL服务)30812.2.1什么是AIDL服务30812.2.2建立AIDL服务的步骤30812.2.3建立AIDL服务30812.2.4传递复杂数据的AIDL服务31212.2.5AIDL与来去电自动挂断31712.3小结319第13章做好应用桥梁——网络与通信32013.1WebView控件32013.1.1用WebView控件浏览网页32013.1.2用WebView控件装载HTML代码322 13.2访问HTTP资源32413.2.1提交HTTP GET和HTTP POST请求324 13.2.2HttpURLConnection类32613.2.3上传文件32713.3客户端Socket33013.3.1连接服务器33113.3.2扫描服务器打开的端口33113.3.3发送和接收数据33313.3.4获得无线路由分配给手机的IP地址334 13.3.5设置Socket选项33513.4服务端Socket33913.4.1手机服务器的实现33913.4.2利用Socket在应用程序之间通信340 13.5蓝牙通信34213.5.1蓝牙简介34213.5.2打开和关闭蓝牙设备34313.5.3搜索蓝牙设备34413.5.4蓝牙数据传输34613.6小结351第14章炫酷你的应用——多媒体开发35214.1音乐35214.1.1播放音乐35214.1.2录音35314.2视频35414.2.1使用VideoView播放视频35414.2.2使用SurfaceView播放视频35514.2.3录制视频35714.3相机35714.3.1调用系统的拍照功能35814.3.2自定义拍照功能35914.4铃声36414.5小结366第15章2D游戏开发36715.1绘制游戏的画布36715.1.1在View上实现动画效果36715.1.2在SurfaceView上实现动画效果371 15.2图形绘制基础37415.2.1绘制像素点37415.2.2绘制直线37415.2.3绘制圆形37515.2.4绘制弧37515.2.5绘制文本37615.2.6综合绘制各种图形37615.3高级图像处理技术38015.3.1绘制位图38015.3.2图像的透明度38215.3.3旋转图像38315.3.4路径38415.3.5Shader的渲染效果38815.4帧(Frame)动画39215.4.1AnimationDrawable与帧动画392 15.4.2播放Gif动画39415.5补间(Tween)动画39715.5.1移动补间动画39715.5.2缩放补间动画39915.5.3旋转补间动画40215.5.4透明度补间动画40315.6小结404第16章有趣的Android应用40516.1传感器40516.1.1如何使用传感器40516.1.2加速度传感器(Accelerometer)409 16.1.3重力传感器(Gravity)40916.1.4光线传感器(Light)41016.1.5陀螺仪传感器(Gyroscope)41116.1.6方向传感器(Orientation)41116.1.7其他传感器41216.2输入输出技术41316.2.1语音识别41316.2.2手势输入41516.2.3语音朗读(TTS)41716.3Google地图41916.4GPS定位42316.5桌面上的小东西42516.5.1窗口小部件(AppWidget)425 16.5.2快捷方式43116.5.3实时文件夹43316.6应用更华丽——动态壁纸435 16.7小结441第三部分高级篇第17章HTML5与移动Web开发444 17.1HTML5简介44417.2HTML5精彩效果演示44517.3HTML5在Android中的应用447 17.4HTML5的画布(Canvas)44817.4.1Canvas概述44817.4.2检测浏览器是否支持Canvas449 17.4.3在Web页面中使用Canvas450 17.4.4使用路径(Path)45217.4.5设置线条风格45317.4.6设置填充类型45317.4.7填充矩形区域45417.4.8使用渐变色(Gradient)45417.4.9拉伸画布对象45517.4.10在Canvas上绘制文本456 17.4.11使用阴影45717.5调试JavaScript45817.6小结459第18章输入法开发46018.1Android输入法简介46018.2控制输入法46118.3输入法实战46218.3.1实现输入法的步骤46318.3.2编写输入法程序46318.3.3输入法服务的生命周期46618.3.4预输入文本46718.3.5输入法设置467第19章Android OpenGL ES开发基础46919.1OpenGL简介46919.2什么是OpenGL ES46919.3多边形47019.4颜色47419.5旋转三角形47519.6旋转立方体47719.7小结478第20章OpenGL ES的超酷效果47920.1保持平衡的旋转文本47920.2左右摇摆的Android机器人48220.3纠缠在一起的旋转立方体48520.4透明背景的旋转立方体48620.5触摸旋转的立方体48720.62D和3D的综合旋转效果48920.7旋转立体天空49120.8小结493第21章Android NDK编程49421.1Android NDK简介49421.2安装、配置和测试NDK开发环境49521.2.1系统和软件要求49521.2.2下载和安装Android NDK49521.2.3下载和安装Cygwin49521.2.4配置Android NDK的开发环境49821.3第一个NDK程序:世界你好49921.3.1编写和调用NDK程序49921.3.2用命令行方式编译NDK程序50121.3.3在Eclipse中集成Android NDK50221.4背景不断变化的三角形(NDK 版OpenGL ES)50421.5使用NDK OpenGL ES API实现千变万化的3D效果507 21.6使用NDK调用音频API51021.7本地Activity(Native Activity)51121.8Android NDK配置文件详解51321.8.1Android NDK定义的变量51321.8.2Android NDK定义的函数51421.8.3描述模块的变量51521.8.4配置Application mk文件516第22章测试驱动开发(TDD)51722.1JUnit测试框架51722.2测试Activity51722.3测试Content Provider52122.4测试Service52322.5测试普通类52322.6小结525第四部分综合实例篇第23章Android综合案例一——蓝牙聊天52823.1蓝牙聊天主界面52823.2添加选项菜单53023.3搜索和连接蓝牙设备53023.4使设备可被其他蓝牙设备发现53323.5发送和接收聊天信息53323.6小结537第24章Android综合案例二——月球登陆(游戏)53824.1游戏的玩法53824.2实现游戏界面53924.3设置游戏难度54024.4开始游戏54124.5控制飞船喷火54424.6控制飞船改变飞行方向54424.7判断飞船是否成功着陆54524.8小结546第25章Android综合案例三——全键盘输入法(应用)547 25.1安装输入法54725.2输入法的初始化工作54825.3响应键盘操作54925.4根据EditText控件的属性显示不同的软键盘55125.5小结553第26章Android综合案例四——贪吃蛇(游戏)55426.1游戏玩法55426.2游戏主界面设计55526.3控制小蛇的移动55726.4小结560第27章Android综合案例五——新浪微博客户端(应用)561 27.1新浪微博简介56127.1.1新浪微博客户端56127.1.2新浪微博开放API56327.2使用新浪微博开发API56327.3创建和配置新浪微博客户端工程56427.4登录新浪微博56427.5功能按钮56727.6显示“我的首页”的微博56927.7评论微博57227.8转发微博57327.9写微博57427.10小结576第28章Android综合案例六——笑脸连连看(游戏)577 28.1游戏玩法57728.2准备图像素材57828.3实现主界面57828.4随机生成连连看图像58028.5选中两个相同图像后消失58028.6用定时器限制游戏时间58128.7小结582。