第1部分 拥抱Android 2
第1章 Android造时势或者时势造Android 2
1-1 Android从何而来 3
1-2 Android的功能、应用和商机 5
1-3先睹为快——Android手机和平板电脑模拟器 6
第2章 安装Android App开发工具——Eclipse篇 8
2-1开发Android App的软硬件需求 8
2-2从Android Developers网站下载整合好的开发工具 10
2-3将Android SDK安装到自己的Eclipse平台 13
2-4 Android App开发工具的维护和更新 16
第3章 创建Android App项目——Eclipse篇 18
3-1新建Android App项目 18
3-2动手修改App的运行画面 22
第4章 APP项目管理技巧——Eclipse篇 26
4-1根据创建的Android App项目加载Eclipse 26
4-2根据已经写好的程序文件来建立项目 27
4-3根据Android SDK中的程序范例来建立项目 28
4-4 App项目的管理和维护 30
第5章 安装Android App开发工具 32
第6章 建立Android App项目和安装SDK 34
6-1建立Android App项目 34
6-2安装Android SDK和新增模拟器 38
6-3动手修改App的运行画面 41
第7章App项目管理技巧 43
第2部分 开发Android应用程序的流程 46
第8章 了解Android App项目架构和查询SDK技术文件 46
8-1了解App项目的程序代码 46
8-2查询Android SDK技术文件 50
第9章 完成第一个App项目 53
9-1“界面布局文件”的格式和架构 53
9-2 TextView界面组件 55
9-3 EditText界面组件 56
9-4 Button界面组件 57
9-5使用Eclipse开发App 58
9-6使用Android Studio开发App 61
9-7连接界面组件和程序代码 65
9-8在模拟器中输入中文 68
第10章 程序的错误类型和调试方法 70
10-1程序的语法错误和调试方法 70
10-2程序的逻辑错误和调试方法 71
10-3程序的运行时错误和调试方法 73
第11章 Android模拟器的使用技巧 77
11-1启动模拟器的时机和错误处理 77
11-2同时运行多个模拟器 79
11-3使用模拟器的调试功能 80
11-4模拟器的语言设置、时间设置和上网功能 81
11-5把实体手机或平板电脑当成模拟器 82
第3部分 学习使用基本界面组件和布局模式 84
第12章 学习更多界面组件的属性 84
12-1 match_parent和wrap content的差别 86
12-2 android:inputType属性的效果 87
12-3控制文字大小、颜色和底色 88
12-4控制间隔距离以及文字到边的距离 89
第13章 Spinner下拉列表框组件 90
第14章 使用RadioGroup和RadioButton建立单选按钮 94
第15章 使用NumberPicker数字转轮 101
15-1相关方法 101
15-2相关步骤 102
第16章 CheckBox复选框和ScrollView滚动条 107
第17章 LinearLayout界面编排模式 114
第18章 TableLayout界面编排模式 119
第19章 RelativeLayout界面编排模式 125
第4部分 图像界面组件与动画效果 136
第20章 ImageButton和ImageView界面组件 136
第21章 ImageSwitcher和GridView界面组件 142
21-1 GridView组件的用法 143
21-2 ImageSwitcher组件的用法 146
21-3“图像画廊”程序范例 147
第22章 使用View Animation动画效果 150
22-1建立动画资源文件 151
22-2建立各种类型的动画 152
22-3使用随机动画的“图像画廊”程序 155
22-4利用程序代码建立动画效果 158
第23章 Drawable Animation和Multi-Thread游戏程序 160
23-1建立Drawable Animation的两种方法 160
23-2 Multi-Thread“掷骰子游戏”程序和Handler信息处理 162
23-3实现“掷骰子游戏”程序 163
第24章 Property Animation初体验 168
24-1 Properrt Animation的基本用法 169
24-2利用XML文件建立Properrt Animation 171
24-3范例程序 172
第25章 Property Animation加上Listener成为动画超人 176
25-1使用AnimatorSet 176
25-2在XML动画资源文件中使用AnimatorSet 178
25-3加上动画事件Listener 179
25-4 ValueAnimator 181
25-5范例程序 181
第5部分 Fragment与高级界面组件 188
第26章 使用Fragment让程序界面一分为多 188
26-1使用Fragment的步骤 189
26-2为Fragment加上外框并调整大小和位置 191
26-3范例程序 192
第27章 动态Fragment让程序成为变形金刚 200
27-1 Fragment的总管——FragmentManager 200
27-2范例程序 203
第28章 Fragment的高级用法 213
28-1控制FrameLayout的显示和隐藏 214
28-2 Fragment的Back Stack功能和动画效果 216
第29章 Fragment和Activity之间的callback机制 219
29-1查看“电脑猜拳游戏”程序的架构 219
29-2实现Fragment和Activity之间的callback机制 221
29-3范例程序 223
第30章 ListView和ExpandableListView 231
30-1使用ListActivity建立ListView列表 231
30-2帮ListView添加小图标 235
30-3 ExpandableListView二层选项列表 237
第31章 AutoCompleteTextView自动完成文字输入 241
第32章 SeekBar和RatingBar界面组件 246
第6部分 其他界面组件与对话框 252
第33章 时间日期界面组件和对话框 252
33-1 DatePicker和CalendarView界面组件 252
33-2 TimePicker时间界面组件 253
33-3范例程序 254
33-4 DatePickerDialog和TimePickerDialog对话框 256
第34章 ProgressBar、 ProgressDialog和Multi-Thread程序 258
34-1 Multi-Thread程序 259
34-2使用Handler对象完成Thread之间的信息沟通 260
34-3第一版的Multi-Thread ProgressBar范例程序 261
34-4第二版的Multi-Thread ProgressBar范例程序 266
34-5 ProgressDialog对话框 267
第35章 AlertDialog对话框 268
35-1使用AlertDialog.Builder类建立AlertDialog对话框 268
35-2使用AlertDialog类建立AlertDialog对话框 270
35-3范例程序 271
第36章 Toast提示信息 276
第37章 自定义Dialog对话框 279
第7部分 Intent、 Intent Filter与数据发送 286
第38章 AndroidManifest.xml程序功能描述文件 286
第39章 Intent粉墨登场 293
第40章 Intent Filter让App也能帮助App 299
40-1设置AndroidManifest.xml文件中的Intent Filter 300
40-2 Android系统对比Intent和Intent Filter的规则 302
40-3 Activity收到Intent对象的后续处理 302
40-4范例程序 303
第41章 让Intent对象附带数据 309
41-1发送数据的Activity需要完成的工作 309
41-2从Intent对象中取出数据 311
41-3范例程序 312
第42章 要求被调用的Activity返回数据 317
第8部分 Broadcast Receiver、 Service和App Widget 323
第43章 Broadcast Intent和Broadcast Receiver 323
43-1程序广播Intent对象的方法 323
43-2建立Broadcast Receiver监听广播信息 324
43-3范例程序 325
第44章 Service是幕后英雄 330
44-1 Service的运行方式和生命周期 330
44-2在App项目中建立Service 331
44-3启动Service的第一种方法 334
44-4启动Service的第二种方法 334
44-5范例程序 335
第45章 App Widget小工具程序 340
45-1简述App Widget小工具程序 340
45-2建立基本的App Widget程序 341
第46章 使用Alarm Manager强化App Widget程序 347
46-1建立强化版的App Widget程序 347
46-2取得并更新App Widget程序的画面 351
第47章 App Widget程序的其他两种运行模式 354
47-1预定运行时间的App Widget 354
47-2利用按钮启动App Widget 356
第9部分Activity的生命周期与高级功能 360
第48章 Activity的生命周期 360
第49章 帮Activity加上菜单 364
49-1 onCreateOptionsMenu()的功能 365
49-2 onOptionsItemSelected()的功能 365
49-3建立XML格式的菜单定义文件 366
49-4范例程序 367
第50章 使用Context Menu 373
50-1Context Menu的用法和限制 373
50-2范例程序 374
第51章 在Action Bar加上功能选项 378
51-1控制Action Bar 379
51-2在Action Bar加上Action Item 380
51-3在Action Bar加上Action View 381
51-4范例程序 382
第52章 在Action Bar上建立Tab标签页 387
第53章 在状态栏中显示信息 395
第10部分 存储程序的数据 401
第54章 使用Shared Preferences存储数据 401
54-1存储数据的步骤 401
54-2读取数据的步骤 402
54-3删除数据的步骤 402
54-4清空数据的步骤 403
54-5范例程序 403
第55章 使用SQLite数据库存储数据 407
55-1进入模拟器的Linux命令行模式操作SQLite数据库 407
55-2 SQLiteOpenHelper的功能和用法 409
55-3 SQLiteDatabase的功能和用法 410
55-4范例程序 410
第56章 使用Content Provider跨程序存取数据 417
56-1 Activity和Content Provider之间的运行机制 417
56-2范例程序 420
第57章 使用文件存储数据 426
57-1将数据写入文件的方法 426
57-2从文件读取数据的方法 427
57-3范例程序 428
第11部分 App项目的准备工作和发布 434
第58章 支持各种语言和多种屏幕模式 434
58-1让App支持多语言的方法 436
58-2让App支持多种屏幕模式 437
58-3范例程序 438
第59章 利用Fragment技术让App适用于不同屏幕尺寸的设备 442
第60章 获取屏幕的宽度、高度和分辨率 452
60-1取得屏幕的宽度、高度和分辨率 452
60-2取得App画面的宽和高 453
第61章 在网络上发布App以及安装到实体设备 455
61-1利用Export Wizard帮App加上数字签名和完成zipalign 456
61-2将App上传到Google Play网站 459
第12部分 2D和3D绘图 461
第62章 使用Drawable对象绘图 461
62-1从res/drawable文件夹的图像文件建立Drawable对象 461
62-2在res/drawable文件夹建立Drawable对象定义文件 462
62-3在程序中建立Drawable类型的对象 463
62-4范例程序 464
第63章 使用Canvas绘图 467
第64章 使用View在Canvas上绘制动画 470
64-1产生动画的原理 470
64-2范例程序 471
第65章 使用SurfaceView进行高速绘图 475
65-1使用SurfaceView的步骤 475
65-2范例程序 476
第66章3D绘图 481
66-1 3D绘图的基本概念 481
66-2 3D绘图程序 483
第13部分 拍照、录音、录像与多媒体播放 490
第67章 使用MediaPlayer建立音乐播放器 490
67-1音乐播放程序的架构 490
67-2 MediaPlayer类的用法 491
67-3范例程序 494
第68章 播放背景音乐和Audio Focus 502
68-1利用Service对象运行 MediaPlayer 502
68-2使用状态栏信息控制Foreground Service 504
68-3使用Audio Focus和Wake Lock 506
68-4播放不同来源的文件 507
68-5范例程序 508
第69章 录音程序 519
69-1 MediaRecorder类的用法 519
69-2范例程序 522
第70章 播放影片 527
70-1 Android支持的图像和影片的文件格式 527
70-2使用VideoView和MediaController 528
第71章 拍照程序 533
71-1 Camera对象和SurfaceV iew的合作 533
71-2范例程序 535
第72章 录像程序 541
72-1 Camera和MediaRecorder通力合作 541
72-2在界面布局文件中建立SurfaceV iew 542
72-3范例程序 543
第14部分 WebView与网页处理 552
第73章 WebView的网页浏览功能 552
73-1 WebView的用法 552
73-2范例程序 554
第74章 自己打造网页浏览器 557
74-1 WebView的高级用法 558
74-2 WebViewClient和WebChromeClient 559
74-3范例程序 561
第75章 JavaScript和Android程序之间的调用 568
75-1从JavaScript调用Android程序代码 568
75-2从Android程序调用JavaScript的function 570
75-3使用WebView的loadData() 571
75-4范例程序 572
第15部分 开发NFC应用程序 579
第76章NFC程序设计 579
76-1 Android系统处理NFC tag数据的方式 580
76-2开发NFC应用程序 582
第77章 把数据写入NFC tag 585
77-1 Android Application Record (AAR) 586
77-2 Android Beam 587
第78章 NFC的高级用法 589
第16部分 支持Android Wear穿戴式设备 595
第79章 安装Android Wear开发工具 595
79-1下载和安装Android Wear开发工具 596
79-2让Android Wear模拟器连接到手机或平板电脑 598
第80章 Android Wear的功能和基本用法 601
第81章 Android Wear专用的Notification格式 608
81-1设置Notification信息的格式 608
81-2使用WearableExtender设置Android Wear专用的格式 610
第82章 使用Android Wear的语音回复功能 613
第83章 开发Android Wear设备的App 618
83-1建立Android Wear App的步骤 619
83-2帮Android Wear App加入UI组件和程序代码 623
第84章 手机App与Android Wear App互传数据及Message 626
84-1发送Message 627
84-2发送数据 632
84-3范例程序 633
第85章 制作Android Wear App的安装文件 637