当前位置:首页 > 工业技术
Android开发完全讲义  第2版
Android开发完全讲义  第2版

Android开发完全讲义 第2版PDF电子书下载

工业技术

  • 电子书积分:18 积分如何计算积分?
  • 作 者:李宁编著
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2012
  • ISBN:9787508494654
  • 页数:639 页
图书介绍:本书内容全面,详细讲解Android框架、Android用户接口、Android组件、Android的数据存储解决方案、Android的4种可跨平台通信的组件(Activity、Service、Broadcast和ContentProvider)、网络、绘图、多媒体、2D动画、OpenGL ES、资源、国际化、访问Android手机的硬件、实时壁纸、实时文件夹、NDK(利用C/C++开发可运行在Android上的应用程序)、脚本语言(Python、Lua、Perl等)。
《Android开发完全讲义 第2版》目录

第一部分 准备篇——大军未动,粮草先行 2

第1章Android入门 2

1.1 Android的基本概念 3

1.1.1 Android简介 3

1.1.2 Android的系统构架 5

1.2 Android 2.3.x新功能介绍 6

1.2.1显示电池使用状况 6

1.2.2 SIP网络电话 7

1.2.3近场通信(NFC) 7

1.2.4控制多个摄像头 8

1.3 Android 3.x新功能介绍 8

1.3.1重新设计的UI 8

1.3.2系统状态条 9

1.3.3多任务管理 10

1.3.4多重桌面 11

1.3.5电子邮件(E-mail) 11

1.3.6联系人管理 12

1.3.7虚拟键盘与剪贴功能 12

1.3.8相机功能 13

1.3.9视频电话 13

1.3.10支持多核处理器 13

1.4 Android开发环境的搭建 14

1.4.1开发Android程序需要些什么 14

1.4.2安装Android SDK 14

1.4.3安装Eclipse插件ADT 15

1.4.4测试ADT是否安装成功 16

1.5 Android SDK中的常用命令行工具 18

1.5.1启动和关闭adb服务(adb start-server和adb kill-server) 18

1.5.2查询当前模拟器/设备的实例(adb devices) 18

1.5.3安装、卸载和运行程序(adb install、adb uninstall和am) 19

1.5.4 PC与模拟器或真机交换文件(adbpull和adb push) 20

1.5.5 Shell命令 20

1.5.6创建、删除和浏览AVD设备(android) 21

1.5.7获取Android版本对应的ID 21

1.5.8创建SD卡 22

1.6 PC上的Android 22

1.6.1 Android LiveCD 23

1.6.2 AndroidX86 23

1.7 Android的学习资源 24

1.8应用程序商店 24

1.8.1 Android Market 24

1.8.2 Mobile Market (MM) 25

1.8.3其他应用程序商店 26

1.9小结 26

第2章 第一个Android程序 27

2.1编写用于显示当前日期和时间的程序 27

2.1.1新建一个Android工程 27

2.1.2界面控件的布局 29

2.1.3编写实际代码 29

2.2调试程序 32

2.3签名和发布应用程序 33

2.3.1使用命令行方式进行签名 33

2.3.2使用ADT插件方式进行签名 34

2.4 DDMS透视图 36

2.5小结 36

第二部分 基础篇——Android世界的精彩之旅 38

第3章Android应用程序架构 38

3.1 Android应用程序中的资源 38

3.1.1资源存放在哪里 38

3.1.2资源的种类 39

3.1.3资源的基本使用方法 39

3.2 Android的应用程序组件 41

3.2.1活动(Activity)组件 41

3.2.2服务(Service)组件 41

3.2.3广播接收者(Broadcast receivers) 组件 42

3.2.4内容提供者(Content providers) 组件 42

3.3 AndroidManifest.xml文件的结构 42

3.4小结 44

第4章 建立用户接口 45

4.1建立、配置和使用Activity 45

4.1.1建立和配置Activity 46

4.1.2 Activity的生命周期 48

4.1.3 Activity生命周期的演示 50

4.2视图(View) 53

4.2.1视图简介 53

4.2.2使用XML布局文件控制视图 54

4.2.3在代码中控制视图 55

4.2.4混合使用XML布局文件和代码来控制视图 57

4.2.5定制控件(Widget)的3种方式 60

4.2.6定制控件——带图像的TextView 60

4.2.7定制控件——带文本标签的EditText 64

4.2.8定制控件——可更换表盘的指针时钟 67

4.3使用AlertDialog类创建对话框 73

4.3.1 AlertDialog类简介 73

4.3.2【确认/取消】对话框 74

4.3.3创建询问是否删除文件的【确认/取消】对话框 75

4.3.4带3个按钮的对话框 76

4.3.5创建【覆盖/忽略/取消】对话框 77

4.3.6简单列表对话框 78

4.3.7单选列表对话框 79

4.3.8多选列表对话框 80

4.3.9创建3种选择省份的列表对话框 80

4.3.10水平进度对话框和圆形进度对话框 86

4.3.11水平进度对话框和圆形进度对话框演示 87

4.3.12自定义对话框 90

4.3.13创建登录对话框 90

4.3.14用Activity托管对话框 93

4.3.15 创建悬浮对话框和触摸任何位置都可以关闭的对话框 95

4.4 Toast和Notification 98

4.4.1用Toast显示提示信息框 98

4.4.2阻止关闭Toast信息框 99

4.4.3 Notification与状态栏信息 101

4.5菜单 103

4.5.1创建选项菜单 104

4.5.2设置与菜单项关联的图像和Activity 105

4.5.3响应选项菜单项单击事件的3种方式 105

4.5.4动态添加、修改和删除选项菜单 107

4.5.5创建带复选框和选项按钮的子菜单 108

4.5.6创建上下文菜单 109

4.5.7菜单事件 110

4.5.8 Activity菜单、子菜单、上下文菜单演示 111

4.6布局 112

4.6.1框架布局(FrameLayout ) 112

4.6.2霓虹灯效果的TextView 113

4.6.3线性布局(LinearLayout) 115

4.6.4利用LinearLayout将按钮放在屏幕的四角和中心位置 117

4.6.5相对布局(RelativeLayout ) 119

4.6.6利用RelativeLayout实现梅花效果的布局 119

4.6.7表格布局(TableLayout) 120

4.6.8计算器按钮的布局 121

4.6.9绝对布局(AbsoluteLayout) 121

4.6.10查看apk文件中的布局 122

4.7小结 122

第5章 控件详解 123

5.1显示和编辑文本的控件 124

5.1.1显示文本的控件:TextView 124

5.1.2在TextView中显示URL及不同字体大小、不同颜色的文本 127

5.1.3带边框的TextView 128

5.1.4设置TextView控件的行间距 131

5.1.5输入文本的控件:EditText 132

5.1.6在EditText中输入特定的字符 134

5.1.7按回车键显示EditText 135

5.1.8自动完成输入内容的控件:AutoCompleteTextView 137

5.2按钮与复选框控件 138

5.2.1普通按钮控件:Button 138

5.2.2异形(圆形、五角星、螺旋形和箭头)按钮 139

5.2.3图像按钮控件:ImageButton 141

5.2.4同时显示图像和文字的按钮 141

5.2.5选项按钮控件:RadioButto 143

5.2.6开关状态按钮控件:ToggleButton 143

5.2.7复选框控件:CheckBox 144

5.2.8利用XML布局文件动态创建CheckBox 144

5.3日期与时间控件 147

5.3.1输入日期的控件:DatePicker 147

5.3.2输入时间的控件:TimePicker 148

5.3.3 DatePicker、TimePicker与TextView同步显示日期和时间 148

5.3.4显示时钟的控件:AnalogClock和DigitalClock 150

5.4进度条控件 150

5.4.1进度条控件:ProgressBar 150

5.4.2拖动条控件:SeekBar 152

5.4.3改变ProgressBar和SeekBar的颜色 154

5.4.4评分控件:RatingBar 155

5.5其他重要控件 156

5.5.1显示图像的控件:ImageView 157

5.5.2可显示图像指定区域的ImageView控件 158

5.5.3动态缩放和旋转图像 159

5.5.4列表控件:ListView 160

5.5.5可以单选和多选的ListView 163

5.5.6动态添加、删除ListView列表项 165

5.5.7改变ListView列表项选中状态的背景颜色 169

5.5.8封装ListView的Activity: ListActivity 169

5.5.9使用SimpleAdapter建立复杂的列表项 170

5.5.10给应用程序评分 172

5.5.11可展开的列表控件:ExpandableListView 175

5.5.12下拉列表控件:Spinner 178

5.5.13垂直滚动视图控件:ScrollView 179

5.5.14水平滚动视图控件:HorizontalScrollView 180

5.5.15 可垂直和水平滚动的视图 181

5.5.16网格视图控件:GridView 181

5.5.17可循环显示和切换图像的控件: Gallery和ImageSwitcher 183

5.5.18标签控件:TabHost 186

5.6小结 187

第6章 移动存储解决方案 188

6.1最简单的数据存储方式: SharedPreferences 188

6.1.1使用SharedPreferences存取数据 189

6.1.2数据的存储位置和格式 190

6.1.3存取复杂类型的数据 191

6.1.4设置数据文件的访问权限 194

6.1.5可以保存设置的Activity: PreferenceActivity 196

6.2文件的存储 199

6.2.1 openFileOutput和openFileInput方法 199

6.2.2 SD卡文件浏览器 201

6.2.3存取SD卡中的图像 205

6.2.4 SAX引擎读取XML文件的原理 208

6.2.5将XML数据转换成Java对象 208

6.3 SQLite数据库 212

6.3.1 SQLite数据库管理工具 212

6.3.2创建数据库和表 213

6.3.3模糊查询 215

6.3.4分页显示记录 215

6.3.5事务 215

6.4在Android中使用SQLite数据库 216

6.4.1 SQLiteOpenHelper类与自动升级数据库 216

6.4.2 SimpleCursorAdapter类与数据绑定 217

6.4.3带照片的联系人管理系统 220

6.4.4将数据库与应用程序一起发布 224

6.4.5英文词典 225

6.5持久化数据库引擎(db4o) 229

6.5.1什么是db4o 229

6.5.2下载和安装db4o 230

6.5.3创建和打开数据库 230

6.5.4向数据库中插入Java对象 230

6.5.5从数据库中查询Java对象 232

6.5.6高级数据查询 232

6.5.7更新数据库中的Java对象 233

6.5.8删除数据库中的Java对象 233

6.6小结 233

第7章 应用程序之间的通信 234

7.1 Intent与Activity 234

7.1.1用Intent启动Activity,并在Activiry 之间传递数据 235

7.1.2调用其他应用程序中的Activity(拨打电话、浏览网页、发E-mail等) 238

7.1.3定制自己的Activity Action 243

7.1.4将电子词典的查询功能共享成一个Activity Action 245

7.2接收和发送广播 247

7.2.1接收系统广播 247

7.2.2开机可自动运行的程序 248

7.2.3收到短信了,该做点什么 249

7.2.4显示手机电池的当前电量 251

7.2.5在自己的应用程序中发送广播 252

7.2.6接收联系人系统中发送的添加联系人广播 253

7.3小结 255

第8章Android服务 256

8.1 Service起步 256

8.1.1 Service的生命周期 257

8.1.2绑定Activity和Service 259

8.1.3在BroadcastReceiver中启动Service 262

8.2系统服务 264

8.2.1获得系统服务 264

8.2.2监听手机来电 265

8.2.3来电黑名单 267

8.2.4在模拟器上模拟重力感应 267

8.2.5手机翻转静音 270

8.3时间服务 272

8.3.1计时器:Chronometer 272

8.3.2预约时间:Handler 275

8.3.3定时器:Timer 276

8.3.4在线程中更新GUI组件 278

8.3.5全局定时器:AlarmManager 280

8.3.6定时更换壁纸 281

8.3.7多次定时提醒 284

8.4跨进程访问(AIDL服务) 287

8.4.1什么是AIDL服务 288

8.4.2建立AIDL服务的步骤 288

8.4.3建立AIDL服务 288

8.4.4传递复杂数据的AIDL服务 292

8.5小结 298

第9章 网络 299

9.1可装载网络数据的控件 300

9.1.1装载网络数据的原理 300

9.1.2将网络图像装载到ListView控件中 300

9.1.3 Google图像画廊(Gallery) 304

9.2 WebView控件 309

9.2.1用WebView控件浏览网页 309

9.2.2手机浏览器 309

9.2.3用WebView控件装载HTML代码 311

9.2.4将英文词典整合到Web页中(JavaScript调用Java方法) 312

9.3访问HTTP资源 315

9.3.1提交HTTP GET和HTTP POST请求 315

9.3.2 HttpURLConnection类 317

9.3.3上传文件 318

9.3.4远程Apk安装器 322

9.3.5调用WebService 323

9.3.6通过WebService查询产品信息 325

9.4 Intemet地址 329

9.4.1 Intemet地址概述 329

9.4.2创建InetAddress对象 331

9.4.3判断IP地址类型 333

9.5客户端Socket 335

9.5.1 Socket类基础 335

9.5.2多种连接服务端的方式 337

9.5.3客户端Socket的超时 339

9.5.4 Socket类的getter和setter方法 339

9.5.5 Socket的异常 346

9.6服务端Socket 347

9.6.1创建ServerSocket对象 347

9.6.2设置请求队列的长度 348

9.6.3绑定IP地址 349

9.6.4默认构造方法的使用 349

9.6.5读取和发送数据 350

9.6.6关闭连接 351

9.7小结 352

第10章 多媒体 353

10.1图形 353

10.1.1图形绘制基础 354

10.1.2绘制基本的图形和文本 356

10.1.3绘制位图 360

10.1.4用两种方式绘制位图 361

10.1.5设置颜色的透明度 362

10.1.6可任意改变透明度的位图 363

10.1.7旋转图像 365

10.1.8旋转动画 365

10.1.9扭曲图像 367

10.1.10按圆形轨迹扭曲图像 367

10.1.11拉伸图像 371

10.1.12拉伸图像演示 372

10.1.13路径 374

10.1.14沿着路径绘制文本 378

10.1.15 可在图像上绘制图形的画板 381

10.2音频和视频 387

10.2.1使用MediaPlayer播放MP3文件 387

10.2.2使用MediaRecorder录音 388

10.2.3使用VideoView播放视频 389

10.2.4使用SurfaceView播放视频 390

10.3小结 391

第三部分 进阶篇——深入Android世界的腹地 393

第11章2D动画 393

11.1帧(Frame)动画 393

11.1.1 AnimationDrawable与帧动画 394

11.1.2通过帧动画方式播放Gif动画 395

11.1.3播放帧动画的子集 399

11.2补间(Tween)动画 402

11.2.1移动补间动画 402

11.2.2循环向右移动的EditText与上下弹跳的球 404

11.2.3缩放补间动画 406

11.2.4跳动的心 407

11.2.5旋转补间动画 409

11.2.6旋转的星系 410

11.2.7透明度补间动画 411

11.2.8投掷炸弹 412

11.2.9振动效果 415

11.2.10自定义动画渲染器(Interceptor) 416

11.2.11以动画方式切换View的控件ViewFlipper 417

11.3小结 420

第12章OpenGL ES编程 421

12.1 OpenGL ES简介 421

12.2在3D空间中绘图 423

12.2.1要绘制3D图形了,第一步要做什么 423

12.2.2定义顶点 426

12.2.3绘制三角形 427

12.2.4三角形合并法绘制矩形 429

12.2.5顶点法绘制矩形 432

12.2.6顶点的选取顺序 433

12.2.7索引法绘制矩形 434

12.2.8基于OpenGL ES的动画原理 435

12.2.9旋转的矩形 436

12.3视图 437

12.3.1有趣的比喻:照相机拍照 438

12.3.2模型变换:立方体旋转 440

12.3.3用gluLookAt方法变换视图 444

12.4颜色 445

12.5小结 448

第13章 资源、国际化与自适应 449

13.1 Android中的资源 450

13.1.1 Android怎么存储资源 450

13.1.2资源的种类 450

13.1.3资源文件的命名 451

13.2定义和使用资源 451

13.2.1使用系统资源 452

13.2.2字符串(String)资源 453

13.2.3数组(Array)资源 455

13.2.4颜色(Color)资源 457

13.2.5尺寸(Dimension)资源 459

13.2.6类型(Style)资源 461

13.2.7主题(Theme)资源 462

13.2.8绘画(Drawable )资源 463

13.2.9动画(Animation)资源 465

13.2.10菜单(Menu)资源 465

13.2.11布局(Layout)资源 468

13.2.12属性(Attribute)资源 469

13.2.13改进可显示图标的IconTextView控件 471

13.2.14 XML资源 473

13.2.15 RAW资源 474

13.2.16 ASSETS资源 475

13.3国际化和资源自适应 476

13.3.1对资源进行国际化 476

13.3.2 Locale与国际化 478

13.3.3常用的资源配置 478

13.4小结 480

第14章 访问Android手机的硬件 481

14.1在手机上测试硬件 481

14.1.1安装Android USB驱动 482

14.1.2在手机上测试程序 483

14.1.3在手机上调试程序 484

14.2录音 485

14.3控制手机摄像头(拍照) 486

14.3.1调用系统的拍照功能 486

14.3.2实现自己的拍照Activity 488

14.4传感器在手机中的应用 494

14.4.1在应用程序中使用传感器 494

14.4.2电子罗盘 496

14.4.3计步器 497

14.5 GPS与地图定位 499

14.5.1 Google地图 499

14.5.2用GPS定位到当前位置 503

14.6 WIFI 505

14.7小结 507

第15章 放在桌面上的小玩意 508

15.1窗口小部件(App Widget) 508

15.1.1在Android桌面上添加App Widget 509

15.1.2开发App Widget的步骤 509

15.1.3数字时钟 512

15.1.4 App WidgetProvider类 515

15.1.5向App Widget添加配置Activity 515

15.1.6可以选择风格的数字时钟 516

15.2快捷方式 521

15.2.1向快捷方式列表中添加快捷方式 521

15.2.2直接将快捷方式放到桌面上 522

15.3实时文件夹(LiveFolder) 523

15.4小结 524

第16章NDK编程 525

16.1 Android NDK简介 525

16.2安装、配置和测试NDK开发环境 526

16.2.1系统和软件要求 526

16.2.2下载和安装Android NDK 527

16.2.3下载和安装Cygwin 527

16.2.4配置Android NDK的开发环境 531

16.2.5编译和运行NDK自带的例子 532

16.3 Android NDK开发 533

16.3.1 JNI接口设计 534

16.3.2编写Android NDK程序的步骤 535

16.3.3将文件中的小写字母转换成大写字母(NDK版本) 535

16.3.4配置Android.mk文件 538

16.3.5 Android NDK定义的变量 539

16.3.6 Android NDK定义的函数 540

16.3.7描述模块的变量 541

16.3.8配置Application.mk文件 542

16.4小结 543

第17章 整合Android与脚本语言 544

17.1 Android脚本环境简介 544

17.2 Android脚本环境安装 545

17.3编写和运行Android脚本 547

17.4小结 549

第18章 蓝牙技术 550

18.1蓝牙简介 550

18.2打开和关闭蓝牙设备 551

18.3搜索蓝牙设备 552

18.4蓝牙数据传输 555

18.5蓝牙通讯一定需要UUID吗 558

18.6小结 559

第19章 有趣的Android技术 560

19.1手势(Gesture) 560

19.1.1创建手势文件 561

19.1.2通过手势输入字符串 561

19.1.3通过手势调用程序 563

19.1.4编写自己的手势创建器 565

19.2让手机说话(TTS) 567

19.3动态壁纸 568

19.4小结 577

第四部分 综合实例篇——实践是检验真理的唯一标准 579

第20章 万年历 579

20.1主界面设计与实现 579

20.1.1万年历的核心类:Calendar 580

20.1.2日历内容元素的基类: CalendarParent 581

20.1.3绘制万年历边框:Border类 582

20.1.4绘制周名称:Week类 583

20.1.5绘制日期和网格:Grid类 584

20.1.6日历视图:CalendarView类 592

20.1.7生成万年历的主界面 596

20.2选项菜单功能 596

20.2.1切换到今天的日期 596

20.2.2指定日期 597

20.3可以写日记和提醒的万年历 599

20.3.1显示所有的记录信息: AllRecord类 599

20.3.2添加和修改记录:Record类 601

20.3.3设置提醒时间 603

20.3.4启动服务 604

20.3.5在广播接收器中显示提醒界面 605

20.3.6访问数据库:DBService 607

20.4小结 611

第21章 知道当前位置的Google GTalk 机器人 612

21.1 GTalk的通讯协议和技术 612

21.1.1 Jabber和XMPP 612

21.1.2 XMPP客户端库:Smack和 Asmack 613

21.2登录GTalk: Login类 614

21.3联系人信息 616

21.3.1显示联系人列表 616

21.3.2监听联系人是否上线 618

21.4联系人之间的通讯 620

21.4.1发送聊天信息 621

21.4.2接收聊天信息 622

21.4.3自动回复当前的位置 (GPS定位) 625

21.5小结 627

第22章Android 4.x支持的新技术 628

22.1 Android 4.x的10大特性 628

22.2子窗口:Fragments 629

22.2.1 Fragments的设计原理 630

22.2.2创建Fragment 630

22.2.3建立一个用户界面 632

22.2.4将Fragment添加到Activity中 633

22.2.5处理Fragment事务 634

22.3.6与Activity通信 635

22.3动作栏:Action Bar 637

22.3.1添加Action Bar 637

22.3.2移除Action Bar 637

22.3.3添加Action Item 638

22.3.4将应用图标用作菜单项目 639

22.4小结 639

相关图书
作者其它书籍
返回顶部