精通Android 3 (中文版)2/2
第1章Android计算平台简介1.1面向新PC的全新平台1.2 Android的历史1.3 Dalvik VM剖析1.4理解Android软件栈1.5使用Android SDK开发最终用户应用程序1.5.1 Android模拟器1.5.2 Android UI 1.5.3 Android基础组件1.5.4高级UI概念1.5.5 Android Service组件1.5.6 Android媒体和电话组件1.5.7 Android Java包1.6利用Android源代码1.7本书的示例项目1.8小结第2章设置开发环境2.1设置环境2.1.1下载JDK 6 2.1.2下载Eclipse 3.6 2.1.3下载Android SDK 2.1.4命令行窗口2.1.5安装ADT 2.2了解基本组件2.2.1 View 2.2.2 Activity 2.2.3 Intent 2.2.4 ContentProvider 2.2.5 Service 2.2.6 AndroidManifest.xml 2.2.7 AVD 2.3 Hello World! 2.4 AVD 2.5剖析Android应用程序的结构2.6分析Notepad应用程序2.6.1加载和运行Notepad应用程序2.6.2分解应用程序2.7了解应用程序生命周期2.8调试应用程序2.8.1启动模拟器2.8.2 StrictMode 2.8.3参考资料2.9小结第3章使用Android资源3.1.1字符串资源3.1.2布局资源3.1.3资源引用语法3.1.4定义资源ID供以后使用3.1.5已编译和未编译的Android资源3.2 Android关键资源3.3使用任意XML资源文件3.4使用原始资源3.5使用资产3.6了解资源目录结构3.7资源和配置更改3.8参考资料URL 3.9小结第4章ContentProvider 4.1探索Android内置的ContentProvider 4.2 ContentProvider的架构4.3实现ContentProvider 4.4练习图书提供程序4.4.1添加图书4.4.2删除图书4.4.3获取图书数量4.4.4显示图书列表4.5资源4.6小结第5章Intent 5.1 Android Intent基础知识5.2 Android中可用的Intent 5.3 Intent的组成5.3.1 Intent和数据URI 5.3.2一般操作5.3.3使用extra信息5.3.4使用组件直接调用活动5.3.5 Intent类别5.3.6将Intent解析为组件的规则5.4练习使用ACTION_PICK 5.5练习使用GET_CONTENT操作5.6挂起的Intent 5.7资源5.8小结第6章构建用户界面和使用控件6.1 Android中的UI开发6.1.1完全利用代码来构建UI 6.1.2完全使用XML构建UI 6.1.3使用XML结合代码构建UI 6.2 Android中的常见控件6.2.1文本控件6.2.2按钮控件6.2.3 ImageView控件6.2.4日期和时间控件6.2.5 MapView控件6.3适配器6.3.1 SimpleCursorAdapter 6.3.2了解ArrayAdapter 6.4结合使用适配器和AdapterView 6.4.1基本的列表控件:ListView 6.4.2 GridView控件6.4.3 Spinner控件6.4.4 Gallery控件6.4.5创建自定义适配器6.4.6 Android中的其他控件6.5样式和主题6.5.1使用样式6.5.2使用主题6.6布局管理器6.6.1 LinearLayout布局管理器6.6.2 TableLayout布局管理器6.6.3 RelativeLayout布局管理器6.6.4 FrameLayout布局管理器6.6.5为各种设备配置自定义布局6.7使用Hierarchy Viewer调试和优化布局6.8参考资料6.9小结第7章使用菜单7.1 Android菜单7.1.1创建菜单7.1.2使用菜单组7.2响应菜单项7.3创建测试工具来测试菜单7.4使用其他菜单类型7.4.1展开的菜单7.4.2使用图标菜单7.4.3使用子菜单7.4.4配置系统菜单7.4.5使用上下文菜单7.4.6使用交替菜单7.4.7使用菜单响应数据变化7.5通过XML文件加载菜单7.5.1 XML菜单资源文件的结构7.5.2填充XML菜单资源文件7.5.3响应基于XML的菜单项7.5.4其他XML菜单标记简介7.6资源7.7小结第8章使用对话框8.1使用Android中的对话框8.1.1设计提醒对话框8.1.2设计提示对话框8.1.3 Android对话框的特性8.1.4重新设计提示对话框8.2使用托管对话框8.2.1理解托管对话框协议8.2.2将非托管对话框重新转换为托管对话框8.2.3简化托管对话框协议8.3使用Toast 8.4资源8.5小结第9章管理和组织首选项9.1探索首选项框架9.1.1 ListPreference 9.1.2 CheckBoxPreference 9.1.3 EditTextPreference 9.1.4 RingtonePreference 9.2组织首选项9.3以编程方式操作首选项9.4使用首选项保存状态9.5参考资料9.6小结第10章探索安全性和权限10.1理解Android安全性模型10.1.1安全性概念概述10.1.2为部署签名应用程序10.2执行运行时安全性检查10.2.1进程边界上的安全性10.2.2声明和使用权限10.2.3理解和使用自定义权限10.2.4理解和使用URI权限10.3参考资料10.4小结第11章构建和使用服务11.1使用HTTP服务11.1.1将HttpClient用于HTTPGET请求11.1.2将HttpClient用于HTTPPOST请求(多部分POST请求示例) 11.1.3 SOAP、JSON和XML分析程序11.1.4处理异常11.1.5解决多线程问题11.1.6有趣的超时11.1.7使用HttpURLConnection 11.1.8使用AndroidHttpClient 11.1.9使用后台线程(AsyncTask) 11.1.10使用AsyncTask处理配置更改11.1.11使用DownloadManager获取文件11.2使用Android服务11.2.1 Android中的服务11.2.2本地服务11.2.3 AIDL服务11.2.4在AIDL中定义服务接口11.2.5实现AIDL接口11.2.6从客户端应用程序调用服务11.2.7向服务传递复杂的类型11.3使用服务的真实示例11.3.1 Google翻译API 11.3.2使用Google翻译API 11.4参考资料11.5小结第12章包12.1包和进程12.1.1包规范的细节12.1.2将包名称转换为进程名称12.1.3列出安装的包12.1.4通过包浏览器删除包12.2包签名过程回顾12.2.1理解数字签名:场景1 12.2.2理解数字签名:场景2 12.2.3一种理解数字签名的模式12.2.4数字签名执行方式12.2.5签名过程的影响12.3在包之间共享数据12.3.1共享用户ID的性质12.3.2共享数据的代码模式12.4库项目12.4.1库项目的概念12.4.2库项目的性质12.4.3创建库项目12.4.4创建使用库的Android项目12.5参考资料12.6小结第13章处理程序13.1 Android组件和线程13.1.1活动在主线程上运行13.1.2广播接收程序在主线程上运行13.1.3服务在主线程上运行13.1.4 ContentProvider在主线程上运行13.1.5单一主线程的影响13.1.6线程池、ContentProvider、外部服务组件13.1.7线程实用程序:发现线程13.2处理程序13.2.1持有主线程的影响13.2.2使用处理程序延迟主线程上的工作13.2.3延迟工作的处理程序源代码示例13.2.4构造合适的Message对象13.2.5将Message对象发送给队列13.2.6响应handleMessage回调13.3使用工作线程13.3.1从菜单调用工作线程13.3.2在工作线程与主线程之间通信13.3.3线程行为概述13.4处理程序示例驱动程序类13.4.1驱动程序活动文件13.4.2布局文件13.4.3菜单文件13.4.4描述文件13.5组件和进程寿命13.5.1活动生命周期13.5.2服务生命周期13.5.3接收程序生命周期13.5.4提供程序生命周期13.6代码编译说明13.6.1从ZIP文件创建项目13.6.2从代码清单创建项目13.7参考资料13.8小结第14章广播接收程序和长期运行的服务14.1广播接收程序14.1.1发送广播14.1.2编写简单的接收程序:示例代码14.1.3在描述文件中注册接收程序14.1.4发送测试广播14.1.5容纳多个接收程序14.1.6进程外接收程序项目14.2从接收程序使用通知14.2.1通过通知管理器监控通知14.2.2发送通知14.3长期运行的接收程序和服务14.3.1长期运行的广播接收程序协议14.3.2 IntentService 14.3.3 IntentService源代码14.4为广播接收程序扩展IntentService 14.4.1长期运行的广播服务抽象14.4.2长期运行的接收程序14.4.3使用LightedGreenRoom抽象唤醒锁14.5长期运行的服务的实现14.5.1非粘滞性服务的细节14.5.2粘滞性服务的细节14.5.3非粘滞性的变体:重传送(redeliver)Intent 14.5.4在onStartCommand中指定服务标志14.5.5挑选合适的粘滞性14.5.6从两个位置控制唤醒锁14.5.7长期运行的服务的实现14.5.8测试长期运行的服务14.6代码编译说明14.6.1从ZIP文件创建项目14.6.2通过代码清单创建项目14.7参考资料14.8小结第15章闹钟管理器15.1闹钟管理器基本知识:设置一个简单的闹钟15.1.1获取闹钟管理器15.1.2设置闹钟时间15.1.3设置闹钟接收程序15.1.4创建适合闹钟的PendingIntent 15.1.5设置闹钟15.1.6测试项目15.2探索其他闹钟管理器场景15.2.1设置重复闹钟15.2.2取消闹钟15.2.3使用多个闹钟15.2.4 Intent在设置闹钟时的首要职责15.2.5闹钟的持久化15.3闹钟管理器事实15.4参考资料15.5小结第16章2D动画揭秘16.1逐帧动画16.1.1计划逐帧动画16.1.2创建活动16.1.3将动画添加到活动16.2布局动画16.2.1基本的补间动画类型16.2.2计划布局动画测试工具16.2.3创建活动和ListView 16.2.4将ListView制作成动画16.2.5使用插值器16.3视图动画16.3.1理解视图动画16.3.2添加动画16.3.3使用Camera实现2D图像的深度效果16.3.4探索AnimationListener类16.3.5关于变换矩阵的一些说明16.4资源16.5小结第17章地图和基于位置的服务17.1地图包17.1.1从Google获取map-api密钥17.1.2 MapView和MapActivity 17.1.3使用覆盖图添加标记17.2位置包17.2.1使用Android进行地理编码17.2.2使用后台线程进行地理编码17.2.3 LocationManager服务17.2.4使用MyLocationOverlay显示位置17.2.5使用接近提醒17.3参考资料17.4小结第18章电话API 18.1使用SMS 18.1.1发送SMS消息18.1.2监视传入的SMS消息18.1.3使用SMS文件夹18.1.4发送电子邮件18.2使用电话管理器18.3 SIP 18.4参考资料18.5小结第19章媒体框架19.1使用媒体API 19.2播放媒体19.2.1播放音频内容19.2.2播放视频内容19.3录制媒体19.3.1使用MediaRecorder录制音频19.3.2使用AudioRecord录制音频19.3.3视频录制19.3.4 MediaStore类19.3.5使用Intnet录制音频19.3.6将媒体内容添加到媒体存储19.3.7为整个SD卡触发MediaScanner 19.3.8参考资料19.4小结第20章使用OpenGL进行3D图形编程20.1了解OpenGL的历史和背景20.1.1 OpenGL ES 20.1.2 OpenGL ES与Java ME 20.1.3 M3G:另一种Java ME 3D图形标准20.2 OpenGL的基本原理20.2.1使用OpenGL ES进行基本绘制20.2.2 OpenGL照相机和坐标20.3在Android中使用OpenGL ES 20.3.1使用GLSurfaceView和相关类20.3.2实现Renderer 20.3.3通过Activity使用GLSurfaceView 20.3.4更改照相机设置20.3.5使用索引添加另一个三角形20.3.6为简单的OpenGL三角形制作动画20.4 OpenGL的运用:形状和纹理20.4.1绘制矩形20.4.2使用形状20.4.3使用纹理20.4.4绘制多个图形20.5 OpenGL ES 2.0 20.5.1针对OpenGL ES 2.0的Java绑定20.5.2呈现步骤20.5.3着色器20.5.4将着色器编译到程序中20.5.5访问着色器程序变量20.5.6简单的ES 2.0三角形20.5.7关于OpenGL ES 2.0的更多阅读材料20.6代码编译说明20.7小结第21章活动文件夹21.1探索活动文件夹21.1.1用户如何使用活动文件夹21.1.2构建活动文件夹21.2代码编译说明21.3参考资料21.4小结第22章主屏幕部件22.1主屏幕部件的架构22.1.1什么是主屏幕部件22.1.2主屏幕部件的用户体验22.1.3部件的生命周期22.2示例部件应用程序22.2.1定义部件提供程序22.2.2定义部件尺寸22.2.3与部件布局相关的文件22.2.4实现部件提供程序22.2.5实现部件模型22.2.6实现部件配置活动22.3部件局限性和扩展22.4资源22.5小结第23章Android搜索23.1 Android搜索体验23.1.1探索Android全局搜索23.1.2为全局搜索启用建议提供程序23.2活动与搜索键交互23.2.1常规活动上的搜索键行为23.2.2禁用了搜索的活动的行为23.2.3通过菜单显式调用搜索23.2.4本地搜索和相关活动23.2.5启用键入搜索23.3实现简单建议提供程序23.3.1计划简单建议提供程序23.3.2简单建议提供程序实现文件23.3.3实现SimpleSuggestion-Provider类23.3.4简单建议提供程序搜索活动23.3.5搜索调用方活动23.3.6简单建议提供程序用户体验23.4实现自定义建议提供程序23.4.1计划自定义建议提供程序23.4.2 SuggestURLProvider项目实现文件23.4.3实现SuggestUrlProvider类23.4.4实现自定义建议提供程序的搜索活动23.4.5自定义建议提供程序描述文件23.4.6自定义建议用户体验23.5使用操作键和应用程序特有的搜索数据23.5.1在Android搜索中使用操作键23.5.2使用应用程序特定的搜索上下文23.6资源23.7对平板电脑的意义23.8小结第24章文本到语音转换24.1 Android中的文本到语音转换24.2使用语段跟踪语音24.3使用音频文件代替话音24.4 TTS引擎的高级功能24.4.1设置音频流24.4.2使用耳标24.4.3播放静音24.4.4选择不同的文本到语音转换引擎24.4.5使用语言方法24.5参考资料24.6小结第25章触摸屏25.1 MotionEvent 25.1.1 MotionEvent对象25.1.2回收MotionEvent 25.1.3使用VelocityTracker 25.1.4探索拖放操作25.2多点触摸25.2.1 Android2.2之前的多点触摸25.2.2自Android 2.2开始的多点触摸25.3触摸地图25.4手势25.4.1捏合手势25.4.2 GestureDetector和OnGestureListener 25.4.3自定义手势25.4.4 Gestures Builder应用程序25.5参考资料25.6小结第26章传感器26.1什么是传感器26.1.1检测传感器26.1.2可以了解的传感器信息26.2获取传感器事件26.3解释传感器数据26.3.1光线传感器26.3.2接近传感器26.3.3温度传感器26.3.4压力传感器26.3.5陀螺仪传感器26.3.6加速度计26.3.7磁场传感器26.3.8结合使用加速度计和磁场传感器26.3.9方向传感器26.3.10磁偏角和GeomagneticField 26.3.11重力传感器26.3.12直线加速度传感器26.3.13旋转矢量传感器26.3.14近场通信传感器26.4参考资料26.5小结第27章联系人API 27.1账户27.1.1账户屏幕概览27.1.2账户与联系人的相关性27.1.3枚举账户27.2联系人应用程序27.2.1显示联系人27.2.2显示联系人详细信息27.2.3编辑联系人详细信息27.2.4设置联系人的照片27.2.5导出联系人27.2.6各种联系人数据类型27.3联系人27.3.1内容SQLite数据库27.3.2原始联系人27.3.3数据表27.3.4聚合联系人27.3.5 view_contacts 27.3.6 contact_entities_view 27.4联系人API 27.4.1浏览账户27.4.2浏览聚合联系人27.4.3浏览原始联系人27.4.4浏览原始联系人数据27.4.5添加联系人和它的详细信息27.5控制聚合27.6同步的影响27.7参考资料27.8小结第28章使用Android Market 28.1成为发布者28.1.1遵守规则28.1.2开发人员控制台28.2准备销售应用程序28.2.1针对不同设备进行测试28.2.2支持不同的屏幕尺寸28.2.3准备上传AndroidManifest.xml 28.2.4本地化应用程序28.2.5准备应用程序图标28.2.6付费应用程序考虑因素28.2.7将用户引导至Market 28.2.8 Android授权服务28.2.9准备上传.apk文件28.3上传应用程序28.4 Android Market上的用户体验28.5更多发布途径28.6参考资料28.7小结第29章多用途的碎片29.1什么是碎片29.1.1何时使用碎片29.1.2碎片的结构29.1.3碎片的生命周期29.1.4展示生命周期的示例碎片应用程序29.2 FragmentTransactions和碎片后退栈29.3 FragmentManager 29.3.1引用碎片时的注意事项29.3.2 ListFragments和29.3.3在需要时调用独立的活动29.3.4碎片的持久化29.4对话框碎片29.4.1 DialogFragment基础知识29.4.2 DialogFragments示例应用程序29.5碎片之间的更多通信方式29.6使用ObjectAnimator自定义动画29.7参考资料29.8小结第30章ActionBar 30.1 ActionBar剖析30.2选项卡导航操作栏活动30.2.1实现基础活动类30.2.2为ActionBar分配统一的行为30.2.3实现选项卡监听器30.2.4实现选项卡操作栏活动30.2.5可滚动的调试文本视图布局30.2.6操作栏和菜单交互30.2.7 Android描述文件30.2.8测试选项卡操作栏活动30.3列表导航操作栏活动30.3.1创建SpinnerAdapter 30.3.2创建列表监听器30.3.3设置列表操作栏30.3.4更改BaseActionBar-Activity 30.3.5更改AndroidManifest.xml 30.3.6测试列表操作栏活动30.4标准导航操作栏活动30.4.1标准导航操作栏活动30.4.2更改BaseActionBar-Activity 30.4.3更改AndroidManifest.xml 30.4.4测试标准操作栏活动30.5参考资料30.6小结第31章3.0版中的更多主题31.1基于列表的主屏幕部件31.1.1 3.0版中新的远程视图31.1.2在远程视图中使用列表31.1.3应用示例:测试主屏幕列表部件31.1.4对测试列表部件进行测试31.2拖放31.2.1 3.0版中拖放的基础知识31.2.2拖放示例应用程序31.2.3测试示例拖放应用程序31.3参考资料31.4小结
35.83MB
文件大小:
评论区