《第一行代码——Android》是Android初学者的最佳入门书。全书由浅入深、系统全面地讲解了Android软件开发的方方面面。第1章带领你搭建Android开发环境,完成你的第一个Android程序。第2章至第13章完整地讲解了Android开发中的各种基本知识和关键技术,包括四大组件、UI、碎片、广播机制、数据存储、服务、多媒体、网络、定位服务、传感器,以及分布式版本控制系统Git的使用等等。在部分章节会穿插相关技术的高级使用技巧。第14章和第15章则将带领你编写一个完整的项目,教会你如何打包、上架、嵌入广告并获得盈利。《第一行代码——Android》内容通俗易懂,既适合初学者循序渐进地阅读,也可作为一本参考手册,随时查阅。
第1章 开始启程,你的第一行Android代码 1
1.1 了解全貌,Android王国简介 2
1.1.1 Android系统架构 2
1.1.2 Android已发布的版本 3
1.1.3 Android应用开发特色 4
1.2 手把手带你搭建开发环境 5
1.2.1 准备所需要的软件 5
1.2.2 搭建开发环境 6
1.3 创建你的第一个Android项目 11
1.3.1 创建HelloWorld项目 11
1.3.2 运行HelloWorld 14
1.3.3 分析你的第一个Android程序 16
1.3.4 详解项目中的资源 20
1.4 前行必备,掌握日志工具的使用 22
1.4.1 添加LogCat到你的Eclipse 22
1.4.2 使用Android的日志工具Log 23
1.4.3 为什么使用Log而不使用System.out 24
1.5 小结与点评 26
第2章 先从看得到的入手,探究活动 28
2.1 活动是什么 28
2.2 活动的基本用法 28
2.2.1 手动创建活动 29
2.2.2 创建和加载布局 30
2.2.3 在AndroidManifest文件中注册 34
2.2.4 隐藏标题栏 35
2.2.5 在活动中使用Toast 36
2.2.6 在活动中使用Menu 38
2.2.7 销毁一个活动 41
2.3 使用Intent在活动之间穿梭 41
2.3.1 使用显式Intent 41
2.3.2 使用隐式Intent 44
2.3.3 更多隐式Intent的用法 46
2.3.4 向下一个活动传递数据 51
2.3.5 返回数据给上一个活动 52
2.4 活动的生命周期 55
2.4.1 返回栈 55
2.4.2 活动状态 56
2.4.3 活动的生存期 56
2.4.4 体验活动的生命周期 58
2.4.5 活动被回收了怎么办 66
2.5 活动的启动模式 68
2.5.1 standard 68
2.5.2 singleTop 70
2.5.3 singleTask 72
2.5.4 singleInstance 74
2.6 活动的最佳实践 77
2.6.1 知晓当前是在哪一个活动 77
2.6.2 随时随地退出程序 78
2.6.3 启动活动的最佳写法 80
2.7 小结与点评 81
第3章 软件也要拼脸蛋,UI开发的点点滴滴 83
3.1 该如何编写程序界面 83
3.2 常见控件的使用方法 84
3.2.1 TextView 84
3.2.2 Button 88
3.2.3 EditText 90
3.2.4 ImageView 95
3.2.5 ProgressBar 97
3.2.6 AlertDialog 101
3.2.7 ProgressDialog 103
3.3 详解四种基本布局 105
3.3.1 LinearLayout 105
3.3.2 RelativeLayout 112
3.3.3 FrameLayout 116
3.3.4 TableLayout 117
3.4 系统控件不够用?创建自定义控件 120
3.4.1 引入布局 121
3.4.2 创建自定义控件 124
3.5 最常用和最难用的控件——ListView 127
3.5.1 ListView的简单用法 127
3.5.2 定制ListView的界面 129
3.5.3 提升ListView的运行效率 133
3.5.4 ListView的点击事件 135
3.6 单位和尺寸 137
3.6.1 px和pt的窘境 137
3.6.2 dp和sp来帮忙 139
3.7 编写界面的最佳实践 141
3.7.1 制作Nine-Patch图片 141
3.7.2 编写精美的聊天界面 145
3.8 小结与点评 151
第4章 手机平板要兼顾,探究碎片 153
4.1 碎片是什么 153
4.2 碎片的使用方式 155
4.2.1 碎片的简单用法 157
4.2.2 动态添加碎片 160
4.2.3 在碎片中模拟返回栈 163
4.2.4 碎片和活动之间进行通信 164
4.3 碎片的生命周期 165
4.3.1 碎片的状态和回调 165
4.3.2 体验碎片的生命周期 168
4.4 动态加载布局的技巧 171
4.4.1 使用限定符 171
4.4.2 使用最小宽度限定符 174
4.5 碎片的最佳实践——一个简易版的新闻应用 175
4.6 小结与点评 187
第5章 全局大喇叭,详解广播机制 188
5.1 广播机制简介 188
5.2 接收系统广播 189
5.2.1 动态注册监听网络变化 190
5.2.2 静态注册实现开机启动 194
5.3 发送自定义广播 196
5.3.1 发送标准广播 197
5.3.2 发送有序广播 199
5.4 使用本地广播 202
5.5 广播的最佳实践——实现强制下线功能 205
5.6 Git时间,初识版本控制工具 215
5.6.1 安装Git 215
5.6.2 创建代码仓库 216
5.6.3 提交本地代码 218
5.7 小结与点评 218
第6章 数据存储全方案,详解持久化技术 220
6.1 持久化技术简介 220
6.2 文件存储 221
6.2.1 将数据存储到文件中 221
6.2.2 从文件中读取数据 225
6.3 SharedPreferences存储 228
6.3.1 将数据存储到SharedPreferences中 229
6.3.2 从SharedPreferences中读取数据 232
6.3.3 实现记住密码功能 234
6.4 SQLite数据库存储 238
6.4.1 创建数据库 239
6.4.2 升级数据库 245
6.4.3 添加数据 248
6.4.4 更新数据 251
6.4.5 删除数据 254
6.4.6 查询数据 256
6.4.7 使用SQL操作数据库 260
6.5 SQLite数据库的最佳实践 260
6.5.1 使用事务 261
6.5.2 升级数据库的最佳写法 263
6.6 小结与点评 266
第7章 跨程序共享数据,探究内容提供器 268
7.1 内容提供器简介 268
7.2 访问其他程序中的数据 269
7.2.1 ContentResolver的基本用法 269
7.2.2 读取系统联系人 271
7.3 创建自己的内容提供器 275
7.3.1 创建内容提供器的步骤 276
7.3.2 实现跨程序数据共享 281
7.4 Git时间,版本控制工具进阶 292
7.4.1 忽略文件 292
7.4.2 查看修改内容 293
7.4.3 撤销未提交的修改 295
7.4.4 查看提交记录 296
7.5 小结与点评 297
第8章 丰富你的程序,运用手机多媒体 298
8.1 使用通知 298
8.1.1 通知的基本用法 298
8.1.2 通知的高级技巧 305
8.2 接收和发送短信 307
8.2.1 接收短信 308
8.2.2 拦截短信 313
8.2.3 发送短信 314
8.3 调用摄像头和相册 320
8.3.1 将程序运行到手机上 320
8.3.2 调用摄像头拍照 322
8.3.3 从相册中选择照片 327
8.4 播放多媒体文件 331
8.4.1 播放音频 332
8.4.2 播放视频 336
8.5 小结与点评 340
第9章 后台默默的劳动者,探究服务 341
9.1 服务是什么 341
9.2 Android多线程编程 341
9.2.1 线程的基本用法 342
9.2.2 在子线程中更新UI 343
9.2.3 解析异步消息处理机制 348
9.2.4 使用AsyncTask 349
9.3 服务的基本用法 353
9.3.1 定义一个服务 353
9.3.2 启动和停止服务 355
9.3.3 活动和服务进行通信 359
9.4 服务的生命周期 363
9.5 服务的更多技巧 364
9.5.1 使用前台服务 364
9.5.2 使用IntentService 367
9.6 服务的最佳实践——后台执行的定时任务 371
9.7 小结与点评 376
第10章 看看精彩的世界,使用网络技术 377
10.1 WebView的用法 377
10.2 使用HTTP协议访问网络 380
10.2.1 使用HttpURLConnection 380
10.2.2 使用HttpClient 385
10.3 解析XML格式数据 388
10.3.1 Pull解析方式 391
10.3.2 SAX解析方式 394
10.4 解析JSON格式数据 398
10.4.1 使用JSONObject 399
10.4.2 使用GSON 401
10.5 网络编程的最佳实践 404
10.6 小结与点评 408
第11章 Android特色开发,基于位置的服务 409
11.1 基于位置的服务简介 409
11.2 找到自己的位置 409
11.2.1 LocationManager的基本用法 410
11.2.2 确定自己位置的经纬度 412
11.3 反向地理编码,看得懂的位置信息 415
11.3.1 Geocoding API的用法 416
11.3.2 对经纬度进行解析 417
11.4 使用百度地图 420
11.4.1 申请API Key 420
11.4.2 让地图显示出来 423
11.4.3 定位到我的位置 427
11.4.4 使用覆盖物来增加更多功能 430
11.5 Git时间,版本控制工具的高级用法 434
11.5.1 分支的用法 434
11.5.2 与远程版本库协作 437
11.6 小结与点评 438
第12章 Android特色开发,使用传感器 439
12.1 传感器简介 439
12.2 光照传感器 439
12.2.1 光照传感器的用法 440
12.2.2 制作简易光照探测器 441
12.3 加速度传感器 443
12.3.1 加速度传感器的用法 443
12.3.2 模仿微信摇一摇 444
12.4 方向传感器 446
12.4.1 方向传感器的用法 446
12.4.2 制作简易指南针 448
12.5 小结与点评 453
第13章 继续进阶,你还应该掌握的高级技巧 455
13.1 全局获取Context的技巧 455
13.2 使用Intent传递对象 459
13.2.1 Serializable方式 459
13.2.2 Parcelable方式 461
13.3 定制自己的日志工具 462
13.4 调试Android程序 464
13.5 编写测试用例 468
13.5.1 创建测试工程 468
13.5.2 进行单元测试 471
13.6 总结 474
第14章 进入实战,开发酷欧天气 476
14.1 功能需求及技术可行性分析 476
14.2 Git时间,将代码托管到GitHub上 478
14.3 创建数据库和表 485
14.4 遍历全国省市县数据 494
14.5 显示天气信息 507
14.6 切换城市和手动更新天气 519
14.7 后台自动更新天气 523
14.8 修改图标和名称 526
14.9 你还可以做的事情 528
第15章 最后一步,将应用发布到Google Play 530
15.1 生成正式签名的APK文件 530
15.2 申请Google Play账号 533
15.3 上传和发布应用程序 534
15.4 嵌入广告进行盈利 541
15.4.1 注册有米账号和验证身份 542
15.4.2 下载和接入有米SDK 544
15.4.3 重新发布应用程序 550
15.5 结束语 553
《童年的秘密》内容简介:本书详尽地告诉父母,儿童的成长有着其内在的精神驱动和规律,儿童的成长需要依靠他们自身不断的有意识的
Geomagic Studio逆向工程技术及应用-(含光盘) 本书特色 《Geomagic Studio逆向工程技术及应用》是由清华大学出版社出版的。Geoma...
《Drupal实战》内容简介:《drupal 实战》是中文drupal社区极力推荐的实力之作,由国内顶尖drupal技术专家(在全球drupal社区有一定
《工业X.0》内容简介:数字化的巨轮早已扬帆远航,任何持怀疑态度的人都无力阻止,无论是民众还是商业领袖。工业企业整体构成了全球
《数学家养成计划》内容简介:这本书,通过图文结合的方式,力图培养青少年的数学兴趣,普及知识。书中,每个知识点、理论或术语都
C和C++程序设计教程 本书特色 反映当前教学内容,突出理论知识的应用和实践技能的培养。注重社会发展和就业需求,培养适应职业岗位的综合能力,强化学生的应用技能。...
《零基础学电脑从入门到精通:视频自学版》内容简介:本书是专为新手编写的电脑操作与应用入门教程,精选了满足日常生活和工作需求
《面向21世纪高等学校信息工程类专业规划教材·通信原理与通信技术(第2版)》全面、系统地介绍了现代通信原理、数据通信原理以及相
本書收載了何丙郁、江曉原、廖育群、韓琦等幾位學者在香港城市大學中國文化中心演講的內容,他們以嶄新的角度與方法,探索中國科
samuelp.harbisoniii于卡内基—梅隆大学获得计算机科学博士学位,现任carlow学院的计算机科学系副教授。他曾就职于德州仪器和ta
《社会风景的寓言》内容简介:本书收录张旭东自1988年以来的电影研究和批评文章。全书主要关注20世纪80年代中后期开始崛起的“中国
肓信号处理是现代数学信号处理、计算智能学近年来迅速发展的重要方向。在电子信息、通信、生物医学、图像增强、雷达、地球物理信
FlashActionScript3.0的出现,不仅从形式上改变了ActionScript,而且从本质上改变了ActionScript,使ActionScrip...
《如何做用户增长更有效》内容简介:随着互联网用户逐渐饱和,如何在存量市场中真正找到用户增长的钥匙?在本书中,你会找到想要的
您想源源不断地汲取创作灵感并极大地提高工作效率吗?《中文版PhotoshopCS5技法精粹:以假乱真的艺术(第6版)》将助您实现这一梦
《C和C++安全编码》是关于C和C++安全编码的著作。《C和C++安全编码》介绍了C和C++程序中已经导致危险的、破坏性的基本编程错误,
IBMAS/400到IBM@serveri系列的转变以及5版本系统软件的推出,都是IBM罗彻斯特实验室迎接电子商务时代变革的重要标志!本书将带领
《黑客与安全技术指南》内容简介:这是一本专门介绍并分享黑客与安全技术的入门书,内容从基础知识出发,通过相关实例为读者剖析计
jQuery全面提速 本书特色 结合实例详细讲解jquery1.4.2核心库通过jquery遍历dom元素和处理文档通过jquery处理事件和添加动画效果通过j...
《油画棒宝典:路正先油画棒手绘完全自学教程》内容简介:本书是油画棒绘画的零基础完全自学教程,全书共分4章。第1章是油画棒绘画