本文来自一名很有上进心的Android网友。

  现在互联网的存在使人们一天获取的信息比过去人好多年获取的都多。

  但凡事都有利弊,大量的信息、太多的选择会让我这样的菜鸟太迷茫,总觉得什么都需要看,又不知道先从哪个看起。

  最近看到很多书籍都有助于我下阶段的Android学习,差一点全买了,但是看了看书架上好几本买来没怎么翻的书,掂量了下自己现在得水平,还是先把这阶段搞夯实了再买吧。

  下阶段要看的书记录如下,以供自己或者网友需要时查看:

  1. 打造高质量Android应用:Android开发必知的50个诀窍

打造高质量Android应用:Android开发必知的50个诀窍

  目前唯一一本从开发技巧角度讲解Android应用开发的著作,旨在迅速提高开发者解决各种疑难问题的能力,从而打造出高质量的Android应用。

  目录:

  《打造高质量Android应用:Android开发必知的50个诀窍》

  推荐序

  序

  致谢

  关于本书

  关于原书封面插图

  第1章 活用布局 1

  Hack 1 使用weight属性实现视图的居中显示 1

  1.1 合用weightSum属性和layout_weight属性 2

  1.2 概要 4

  1.3 外部链接 4

  Hack 2 使用延迟加载以及避免代码重复 4

  2.1 使用标签避免代码重复 5

  2.2 通过ViewStub实现View的延迟加载 7

  2.3 概要 9

  2.4 外部链接 9

  Hack 3 创建定制的ViewGroup 10

  3.1 理解Android绘制视图的方式 11

  3.2 创建CascadeLayout 12

  3.3 为子视图添加自定义属性 15

  3.4 概要 17

  3.5 外部链接 17

  Hack 4 偏好设置使用技巧 17

  4.1 概要 20

  4.2 外部链接 20

  第2章 添加悦目的动画效果 21

  Hack 5 使用TextSwitcher和ImageSwitcher实现平滑过渡 21

  5.1 概要 23

  5.2 外部链接 23

  Hack 6 为ViewGroup的子视图添加悦目的动画效果 24

  6.1 概要 26

  6.2 外部链接 26

  Hack 7 在Canvas上显示动画 26

  7.1 概要 28

  7.2 外部链接 28

  Hack 8 附加Ken Burns特效的幻灯片 29

  8.1 概要 31

  8.2 外部链接 31

  第3章 使用视图的技巧和窍门 33

  Hack 9 避免在EditText中验证日期 33

  9.1 概要 34

  9.2 外部链接 35

  Hack 10 格式化TextView的文本 35

  10.1 概要 36

  10.2 外部链接 37

  Hack 11 为文本添加发亮的效果 37

  11.1 概要 39

  11.2 外部链接 39

  Hack 12 为背景添加圆角边框 39

  12.1 概要 40

  12.2 外部链接 40

  Hack 13 在onCreate()方法中获取View的宽度和高度 40

  13.1 概要 42

  13.2 外部链接 42

  Hack 14 VideoView的转屏处理技巧 42

  14.1 概要 46

  14.2 外部链接 46

  Hack 15 移除背景以提升Activity启动速度 46

  15.1 概要 48

  15.2 外部链接 48

  Hack 16 更改Toast显示位置的技巧 48

  16.1 概要 50

  16.2 外部链接 50

  Hack 17 使用Gallery创建向导表单 50

  17.1 概要 55

  17.2 外部链接 55

  第4章 实用工具 56

  Hack 18 在发布正式版本前移除日志语句 56

  18.1 概要 57

  18.2 外部链接 58

  Hack 19 使用Hierarchy Viewer工具移除不必要的视图 58

  19.1 概要 62

  19.2 外部链接 62

  第5章 模式 63

  Hack 20 模型–视图–主导器模式 63

  20.1 概要 66

  20.2 外部链接 66

  Hack 21 与Activity生命周期绑定的BroadcastReceiver 66

  21.1 概要 68

  21.2 外部链接 68

  Hack 22 使用Android库项目时适用的架构模式 69

  22.1 后台逻辑和模型 69

  22.2 库项目 70

  22.3 Android应用程序 71

  22.4 概要 71

  22.5 外部链接 72

  Hack 23 同步适配器模式 72

  23.1 一般方法 72

  23.2 我的方法 74

  23.3 概要 89

  23.4 外部链接 89

  第6章 活用列表和适配器 91

  Hack 24 处理空列表 91

  24.1 概要 92

  24.2 外部链接 92

  Hack 25 通过ViewHolder优化适配器 93

  25.1 概要 95

  25.2 外部链接 95

  Hack 26 为ListView添加分段标头 95

  26.1 创建列表布局 97

  26.2 创建可视分段标头 98

  26.3 最后一步 99

  26.4 概要 100

  26.5 外部链接 100

  Hack 27 使用Activity和Delegate与适配器交互 101

  27.1 概要 103

  27.2 外部链接 103

  Hack 28 充分利用ListView的头视图 103

  28.1 概要 106

  28.2 外部链接 106

  Hack 29 在ViewPager中处理转屏 106

  29.1 概要 108

  29.2 外部链接 108

  Hack 30 ListView的选择模式 108

  30.1 概要 112

  30.2 外部链接 113

  第7章 实用库 114

  Hack 31 Android面向切面编程 114

  31.1 概要 118

  31.2 外部链接 118

  Hack 32 使用Cocos2d-x美化应用程序 118

  32.1 Cocos2d-x是什么 119

  32.2 使用Cocos2d-x 119

  32.3 概要 123

  32.4 外部链接 123

  第8章 与其他编程语言交互 125

  Hack 33 在Android上运行Objective-C 125

  33.1 下载并编译Itoa 126

  33.2 划分模块 127

  33.3 创建Java层代码 131

  33.4 概要 132

  33.5 外部链接 133

  Hack 34 在Android中使用Scala 133

  34.1 概要 136

  34.2 外部链接 137

  第9章 可复用的代码片段 138

  Hack 35 同时发起多个Intent 138

  35.1 拍照 139

  35.2 从相册中选择照片 139

  35.3 整合两种Intent 139

  35.4 概要 140

  35.5 外部链接 140

  Hack 36 在用户反馈中收集信息 140

  36.1 概要 143

  36.2 外部链接 143

  Hack 37 向media ContentProvider添加MP3文件 143

  37.1 使用ContentValues添加MP3文件 144

  37.2 使用MediaScanner添加MP3文件 144

  37.3 概要 145

  37.4 外部链接 145

  Hack 38 为ActionBar添加刷新动作 145

  38.1 概要 149

  38.2 外部链接 149

  Hack 39 从Market中获取依赖功能 149

  39.1 概要 151

  39.2 外部链接 152

  Hack 40 以后进先出方式加载图片 152

  40.1 起点:Android示例程序 152

  40.2 引入executor 153

  40.3 UI线程—离开返回的无缝衔接 155

  40.4 注意事项 155

  40.5 概要 155

  40.6 外部链接 156

  第10章 数据库进阶 157

  Hack 41 使用ORMLite构建数据库 157

  41.1 一个简单的数据模型 158

  41.2 开始 159

  41.3 坚如磐石的数据库schema 160

  41.4 SQLiteOpenHelper——数据库通道 163

  41.5 用于数据库访问的单例模式 165

  41.6 CRUD操作一点通 166

  41.7 查询构建器 167

  41.8 数据类型和棘手的外部类型 169

  41.9 原生SQL查询 172

  41.10 事务 174

  41.11 概要 175

  41.12 外部链接 176

  Hack 42 为SQLite添加自定义功能 176

  42.1 Java代码 177

  42.2 native代码 178

  42.3 概要 180

  42.4 外部链接 180

  Hack 43 数据库批处理 181

  43.1 不使用批处理操作 182

  43.2 使用批处理操作 183

  43.3 使用SQLiteContentProvider执行批处理操作 184

  43.4 概要 186

  43.5 外部链接 186

  第11章 避免代码碎片化 187

  Hack 44 处理熄灯模式 187

  44.1 Android 2.x 188

  44.2 Android 3.x 189

  44.3 在一个Activity中整合两种实现 190

  44.4 概要 190

  44.5 外部链接 191

  Hack 45 在旧版本上使用新API 191

  45.1 使用apply()替代commit() 191

  45.2 将应用程序安装到SD卡中 194

  45.3 概要 195

  45.4 外部链接 195

  Hack 46 向后兼容的通知 196

  46.1 概要 200

  46.2 外部链接 200

  Hack 47 使用Fragment创建Tab 201

  47.1 创建自定义Tab的UI界面 201

  47.2 在Activity中放置Tab 202

  47.3 概要 203

  47.4 外部链接 203

  第12章 构建工具 204

  Hack 48 使用Apache Maven处理依赖关系 204

  48.1 概要 208

  48.2 外部链接 208

  Hack 49 在root过的设备上安装依赖库 209

  49.1 dex预处理 211

  49.2 创建与权限相关的XML文件 211

  49.3 修改AndroidManifest.xml文件 212

  49.4 概要 212

  49.5 外部链接 212

  Hack 50 使用Jenkins处理设备多样性 213

  50.1 创建Jenkins job 215

  50.2 运行job 217

  50.3 概要 218

  50.4 外部链接 219

  2. 深入理解Android网络编程:技术详解与最佳实践

深入理解Android网络编程:技术详解与最佳实践

  目录:

  序

  前言

  第一篇 概述篇

  第1章 Android网络编程概要 2

  1.1 Android简介 2

  1.1.1 Android的发展 2

  1.1.2 Android功能特性 3

  1.1.3 Android系统构架 4

  1.2 Android网络程序的功能 6

  1.2.1 通信功能 6

  1.2.2 及时分享 6

  1.2.3 个人管理 6

  1.2.4 娱乐游戏 7

  1.2.5 企业应用 7

  1.3 设置Android开发环境 7

  1.3.1 相关下载 7

  1.3.2 安装ADT 9

  1.3.3 Hello World! 11

  1.4 网络应用实战案例 17

  1.4.1 加载一个页面 17

  1.4.2 下载一个页面 21

  1.5 小结 21

  第二篇 实战篇

  第2章 Android基本网络技术和编程实践 24

  2.1 计算机网络及其协议 24

  2.1.1 计算机网络概述 24

  2.1.2 网络协议概述 25

  2.1.3 IP、TCP和UDP协议 26

  2.2 在Android中使用TCP、UDP协议 31

  2.2.1 Socket基础 31

  2.2.2 使用TCP通信 34

  2.2.3 使用UDP通信 36

  2.3 Socket实战案例 39

  2.3.1 Socket聊天举例 39

  2.3.2 FTP客户端 41

  2.3.3 Telnet客户端 44

  2.4 小结 46

  第3章 Android基本Web技术和编程实践 47

  3.1 HTTP协议 47

  3.1.1 HTTP简介 47

  3.1.2 实战案例:基于HTTP协议的文件上传 51

  3.2 Android中的HTTP编程 57

  3.2.1 HttpClient和URLConnection 57

  3.2.2 Post和Get在HttpClient的使用 58

  3.2.3 实战案例:使用HttpClient和URLConnection访问维基百科 60

  3.3 Android处理JSON 64

  3.3.1 JSON简介 64

  3.3.2 JSON数据解析 65

  3.3.3 JSON打包 67

  3.3.4 实战案例:JSON解析wikipedia内容 68

  3.4 Android处理SOAP 71

  3.4.1 SOAP简介 71

  3.4.2 SOAP消息 72

  3.4.3 实战案例:SOAP解析天气服务 74

  3.5 Android对HTML的处理 79

  3.5.1 解析HTML 79

  3.5.2 HTML适配屏幕 80

  3.5.3 JavaScript混合编程 81

  3.5.4 实战案例:Android自定义打开HTML页面 87

  3.6小结 91

  第4章 Android常见网络接口编程 92

  4.1 Android解析和创建XML 92

  4.1.1 XML简介 92

  4.1.2 DOM解析XML 97

  4.1.3 SAX解析XML 102

  4.1.4 PULL解析XML 108

  4.1.5 实战案例:Android中创建XML 110

  4.2 Android订阅RSS 113

  4.2.1 RSS简介 113

  4.2.2 实战案例:简单RSS阅读器 115

  4.3 Android Email编程 122

  4.3.1 Android发送Email 122

  4.3.2 实战案例:Android下Email的Base64加密 123

  4.4 Android网络安全 125

  4.4.1 Android网络安全简介 125

  4.4.2 Android加密和解密 127

  4.4.3 实战案例:Android应用添加签名 133

  4.5 OAuth认证 135

  4.5.1 OAuth简介 135

  4.5.2 实战案例:使用OAuth接口 137

  4.6 小结 139

  第5章 Android网络模块编程 141

  5.1 Android地图和定位 141

  5.1.1 获取map-api密钥 141

  5.1.2 获取位置 144

  5.1.3 实战案例:利用MapView显示地图 146

  5.2 USB编程 150

  5.2.1 USB主从设备 150

  5.2.2 USB Accessory Mode 151

  5.2.3 USB Host Mode 157

  5.2.4 实战案例:Android和Arduino交互 159

  5.3 Wi-Fi编程 168

  5.3.1 Android Wi-Fi相关类 168

  5.3.2 Android Wi-Fi基本操作 171

  5.3.3 实战案例:使用Wi-Fi直连方式传输文件 177

  5.4 蓝牙编程 185

  5.4.1 蓝牙简介 185

  5.4.2 Android蓝牙API分析 185

  5.4.3 Android蓝牙基本操作 187

  5.4.4 实战案例:蓝牙连接 192

  5.5 NFC编程简介 197

  5.5.1 NFC技术简介 197

  5.5.2 NFC API简介 198

  5.5.3 NFC处理流程分析 199

  5.6 小结 205

  第6章 Android线程、数据存取、缓存和UI同步 206

  6.1 Android线程 206

  6.1.1 Android线程模型 206

  6.1.2 异步任务类 211

  6.1.3 实战案例:利用AsyncTask实现多线程下载 213

  6.2 数据存取 214

  6.2.1 Shared Preferences数据存储 215

  6.2.2 Internal Storage数据存储 216

  6.2.3 External Storage数据存储 217

  6.2.4 SQLite Databases数据存储 219

  6.2.5 实战案例:SQLite数据库操作 220

  6.3 网络判定 227

  6.3.1 判断用户是否连接 228

  6.3.2 判断网络连接的类型 228

  6.3.3 监控网络连接改变 228

  6.3.4 实战案例:根据广播消息判断网络连接情况 228

  6.4 消息缓存 230

  6.4.1 Android中的缓存机制 230

  6.4.2 实战案例:下载、缓存和显示图片 231

  6.5 界面更新 236

  6.5.1 刷新数据时的界面更新 236

  6.5.2 完成任务时的界面更新 237

  6.5.3 实战案例:自定义列表显示更新 238

  6.6 小结 248

  第7章 基于SIP协议的VoIP应用 249

  7.1 SIP协议简介 249

  7.2 SIP服务器搭建 250

  7.2.1 下载安装Brekeke SIP Server 250

  7.2.2 访问服务器 251

  7.2.3 启动服务器 252

  7.3 SIP程序设置 253

  7.3.1 Android SIP API中的类和接口 253

  7.3.2 Android极限列表 253

  7.3.3 完整的Manifest文件 254

  7.4 SIP初始化通话 255

  7.4.1 SipManager对象 255

  7.4.2 SipProfile对象 256

  7.5 监听SIP通话 257

  7.5.1 创建监听器 258

  7.5.2 拨打电话 258

  7.5.3 接收呼叫 259

  7.6 实战案例:SIP通话 261

  7.7 小结 270

  第8章 基于XMPP协议的即时通信应用 271

  8.1 XMPP协议简介 271

  8.2 使用Openfire搭建XMPP服务器 272

  8.3 登录XMPP服务器 276

  8.3.1 Asmack相关类 276

  8.3.2 登录XMPP服务器 277

  8.4 联系人相关操作 279

  8.4.1 获取联系人列表 279

  8.4.2 获取联系人状态 280

  8.4.3 添加和删除联系人 280

  8.4.4 监听联系人添加信息 281

  8.5 消息处理 282

  8.5.1 接收消息 282

  8.5.2 发送消息 283

  8.6 实战案例:XMPP多人聊天 283

  8.6.1 创建新多人聊天室 284

  8.6.2 加入聊天室 286

  8.6.3 发送和接收消息 287

  8.7 小结 288

  第三篇 源码分析篇

  第9章 Android对HTML的处理 290

  9.1 Android HTML处理关键类 290

  9.2 HTMLViewer分析 292

  9.3 浏览器源代码解析 296

  9.3.1 WebView加载入口分析 296

  9.3.2 调用JavaScript接口 299

  9.4 WebKit简单分析 300

  9.4.1 HTTP Cache管理 300

  9.4.2 Cookie管理 301

  9.4.3 处理HTTP认证以及证书 302

  9.4.4 处理JavaScript的请求 302

  9.4.5 处理MIME类型 305

  9.4.6 访问WebView的历史 306

  9.4.7 保存网站图标 306

  9.4.8 WebStorage 306

  9.4.9 处理UI 307

  9.4.10 Web设置分析 309

  9.4.11 HTML5音视频处理 309

  9.4.12 缩放和下载 311

  9.4.13 插件管理 311

  9.5 小结 313

  第10章 Android网络处理分析 314

  10.1 Android网络处理关键类及其说明 314

  10.2 Android网络处理流程 315

  10.2.1 监控网络连接状态 315

  10.2.2 认证类 316

  10.2.3 DHCP状态机 317

  10.2.4 LocalServerSocket 318

  10.2.5 响应邮件请求 320

  10.2.6 提供网络信息 323

  10.2.7 Proxy类 324

  10.2.8 VPN服务 325

  10.3 Android封装的HTTP处理类 326

  10.3.1 AndroidHttpClient类和DefaultHttpClient类 326

  10.3.2 SSL认证信息处理类 327

  10.3.3 SSL错误信息处理 328

  10.3.4 AndroidHttpClient 328

  10.4 Android RTP协议 329

  10.4.1 传输音频码 330

  10.4.2 AudioGroup 331

  10.4.3 语音流RtpStream和AudioStream 332

  10.5 Android SIP协议 333

  10.5.1 SIP通话简介 334

  10.5.2 SIP初始化 335

  10.5.3 SipProfile 336

  10.5.4 SipSession 337

  10.5.5 SIP包错误处理 338

  10.6 小结 339

  第11章 Android网络应用分析 340

  11.1 Android中使用SAX解析XML 340

  11.1.1 几种XML解析方式讨论 340

  11.1.2 SAX解析XML的原理 341

  11.1.3 SAX发现XML的根元素 342

  11.1.4 SAX发现XML的子元素 345

  11.2 基于位置的服务 348

  11.2.1 位置服务的基本概念 348

  11.2.2 位置服务的基本类 348

  11.2.3 调用Google地图 350

  11.2.4 根据位置刷新地图显示 351

  11.3 媒体传输协议 353

  11.3.1 MTP和PTP简介 353

  11.3.2 定义MTP和PTP的类型 354

  11.3.3 封装MTP设备信息 357

  11.3.4 封装MTP对象的信息 358

  11.3.5 封装MTP设备上存储单元的信息 360

  11.4 小结 362

  3. Android源码分析实录

Android源码分析实录

  基于当今市面主流版本全面剖析Android系统的整体架构,细致剖析14大核心系统底层、HAL层和应用层讲解循序渐进。

  目录:

  第1章走进Android世界

  1.1Android系统的优势

  1.1.1开源

  1.1.2强大的开发团队的支持

  1.1.3开发人员的支持

  1.2Android系统架构介绍

  1.2.1底层操作系统层(Linux内核层)

  1.2.2库(Libraries)和运行环境(Runtime)

  1.2.3应用程序框架(ApplicationFramework)

  1.2.4顶层应用程序(Application)

  1.3核心组件

  1.3.1Activity的界面表现

  1.3.2Intent和IntentFilters界面切换

  1.3.3Service服务

  1.3.4用BroadcastIntentReceiver广播

  1.3.5用ContentProvider存储

  1.4进程和线程

  1.4.1什么是进程

  1.4.2什么是线程

  1.5获取Android4.3源码

  1.5.1在Linux系统中获取Android源码

  1.5.2在Windows平台上获取Android源码

  1.6Android源码结构分析

  1.6.1Android源码的目录结构

  1.6.2应用程序

  1.6.3应用程序框架

  1.6.4系统服务

  1.6.5系统程序库

  1.6.6系统运行库

  1.6.7硬件抽象层

  1.7编译Android源码

  1.7.1搭建编译环境

  1.7.2开始编译

  1.7.3在模拟器中运行

  1.7.4编译源码生成SDK

  第2章硬件抽象层详解

  2.1什么是HAL层

  2.1.1为什么把对硬件的支持划分为两层来实现

  2.1.2HAL层的位置结构

  2.2分析HALModule架构

  2.2.1hw_module_t

  2.2.2hw_module_methods_t

  2.2.3hw_device_t

  2.3分析文件hardware.C

  2.3.1函数hwgetmodule

  2.3.2数组variantkeys

  2.3.3载入相应的库

  2.3.4打开相应库并获得hw_module_t结构体

  2.4分析硬件抽象层的加载过程

  2.5分析硬件访问服务

  2.5.1定义硬件访问服务接口

  2.5.2实现硬件访问服务

  2.6分析mokoid工程

  2.6.1直接调用Service方法实现

  2.6.2通过Manager调用Service实现

  2.7分析HAL层的具体实现(以Sensor系统为例)

  2.7.1传感器系统的基础知识

  2.7.2HAL层的Sensor代码

  ……

  第3章分析JNl(Java本地接口)层

  第4章Android内存系统分析

  第5章Android虚拟机系统详解

  第6章IPC通信机制详解

  第7章Zygote进程、System进程和

  应用程序进程

  第8章分析Activity组件

  第9章ContentProvider数据存储

  第10章Broadcast(广播)系统详解

  第11章多媒体系统详解

  第12章电源管理系统详解

  第13章输入系统驱动应用

  第14章蓝牙系统详解

  第15章网络系统详解

本文发布:Android开发网
本文地址:http://www.jizhuomi.com/android/book/533.html
2016年2月1日
发布:鸡啄米 分类:Android开发书籍 浏览: 评论:0