《Android应用开发攻略》PDF下载

  • 购买积分:18 如何计算积分?
  • 作  者:IanF·Darwin著;姚军等译
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2013
  • ISBN:9787111414117
  • 页数:631 页
图书介绍:本书涵盖200多个经过测试的攻略,旨在帮助你投入构建Android应用的工作中。通过本书,你能找到有关用户界面、多点触摸手势、位置感知、Web服务以及电话、相机、加速计等设备功能的解决方案。你还能够得到为Android Market包装应用程序的有用步骤。本书适合于熟悉Java、Android基础知识和Java SE API的开发人员,其中的攻略由30多位Android社区的开发人员贡献。每个攻略都提供了清晰的解决方案和可以马上用于项目中的样例代码。

前言 1

第1章入门 9

1.1导言:入门 9

1.2学习Java语言 9

1.3从命令行创建“Hello, World”应用程序 11

1.4在Eclipse中创建“Hello, World”应用程序 14

1.5在Windows上安装用于Android开发的IDE 21

1.6理解Android生命周期 28

1.7通过ADB在模拟器上安装…apk文件 29

1.8通过SlideME将应用程序安装到模拟器上 30

1.9共享来自其他Eclipse项目的Java类 31

1.10引用程序库实现外部功能 34

1.11使用SDK样例避免棘手的情况 37

1.12保持Android SDK更新 40

1.13从模拟器/Android设备获得屏幕截图 47

1.14程序:简单的CountDownTimer示例 49

1.15程序:Android OS下的小费计算器Tipster 52

第2章设计成功的应用程序 69

2.1导言:设计成功的Android应用程序 69

2.2异常处理 72

2.3作为“单例”访问Android应用程序对象 75

2.4在用户旋转设备时保存数据 77

2.5监控Android设备的电量 79

2.6在Android中创建闪屏 80

2.7设计会议/网络研讨/编程马拉松/机构用的应用程序 85

2.8在Android应用中使用Google Analytics 86

2.9简单的手电筒应用程序 88

2.10将Android手机应用程序改编为平板电脑应用程序 91

2.11设置首次运行的首选项 93

2.12为显示格式化时间和日期 94

2.13用KeyListener控制输入 96

2.14备份Android应用程序数据 99

2.15用提示代替工具提示 106

第3章测试 108

3.1导言:测试 108

3.2在Android中进行TDD 108

3.3为应用测试设置Android虚拟设备(AV D) 109

3.4用基于云的测试在多种设备上进行测试 118

3.5测试项目的创建和使用 119

3.6应用程序崩溃排错 123

3.7用Log.d和LogCat进行调试 126

3.8用BugSense自动从用户那里得到缺陷报告 127

3.9使用本地运行时应用程序日志分析现场错误情况 129

3.10为测试重现活动生命周期场景 133

3.11用StrictMode保持应用程序敏捷性 138

3.12运行Monkey程序 139

3.13发送文本消息以及AV D之间的通话 141

第4章 进程间/内通信 143

4.1导言:进程间/内通信 143

4.2用意图打开网页、电话号码或者其他内容 144

4.3从视图中发送文本邮件 145

4.4发送带有附件的电子邮件 148

4.5用Intent.putExtra()推送字符串值 149

4.6从子活动中获取数据到主活动中 151

4.7保持服务运行同时显示其他应用 154

4.8发送/接收广播消息 156

4.9在设备重启之后启动服务 156

4.10用线程创建响应式应用程序 157

4.11用AsyncTask进行后台处理 159

4.12用活动线程队列和处理器在线程之间发送消息 167

4.13创建Android Epoch HTML/JavaScript 日历 168

第5章内容提供者 175

5.1导言:内容提供者 175

5.2从内容提供者获取数据 175

5.3编写内容提供者 177

5.4编写Android远程服务 179

第6章图形 184

6.1导言:图形 184

6.2使用自定义字体 184

6.3用OpenGL ES绘制旋转的方块 187

6.4添加对OpenGL旋转方块的控制 191

6.5徒手绘制平滑曲线 194

6.6使用意图拍照 199

6.7用android.media.Camera拍照 201

6.8用Google ZXing条码扫描程序扫描条形码或QR代码 204

6.9用AndroidPlot显示图表和图形 208

6.10使用Inkscape创建Android启动器图标 210

6.11从OpenClipArt.org用Paint.NET创建简易启动器图标 217

6.12使用Nine Patch文件 223

6.13用Android RGraph创建HTML5图表 227

6.14添加简单的光栅动画 231

6.15使用捏合缩放 234

第7章GUI 237

7.1导言:GUI 237

7.2理解并遵循用户界面指南 238

7.3通过解耦视图和模型处理配置更改 239

7.4创建一个按钮及其单击事件监听器 242

7.5以5种不同的方式连接事件处理器 243

7.6使用CheckBox和RadioButton控件 248

7.7用图形按钮改进UI设计 251

7.8通过Spinner类提供下拉选择器 254

7.9处理长按/长单击事件 256

7.10用TextView和EditText显示文本字段 258

7.11用属性和TextWatcher接口限制EditText值 259

7.12实现AutoCompleteTextView 261

7.13用SQLite数据库查询为AutoCompleteTextView提供数据 263

7.14将编辑字段转换为密码字段 265

7.15将软键盘上的Enter键改成Next键 266

7.16在活动中处理按键事件 269

7.17让他们看到星标:使用RatingBar 270

7.18震动视图 274

7.19提供触觉反馈 275

7.20在TabView中浏览不同的活动 279

7.21创建自定义标题栏 280

7.22格式化数字 283

7.23格式化正确的复数形式 287

7.24从第一个屏幕启动第二个屏幕 290

7.25创建出现在两个活动之间的“加载中”屏幕 299

7.26使用SlidingDrawer覆盖其他组件 300

7.27自定义SlidingDrawer组件,使动画/过渡的方向变为从上向下 303

7.28为布局添加圆角边框 305

7.29在Android中检测手势 306

7.30在Android 1.6及更新版本中用Android 3.0片段构建UI 314

7.31使用Android 3.0 Photo Gallery 318

7.32创建简单的应用程序窗口部件 321

第8章GUI警告:菜单、对话框、Toast和通知 326

8.1导言:GUI警告 326

8.2创建和显示菜单 327

8.3处理菜单选择项 328

8.4创建子菜单 330

8.5创建弹出/警告对话框 333

8.6使用Timepicker窗口小部件 334

8.7创建类似iPhone的滚轮选择器 336

8.8创建标签式对话框 340

8.9创建ProgressDialog 342

8.10创建带有按钮、图像和文本的自定义对话框 344

8.11创建可重用的“关于”对话框类 346

8.12自定义Toast显示 350

8.13在状态栏中创建通知 352

第9章GUI:ListView 358

9.1导言:ListView 358

9.2用ListView构建基于列表的应用程序 358

9.3为ListView创建“无数据”视图 362

9.4创建具有图像和文本的高级ListView 363

9.5在ListView中使用段标题 368

9.6使用户的注意力保持在ListView上 373

9.7编写自定义列表适配器 374

9.8处理方向变化:从ListView数据值到横向图表 377

第10章多媒体 383

10.1导言:多媒体 383

10.2播放YouTube视频 383

10.3使用Gallery和ImageSwitcher视图 384

10.4用MediaRecorder捕捉视频 387

10.5使用Android的面部检测功能 390

10.6播放来自文件的音频 393

10.7无交互播放音频 396

10.8使用语音识别功能 397

10.9使用设备的朗读功能 399

第11章数据持久性 401

11.1导言:数据持久性 401

11.2获得文件信息 401

11.3读取应用自带而非文件系统中的文件 405

11.4列出目录 406

11.5获得关于SD卡的总空间和可用空间的信息 408

11.6花费最小的精力提供用户首选项设置活动 409

11.7检查默认共享首选项的一致性 413

11.8执行高级文本搜索 415

11.9在Android应用程序中创建SQLite数据库 420

11.10在SQLite数据库中插入数值 422

11.11从现有的SQLite数据库加载数值 422

11.12在SQLite中使用日期 423

11.13用JSONObject解析JSON 426

11.14用DOM API解析XML文档 427

11.15用Xm1PullParser解析XML文档 429

11.16添加联系人 433

11.17读取联系人数据 435

第12章电话应用程序 439

12.1导言:电话应用程序 439

12.2在电话铃响的时候进行某些操作 439

12.3处理呼出电话 443

12.4电话自动拨号 447

12.5发送单部分和多部分SMS消息 448

12.6在Android应用程序中接收SMS消息 451

12.7使用模拟器控制面板向模拟器发送SMS消息 453

12.8使用Android的TelephonyManager获得设备信息 453

第13章联网应用程序 464

13.1导论:网络 464

13.2使用REST风格的Web服务 465

13.3用正则表达式从无结构文本中提取信息 467

13.4用ROME解析RSS/Atorn Feed 469

13.5用MD5加密明文 473

13.6将文本转换为超链接 474

13.7用WebView访问网页 475

13.8自定义WebView 476

第14章游戏与动画 478

14.1导论:游戏与动画 478

14.2用flixel-android构建Android游戏 479

14.3用AndEngine (Android-Engine)构建Android游戏 482

14.4处理定时键盘输入 488

第15章社交网络 490

15.1导言:社交网络 490

15.2用HTTP集成社交网络 490

15.3用JSON加载用户的Twitter动态 493

第16章位置和地图应用程序 496

16.1导言:位置感知应用程序 496

16.2获得位置信息 496

16.3在应用程序中访问GPS信息 498

16.4在设备上模拟GPS坐标 500

16.5使用地理解析和反向地理解析 503

16.6准备Google Maps开发 504

16.7将设备当前位置添加到Google Maps 511

16.8在Google MapView上绘制位置标志 512

16.9在MapView上绘制多个位置标志 516

16.10为Google MapView创建图层 521

16.11改变Google MapView的模式 523

16.12在不使用Drawble对象的情况下绘制图层图标 523

16.13在Google Maps上实现位置搜索 529

16.14在一个TabView中放置MapView 530

16.15处理MapView的长按动作 533

16.16使用OpenStreetMap 537

16.17在OpenStreetMap地图上创建图层 540

16.18在OpenStreetMap地图上使用比例尺 543

16.19处理OpenStreetMap图层上的触摸事件 544

16.20用OpenStreetMap地图获得位置的更新 546

第17章加速计 551

17.1导言:传感器 551

17.2检查传感器是否存在 551

17.3使用加速计检测设备的摇晃 552

17.4用加速计根据屏幕方向检查设备是向上还是向下 556

17.5用方向传感器发现Android设备的方向 557

17.6读取温度传感器 559

第18章蓝牙 560

18.1导言:蓝牙 560

18.2启用蓝牙并使设备处于可发现状态 560

18.3连接启用蓝牙的设备 562

18.4监听和接收蓝牙连接请求 565

18.5实现蓝牙设备发现 566

第19章系统与设备控制 568

19.1导言:系统与设备控制 568

19.2访问电话网络/连接性信息 568

19.3从清单文件获取信息 569

19.4将来电通知改为静音、振动或者普通 570

19.5复制文本以及从剪贴板获取文本 572

19.6使用基于LED的通知 573

19.7使设备振动 573

19.8从应用程序运行Shell命令 575

19.9确定指定应用程序是否运行 576

第20章其他编程语言和框架 578

20.1导言:其他编程语言 578

20.2运行外部/原生UNIX/Linux命令 579

20.3在NDK上用JNI运行原生C/C++代码 580

20.4从SL4A入手 585

20.5用SL4A创建警告 588

20.6使用SL4A读取Google文档并在ListView控件中显示 592

20.7用QR码共享SL4A脚本 594

20.8从WebView中通过JavaScript使用原生手机功能 597

20.9用PhoneGap/Cordova创建平台无关的应用程序 599

第21章字符串和国际化 602

21.1导言:国际化 602

21.2国际化应用程序文本 603

21.3寻找和翻译字符串 607

21.4处理Strings.xml的微妙之处 608

第22章打包、部署和分发/销售应用程序 614

22.1导言:打包、部署和分发 614

22.2创建签名证书 614

22.3签署应用程序 617

22.4通过Android Play分发应用程序 618

22.5将AdMob集成到应用中 620

22.6用ProGuard进行代码混淆和优化 624

22.7提供Google Play市场中发布的其他应用的链接 627