当前位置:首页 > 工业技术
Android编程权威指南
Android编程权威指南

Android编程权威指南PDF电子书下载

工业技术

  • 电子书积分:16 积分如何计算积分?
  • 作 者:(美)菲利普斯,(美)哈迪著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2014
  • ISBN:9787115346438
  • 页数:523 页
图书介绍:自2007年发布以来,Android开发平台在移动开发市场掀起了一股旋风,发展迅猛,其版本也经历了多次升级,不断开发出新性能和新技术。本书内容丰富,作者通过简单易懂的方式介绍了大量的案例来讲述Android开发平台的发展历程。
《Android编程权威指南》目录

第1章Android应用初体验 1

1.1应用基础 2

1.2创建Android项目 2

1.3 Eclipse工作区导航 5

1.4用户界面设计 6

1.4.1视图层级结构 9

1.4.2组件属性 10

1.4.3创建字符串资源 11

1.4.4预览界面布局 12

1.5从布局XML到视图对象 13

1.6组件的实际应用 15

1.6.1类包组织导入 16

1.6.2引用组件 16

1.6.3设置监听器 17

1.7使用模拟器运行应用 21

1.8 Android编译过程 22

第2章Android与MVC设计模式 26

2.1创建新类 26

2.2 Android与MVC设计模式 30

2.3更新视图层 31

2.4更新控制层 33

2.5在设备上运行应用 37

2.5.1连接设备 37

2.5.2配置设备用于应用开发 38

2.6添加图标资源 38

2.6.1向项目中添加资源 39

2.6.2在XML文件中引用资源 40

2.7关于挑战练习 41

2.8挑战练习一:为TextView添加监听器 41

2.9挑战练习二:添加后退按钮 42

2.10挑战练习三:从按钮到图标按钮 42

第3章Activity的生命周期 45

3.1日志跟踪理解Activity生命周期 46

3.1.1输出日志信息 46

3.1.2使用LogCat 48

3.2设备旋转与Activity生命周期 52

3.3设备旋转前保存数据 56

3.4再探Activity生命周期 57

3.5深入学习:测试onSaveInstanceState-(Bundle)方法 59

3.6深入学习:日志记录的级别与方法 60

第4章Android应用的调试 62

4.1 DDMS应用调试透视图 63

4.2异常与栈跟踪 64

4.2.1诊断应用异常 65

4.2.2记录栈跟踪日志 66

4.2.3设置断点 68

4.2.4使用异常断点 71

4.3文件浏览器 72

4.4 Android特有的调试工具 73

4.4.1使用Android Lint 73

4.4.2 R类的问题 74

第5章 第二个activity 75

5.1创建第二个activity 76

5.1.1创建新布局 77

5.1.2创建新的activity子类 80

5.1.3在manifest配置文件中声明activity 81

5.1.4为QuizActivity添加cheat按钮 82

5.2启动activity 83

5.3 activity间的数据传递 85

5.3.1使用intent extra 86

5.3.2从子activity获取返回结果 88

5.4 activity的使用与管理 92

5.5挑战练习 95

第6章Android SDK版本与兼容 96

6.1 Android SDK版本 96

6.2 Android编程与兼容性问题 97

6.2.1全新的系统版本——Honeycomb 97

6.2.2 SDK最低版本 99

6.2.3 SDK目标版本 99

6.2.4 SDK编译版本 99

6.2.5安全添加新版本API中的代码 100

6.3使用Android开发者文档 103

6.4挑战练习:报告编译版本 105

第7章UI fragment与fragment管理器 106

7.1 UI设计的灵活性需求 107

7.2 fragment的引入 107

7.3着手开发CriminalIntent 108

7.3.1创建新项目 110

7.3.2 fragment与支持库 112

7.3.3创建Crime类 113

7.4托管UI fragment 115

7.4.1 fragment的生命周期 115

7.4.2托管的两种方式 116

7.4.3定义容器视图 116

7.5创建UI fragment 117

7.5.1定义CrimeFragment的布局 118

7.5.2创建CrimeFragment类 119

7.6添加UI fragment到FragmentManager 122

7.6.1 fragment事务 123

7.6.2 FragmentManager与fragment生命周期 125

7.7 activity使用fragment的理由 127

7.8深入学习:Honeycomb、 ICS、Jelly Bean以及更高版本系统上的应用开发 127

第8章 使用布局与组件创建用户界面 128

8.1升级Crime类 128

8.2更新布局 129

8.3生成并使用组件 131

8.4深入探讨XML布局属性 132

8.4.1样式、主题及主题属性 132

8.4.2 dp、 sp以及屏幕像素密度 133

8.4.3 Android开发设计原则 134

8.4.4布局参数 135

8.4.5边距与内边距 135

8.5使用图形布局工具 136

8.5.1添加新组件 138

8.5.2属性视图中编辑组件属性 138

8.5.3在框架视图中重新组织组件 139

8.5.4更新子组件的布局参数 140

8.5.5 android:layout_ weight属性的工作原理 141

8.5.6图形布局工具使用总结 142

8.5.7组件ID与多种布局 142

8.6挑战练习:日期格式化 143

第9章 使用ListFragment显示列表 144

9.1更新CriminalIntent应用的模型层 145

9.2创建ListFragment 147

9.3使用抽象activity托管fragment 149

9.3.1通用的fragment托管布局 149

9.3.2抽象activity类 150

9.4 ListFragment、ListView及ArrayAdapter 154

9.4.1 创建ArrayAdapter<T>类实例 157

9.4.2响应列表项的点击事件 159

9.5定制列表项 160

9.5.1创建列表项布局 160

9.5.2创建adapter子类 162

第10章 使用fragment argument 165

10.1从fragment中启动activity 165

10.1.1附加extra信息 166

10.1.2获取extra信息 167

10.1.3使用C rime数据更新CrimeFragment视图 167

10.1.4直接获取extra信息方式的缺点 169

10.2 fragment argument 169

10.2.1附加argument给fragment 169

10.2.2获取argument 170

10.3重新加载显示列表项 171

10.4通过fragment获取返回结果 172

第11章 使用ViewPager 174

11.1创建CrimePagerActivity 175

11.1.1以代码的方式定义并产生布局 176

11.1.2 ViewPager与Pager-Adapter 177

11.1.3整合配置并使用CrimePagerActivity 178

11.1.4 FragmentStatePager-Adapter与Fragment-PagerAdapter 180

11.2深入学习:ViewPager的工作原理 182

第12章 对话框 184

12.1创建DialogFragment 186

12.1.1显示DialogFragment 187

12.1.2设置对话框的显示内容 188

12.2 fragment间的数据传递 190

12.2.1传递数据给DatePicker-Fragment 191

12.2.2返回数据给CrimeFragment 193

12.3挑战练习:更多对话框 198

第13章 使用MediaPlayer播放音频 199

13.1添加资源 200

13.2定义HelloMoonFragment布局文件 202

13.3创建HelloMoonFragment 203

13.4使用布局fragment 204

13.5音频播放 205

13.6挑战练习:暂停音频播放 208

13.7深入学习:播放视频 208

13.8挑战练习:在HelloMoon应用中播放视频 208

第14章fragment的保留 209

14.1保留fragment实例 209

14.2设备旋转与保留的fragment 210

14.3保留的fragment:一切都完美了吗 212

14.4设备旋转处理与onSaveInstance-State(Bundle)方法 212

14.5深入学习:fragment引入前的设备旋转问题 214

第15章 应用本地化 215

15.1本地化资源 215

15.2配置修饰符 216

15.2.1可用资源优先级排定 217

15.2.2多重配置修饰符 218

15.2.3寻找最匹配的资源 219

15.3更多资源使用原则及控制 220

15.3.1资源命名 220

15.3.2资源目录结构 220

15.4测试备选资源 221

第16章 操作栏 223

16.1选项菜单 223

16.1.1在XML文件中定义选项菜单 225

16.1.2创建选项菜单 227

16.1.3响应菜单项选择 230

16.2实现层级式导航 232

16.2.1启用应用图标的导航功能 232

16.2.2响应向上按钮 233

16.3可选菜单项 236

16.3.1创建可选菜单XML文件 236

16.3.2切换菜单项标题 237

16.3.3“还有个问题” 238

16.4挑战练习:用于列表的空视图 239

第17章 存储与加载本地文件 241

17.1 CriminalIntent应用的数据存取 241

17.1.1保存crime数据到JSON文件 242

17.1.2从文件中读取crime数据 246

17.2挑战练习:使用外部存储 248

17.3深入学习:Android文件系统与Java I/O 248

第18章 上下文菜单与上下文操作模式 250

18.1定义上下文菜单资源 251

18.2实施浮动上下文菜单 251

18.2.1创建上下文菜单 251

18.2.2为上下文菜单登记视图 252

18.2.3响应菜单项选择 253

18.3实施上下文操作模式 254

18.3.1实现列表视图的多选操作 255

18.3.2列表视图中的操作模式回调方法 256

18.3.3改变已激活视图的显示背景 258

18.3.4实现其他视图的上下文操作模式 259

18.4兼容性问题:回退还是复制 260

18.5挑战练习:在CrimeFragment视图中删除crime记录 261

18.6深入学习:ActionBarSherlock 261

18.7挑战练习:使用ActionBarSherlock 263

18.7.1 Criminallntent应用中ABS的基本整合 264

18.7.2 ABS的深度整合 264

18.7.3 ABS的完全整合 265

第19章 相机Ⅰ:取景器 266

19.1创建Fragment布局 267

19.2创建CrimeCameraFragment 269

19.3创建CrimeCameraActivity 269

19.4使用相机API 271

19.4.1打开并释放相机 271

19.4.2 SurfaceView、 Surface-Holder与Surface 272

19.4.3确定预览界面大小 276

19.4.4启动CrimeCamera-Activity 277

19.5深入学习:以命令行的方式运行activity 281

第20章 相机Ⅱ:拍摄并处理照片 283

20.1拍摄照片 283

20.1.1实现相机回调方法 285

20.1.2设置图片尺寸大小 288

20.2返回数据给C rimeF ragment 288

20.2.1以接收返回值的方式启动CrimeCameraActivity 289

20.2.2在CrimeCameraFragment中设置返回值 290

20.2.3在CrimeFragment中获取照片文件名 290

20.3更新模型层 291

20.3.1新增Photo类 292

20.3.2为Crime添加photo属性 293

20.3.3设置photo属性 293

20.4更新CrimeFragment的视图 294

20.4.1添加ImageView组件 295

20.4.2图像处理 296

20.5在DialogFragment中显示大图片 300

20.6挑战练习:C rime照片的显示方向 303

20.7挑战练习:删除照片 303

20.8深入学习:Android代码的废弃处理 303

第21章 隐式intent 305

21.1添加按钮组件 306

21.2添加嫌疑人信息至模型层 307

21.3使用格式化字符串 308

21.4使用隐式intent 309

21.4.1典型隐式intent的组成 310

21.4.2发送陋习报告 311

21.4.3获取联系人信息 313

21.4.4检查可以响应的activity 316

21.5挑战练习:又一个隐式intent 317

第22章Master-Detail用户界面 318

22.1增加布局灵活性 319

22.1.1修改SingleFragment-Activity 320

22.1.2创建包含两个fragment容器的布局 320

22.1.3使用别名资源 322

22.2 Activity: fragment的托管者 323

22.3深入学习:设备屏幕尺寸的确定 331

第23章 深入学习intent和任务 333

23.1创建NerdLauncher项目 333

23.2解析隐式intent 334

23.3在运行时创建显式intent 337

23.4任务与后退栈 338

23.5使用NerdLauncher应用作为设备主屏幕 341

23.6挑战练习:应用图标与任务重排 341

23.7进程与任务 341

第24章 样式与include标签的使用 343

24.1创建RemoteControl项目 344

24.1.1编码实现RemoteControl-Activity 344

24.1.2创建RemoteControl-Fragment 345

24.2使用样式消除重复代码 348

24.3完善布局定义 350

24.4深入学习:使用include与merge标签 353

24.5挑战练习:样式的继承 354

第25章XML Drawable与9-Patches 355

25.1 XML drawable 356

25.2 state list drawable 358

25.3 layer list与inset drawable 360

25.4使用9-patch图像 362

第26章HTTP与后台任务 368

26.1创建PhotoGallery应用 369

26.2网络连接基本 372

26.3使用AsyncTask在后台线程上运行代码 373

26.4线程与主线程 375

26.5获取Flickr XML数据 377

26.6从AsyncTask回到主线程 382

26.7深入学习:再探AsyncTask 385

26.8挑战练习:分页 386

第27章Looper、 Handler与HandlerTh read 387

27.1设置GridView以显示图片 387

27.2批量下载缩略图 390

27.3与主线程通信 390

27.4创建并启动后台线程 391

27.5 Message与message Handler 393

27.5.1消息的剖析 393

27.5.2 Handler的剖析 393

27.5.3使用handler 395

27.5.4传递handler 397

27.6深入学习:AsyncTask与Th read 401

27.7挑战练习:预加载以及缓存 401

第28章 搜索 402

28.1搜索Flickr网站 402

28.2搜索对话框 404

28.2.1创建搜索界面 404

28.2.2可搜索的activity 406

28.2.3物理搜索键 408

28.2.4搜索的工作原理 409

28.2.5启动模式与新的intent 410

28.2.6使用shared preferences实现轻量级数据存储 412

28.3在Android 3.0以后版本的设备上使用SearchView 414

28.4挑战练习 416

第29章 后台服务 417

29.1创建IntentService 417

29.2服务的作用 419

29.3查找最新返回结果 421

29.4使用AlarmManager延迟运行服务 422

29.4.1 PendingIntent 424

29.4.2使用PendingIntent管理定时器 424

29.5控制定时器 425

29.6通知信息 428

29.7深入学习:服务细节内容 429

29.7.1服务的能与不能 430

29.7.2服务的生命周期 430

29.7.3 non-sticky服务 430

29.7.4 sticky服务 431

29.7.5绑定服务 431

第30章broadcast Intent 433

30.1随设备重启而重启的定时器 433

30.1.1配置文件中的broadcastreceiver 434

30.1.2如何使用receiver 435

30.2过滤前台通知消息 436

30.2.1发送broadcast intent 437

30.2.2动态broadcast receiver 437

30.2.3使用私有权限 440

30.2.4使用ordered broadcast接收结果 442

30.3 receiver与长时运行任务 446

第31章 网页浏览 447

31.1最后一段Flickr数据 447

31.2简单方式:使用隐式intent 448

31.3较难方式:使用WebView 449

31.3.1使用WebChromeClient优化WebView的显示 453

31.3.2处理WebView的设备旋转问题 455

31.4深入学习:注入JavaScript对象 456

第32章 定制视图与触摸事件 457

32.1创建DragAndDraw项目 457

32.1.1创建DragAndDraw-Activity 458

32.1.2创建DragAndDraw-Fragment 459

32.2创建定制视图 460

32.3处理触摸事件 462

32.4 onDraw(...)方法内的图形绘制 465

32.5挑战练习:设备旋转问题 467

第33章 跟踪设备的地理位置 468

33.1启动RunTracker项目 468

33.1.1创建RunActivity 469

33.1.2创建RunFragment 470

33.2地理位置与LocationManager 472

33.3接收定位数据更新broadcast 474

33.4使用定位数据刷新UI显示 475

33.5快速定位:最近一次地理位置 479

33.6在物理和虚拟设备上测试地理位置定位 480

第34章 使用SQLite本地数据库 482

34.1在数据库中存储旅程和地理位置信息 482

34.2查询数据库中的旅程列表 488

34.3使用CursorAdapter显示旅程列表 490

34.4创建新旅程 493

34.5管理现有旅程 494

34.6挑战练习:识别当前跟踪的旅程 500

第35章 使用Loader加载异步数据 501

35.1 Loader与LoaderManager 501

35.2在RunTracker应用中使用Loader 502

35.3加载旅程列表 503

35.4加载单个旅程 506

35.5加载旅程的最近一次地理位置 509

第36章 使用地图 511

36.1添加Maps API给RunTracker应用 511

36.1.1使用物理设备测试地图 511

36.1.2安装使用Google Playservices SDK 511

36.1.3获取Google Maps API key 512

36.1.4更新RunTracker应用的manifest配置文件 512

36.2在地图上显示用户的地理位置 513

36.3显示旅程路线 516

36.4为旅程添加开始和结束地图标注 520

36.5挑战练习:实时数据更新 521

第37章 编后语 522

37.1终极挑战 522

37.2关于我们 523

37.3致谢 523

返回顶部