Android开发入门与实战

出版时间:2013-6  出版社:人民邮电出版社  作者:姚尚朗  
Tag标签:无  

内容概要

《Android 开发入门与实战(第二版)》遵循第一版的写作宗旨,通过本书的学习,让不懂Android开发的人系统地快速掌握Android开发的知识。《Android 开发入门与实战(第二版)》主要内容为:Android开发环境搭建、Android SDK介绍、Android应用程序结构剖析,并对Android 中最重要的组件Activity、Intents&Intent Filters&Broadcast receivers、Intent、Service、Content Providers进行了详细的讲解;然后对线程&进程、数据存储、Widget、网络通信和XML解析、多设备适配、Android UI Design(设计规范)等核心技术和读者关心的流行技术结合实例进行了详细讲解;最后精选了6个真实的案例,如图书信息查询、eoe Wiki客户端、广告查查看看、手机信息小助手、土地浏览器、地图追踪,让读者把各种技术贯穿起来,达到学以致用的目的。
  书中内容的安排循序渐进、由浅到深,跟随本书的步调,一定可以学会Android开发。《Android 开发入门与实战(第二版)》除了理论知识的介绍和演示外,还加入很多实战经验技巧和实战案例剖析,让大家在学习的时候能理论结合实战,融会贯通,真正掌握Android的开发技术。

作者简介

eoe移动开发者社区:    eoe.cn是国内成立最早、规模最大的中文移动开发者社区,2009年4月上线。社区涵盖问答、博客、图书、资料下载、沙龙活动、在线课堂、线下训练营等模块。eoe相信技术可以改变世界,致力于让每个人成为优秀的移动开发者,截至2012年12月,累计帮助开发者学习移动开发技术逾100万人次。姚尚朗 (@IceskYsl)80后,创业者,eoe联合创始人,Google产品重度依赖者,对移动互联网发展趋势有独特见解并以实践积极探索之。著《Google Android开发入门与实战》,《Google API大全 编程.开发.实例》,《It's Android TIME:Google Android创赢路线与产品开发实战》,译《The Rails Way》。随性,自由,喜欢背包去陌生的地方旅行,乐交朋友。博客:  http://www.iceskysl.com/   微博:  @Iceskysl

书籍目录

第1章 掀起你的盖头来——Android开发扫盲 1 1.1 Android行业概述 1 1.1.1 Android缘起 1 1.1.2 Android市场发展轨迹 2 1.1.3 Android SDK发布里程碑 5 1.2 Android开发概述 7 1.2.1 Android开发生态链 7 1.2.2 Android国内开发者现况 8 1.3 Android开发资源 9 1.3.1 Android开发线上社区 9 1.3.2 Android学习资料 11 1.3.3 Android开发线下活动 12 1.4 本章小结 13 第2章 工欲善其事必先利其器——搭建环境Android 14 2.1 开发Android应用前的准备 14 2.1.1 操作系统要求 14 2.1.2 Android软件开发包 14 2.2 Windows开发环境搭建 14 2.2.1 安装JDK 14 2.2.2 安装Eclipse 16 2.2.3 安装Android SDK 18 2.2.4 安装ADT 20 2.2.5 真实体验——创建Android虚拟设备(AVD) 22 2.3 Linux一族——Ubuntu开发环境搭建 23 2.3.1 安装JDK 23 2.3.2 安装Eclipse 25 2.3.3 安装Android SDK 27 2.3.4 安装ADT 29 2.3.5 创建Android虚拟设备(AVD) 31 2.4 MacOS一族——苹果开发环境搭建 33 2.5 本章小结 33 第3章 清点可用的资本——Android SDK介绍 34 3.1 Android SDK概要 34 3.2 深入探索Android SDK的密秘 34 3.2.1 Android SDK的目录结构 34 3.2.2 android.jar及其内部结构 35 3.2.3 SDK文档及阅读技巧 35 3.2.4 先来热身——AndroidSDK例子解析 37 3.2.5 SDK提供的工具介绍 40 3.3 Android典型包分析 42 3.3.1 开发基石——AndroidA PI核心开发包介绍 42 3.3.2 拓展开发外延——Android可选API介绍 43 3.4 本章小结 43 第4章 千里之行始于足下——HelloEoE 44 4.1 HelloEoE应用分析 44 4.1.1 新建一个Android项目 44 4.1.2 Android项目目录结构 46 4.1.3 运行项目 46 4.2 调试项目 47 4.2.1 设置断点 48 4.2.2 Debug项目 48 4.2.3 断点调试 49 4.3 本章小结 49 第5章 良好的学习开端——Android应用程序架构分析 50 5.1 Android系统架构 50 5.1.1 Applications(应用程序层) 51 5.1.2 ApplicationFramework(应用程序框架层) 51 5.1.3 LibrariesAndroidRuntime(库以及Android运行环境) 52 5.1.4 LinuxKernel(Linux内核) 52 5.2 Android应用程序工程结构分析 53 5.2.1 应用程序工程结构组成分析 53 5.2.2 AndroidMainfest文件分析 54 5.3 本章小结 56 第6章 Android的核心——Activity 57 6.1 什么是Activity 57 6.2 Activity的生命周期 57 6.3 Activity的监控范围内的三个主要循环 59 6.4 Activity拥有四个基本的状态 60 6.5 Task、栈以及加载模式 60 6.6 配置改变 63 6.7 如何保存和恢复Activity状态 63 6.8 启动Activity并得到结果 64 6.9 Activity小实例 65 6.10 本章小结 71 第7章 我来“广播”你的意图——Intent&Intent Filters&Broadcast Receivers 72 7.1 什么是Intent 72 7.2 Intent结构 72 7.3 Intent的两种类型 74 7.3.1 显式Intent 74 7.3.2 隐式Intent 74 7.4 什么是Intent Filter 74 7.5 什么是Broadcast Receiver 75 7.6 如何创建Broadcast Receiver 75 7.7 Broadcast Receiver生命周期 76 7.8 广播类型 76 7.9 Intent&Broadcast Receiver 76 7.10 本章小结 80 第8章 一切为用户服务——Service 81 8.1 什么是Service 81 8.2 Service的两种形式 81 8.3 如何创建Service 82 8.3.1 创建启动形式Service 82 8.3.2 创建绑定形式Service 83 8.4 Service的生命周期 84 8.5 Service小实例 85 8.5.1 启动形式Service 85 8.5.2 绑定形式Service 89 8.6 本章小结 93 第9章 提供数据的引擎——Content Providers 94 9.1 什么是Content Providers 94 9.2 什么是Content Resolver 94 9.3 如何调用系统的Content Provider 95 9.4 如何使用Content Resolver访问自定义Content Provider 96 9.5 本章小结 101 第10章 我的美丽我做主——用户界面(User Interface) 102 10.1 布局——Layout 102 10.1.1 线性布局——Linear Layout 103 10.1.2 相对布局——Relative Layout 105 10.2 列表视图 107 10.2.1 列视图——Listview 107 10.2.2 表视图——GridView 110 10.3 输入控件——InputControls 113 10.3.1 基本输入控件 113 10.3.2 对话框控件——Dialog 121 10.4 菜单——Menu 125 10.5 活动栏——ActionBar 129 10.6 通知——Notifications 132 10.7 本章小结 134 第11章 循序渐进——线程&进程 135 11.1 线程(Thread)&进程(Process)概念 135 11.2 线程、进程与Android系统组件的关系 135 11.3 实现多线程的方式 138 11.3.1 Thread 139 11.3.2 AsyncTask 140 11.4 本章小结 141 第12章 信息百宝箱——全面数据存储 142 12.1 Shared Preferences(分享爱好) 142 12.1.1 相识Shared Preferences 142 12.1.2 保存数据 144 12.1.3 删除数据 146 12.1.4 修改数据 147 12.1.5 查询数据 148 12.1.6 监听数据变化 148 12.2 流文件存储 149 12.2.1 基本方法简介 149 12.2.2 存储流程图 150 12.2.3 数据保存和查询的实例 150 12.3 实战db4o数据库 153 12.4 SQLite数据库 157 12.4.1 什么是SQLite数据库 157 12.4.2 Android中的SQLite 157 12.4.3 SQLite Open Helper 157 12.4.4 创建或打开数据库 158 12.4.5 关闭数据库 158 12.4.6 创建数据表 159 12.4.7 删除数据表 159 12.4.8 增加数据 159 12.4.9 查询数据 160 12.4.10 修改数据 160 12.4.11 删除数据 161 12.4.12 事务 161 12.4.13 SQLite可视化管理工具 161 12.4.14 图片的保存和查询 163 12.5 记事本实例 166 12.5.1 创建主界面 167 12.5.2 添加内容界面的创建 168 12.5.3 保存数据 169 12.5.4 以列表的形式查询数据 170 12.5.5 选项的菜单 171 12.5.6 “查看”选项的事件 172 12.5.7 “修改”选项的事件 172 12.5.8 “删除”选项的事件 173 12.6 本章小结 174 第13章 不积跬步无以至千里——Widget 175 13.1 认识Widget 175 13.2 使用Widget 176 13.3 Widget生命周期 180 13.4 Widget设计向导 182 13.4.1 添加配置页面 182 13.4.2 Widget设计向导 186 13.5 Widget实例——eoeWiki Recent Widget 188 13.6 本章小结 197 第14章 更上一层楼——网络通信和XML解析 198 14.1 Android网络通信基础 198 14.1.1 Apache网络接口 199 14.1.2 标准Java网络接口 199 14.1.3 Android网络接口 199 14.2 基于HTTP协议的网络通信 199 14.2.1 HTTP介绍 199 14.2.2 使用Apache接口 200 14.2.3 使用标准Java接口 202 14.2.4 总结 203 14.3 基于Socket的网络通信 203 14.3.1 Socket介绍 204 14.3.2 AndroidSocket编程 205 14.4 XML解析技术介绍 206 14.4.1 DOM方式 207 14.4.2 SAX方式 208 14.4.3 PULL方式 210 14.5 本章小结 212 第15章 灵活的应用 213 15.1 Android自定义UI控件 213 15.1.1 AndroidUI结构 213 15.1.2 Android绘制View的原理 214 15.1.3 Android自定义控件分析 215 15.1.4 Android自定义控件小结 216 15.2 片段(Fragment)布局 217 15.2.1 Fragment简介 217 15.2.2 Fragment设计理念 217 15.2.3 创建一个Fragment 218 15.2.4 添加用户界面 219 15.2.5 向活动中添加一个片段 220 15.2.6 添加没有UI的片段 220 15.2.7 管理片段 221 15.2.8 执行片段事务(Fragment Transaction) 221 15.2.9 和活动进行通信 222 15.2.10 小结 222 15.3 画布和画笔 222 15.3.1 画布简介 222 15.3.2 画笔简介 223 15.3.3 例子 224 15.4 本章小结 224 第16章 万变不离其宗——多设备适配 225 16.1 多屏幕适配 225 16.1.1 屏幕适配概述 225 16.1.2 屏幕的分类 226 16.1.3 如何支持多屏幕 227 16.1.4 从项目中怎么适配多屏幕 228 16.2 多语言处理 230 16.2.1 多语言处理概述 230 16.2.2 多语言在程序中的实现 230 16.3 多版本处理 231 16.3.1 支持不同的版本 231 16.3.2 设备运行时检查系统的版本 231 第17章 开发好应用——省电、布局、快速响应、NFC、Androidbean等好玩的应用 233 17.1 开发省电的应用 233 17.1.1 数据传输时避免浪费电量 233 17.1.2 电池续航时间优化 237 17.2 近距离无线通信——NFC 238 17.2.1 近距离无线通信——NFC概述 238 17.2.2 近距离无线通信——NFC基础 238 17.2.3 Android对NFC的支持 239 17.2.4 Android应用中实现NFC 241 17.3 本章小结 242 第18章 没有规矩不成方圆——AndroidUI设计规范 243 18.1 UI设计概述 243 18.1.1 AndroidUI设计概述 243 18.1.2 自成体系的风格设计 244 18.2 UI设计原则(Design Principles) 246 18.2.1 让我着迷—Enchant Me 247 18.2.2 简化我的生活—Simplify My Life 248 18.2.3 让我感到惊奇—Make Me Amazing 250 18.3 UI设计规范 252 18.3.1 应用结构规范 252 18.3.2 导航规范 253 18.3.3 通知规范 255 18.4 本章小结 257 第19章 综合案例一——图书信息查询 258 19.1 项目介绍 258 19.2 ZXing 259 19.2.1 ZXing介绍 259 19.2.2 ZXing调用流程 259 19.3 豆瓣图书API 259 19.3.1 豆瓣图书API介绍 259 19.3.2 豆瓣图书API调用流程 259 19.4 项目效果图 260 19.5 项目编码 262 19.5.1 实体类 263 19.5.2 欢迎界面 266 19.5.3 数据下载 269 19.5.4 数据解析 271 19.5.5 信息显示界面 273 19.6 本章小结 276 第20章 综合案例二——eoeWiki客户端 277 20.1 背景与简介 277 20.1.1 eoeWiki网站 277 20.1.2 eoeWiki客户端 277 20.2 项目设计 278 20.2.1 原型图设计 278 20.2.2 流程图设计 279 20.3 功能模块 280 20.3.1 项目目录结构 281 20.3.2 滑块特效 282 20.3.3 网络交互 290 20.3.4 JSON数据解析 295 20.3.5 数据库与缓存 299 20.4 最终演示 307 20.5 本章小结 309 第21章 综合案例三——广告查查看看 310 21.1 产品开发背景 310 21.2 产品功能简介 311 21.3 本章小结 314 第22章 综合案例四——手机信息小助手 315 22.1 背景与简介 315 22.1.1 应用背景与简介 315 22.1.2 手机信息小助手功能规划 315 22.2 手机信息小助手编码实现 316 22.2.1 手机信息小助手主界面 316 22.2.2 系统信息 320 22.2.3 硬件信息 325 22.2.4 软件信息 329 22.2.5 运行时信息 331 22.2.6 文件浏览器 334 22.3 项目细节完善 337 22.4 手机信息小助手功能展望 338 22.5 本章小结 338 第23章 综合案例五——“土地浏览器”实例 339 23.1 土地浏览器简介 339 23.1.1 为什么要开发土地浏览器 339 23.1.2 土地浏览器的基本功能 340 23.2 土地浏览器的设计 340 23.3 土地浏览器的开发过程 341 23.3.1 启动界面的开发 341 23.3.2 网址输入栏的设计 344 23.3.3 网址输入栏的触屏弹出和收缩 346 23.3.4 网址的获取 347 23.3.5 如何在本程序中打开浏览器 349 23.3.6 网站标题的获取 349 23.3.7 网站图标的获取 349 23.3.8 网站打开进度的获得 350 23.3.9 网页网址的获得 350 23.3.10 网页的触屏滑动翻页 350 23.3.11 网页缩放 351 23.3.12 书签和历史记录 351 23.3.13 底部菜单 355 23.3.14 关于设置 356 23.3.15 皮肤 358 23.3.16 壁纸设置 359 23.3.17 主页设置 359 23.3.18 JavaScript设置 360 23.3.19 缓存设置 361 23.3.20 缓存删除 361 23.3.21 其他 362 23.4 本章小结 362 第24章 综合案例六——地图跟踪 363 24.1 百度地图示例应用分析 363 24.1.1 百度地图SDK开发准备 363 24.1.2 百度地图示例程序讲解 364 24.2 本章小结 374 后记 375

章节摘录

版权页:   插图:   第5行定义的Calendar对象dateAndTime用来在日期和时间对话框时获取系统日期时间。 第14~22行我们实例化了4个按钮对象,并设置了统一的按钮单击监听器Btocl。 第23~40行是View.OnClickListener对象Btocl,这个回调函数在用户单击按钮时触发onClick函数,并传入单击按钮的View。通过v.getId()我们获取到按钮的ID号,然后4个按钮各自执行showDialog函数,调用创建对话框。 当使用showDialog(int id)函数方式创建对话框时,如果此ID对应的对话框对象是第一次被请求时,Android系统就回调Activity中的onCreateDialog(int id)函数,我们在onCreateDialog函数里进行对话框对象创建。 第41~71行是具体创建对话框对象的onCreateDialog函数,在这里我们使用一个switch语句根据传入的id参数初始化对应对话框对象。当创建完对话框后,返回这个对象给activity进行管理。 第46~51行是创建AlertDial09对话框。AlertDialog对话框不能直接new方式创建,必须先创建AlertDialog.Builder对象,然后调用它的create方法来创建AlertDialog。 AlertDialog对话框对象能显示一个图标、一个标题、一个内容文本和3个可选按钮。 第47行设置了AlertDialog的图标和标题,第48行设置了内容,第49行设置了NegativeButton按钮和NeutralButton按钮,第50行设置了PositiveButton按钮。虽然这3个按钮名字不同,但在功能上是可以随意设定的,只是为了取ID方便。 AlertDialog对话框的onClickListener按钮监听器ocl在第73~82行定义,我们通过onClick函数传入的which值确定哪个按钮被单击了并可设定相应处理代码。 下面看一下我们这个AlertDialog的示例图。 第52~59行是日期选择对话框DatePickerDialog。我们直接使用new的方式产生对象。DatePickerDialog构造函数需要传人:context上F文、DatePickerDialog.OnDateSetListener()监听器和初始化年月日。DatePickerDialog.OnDateSetListener()监听器在用户单击设置按钮时回调onDateSet函数,反馈用户设置的年月日。 图10—11是日期选择对话框的示例图。 第60~65行创建时间选择对话框TimePickerDialog的方式和日期选择对话框类似。通过TimePickerDialog构造函数传入上下文、监听器和初始化的时间值,并设置是否是24小时制。监听器TimePickerDialog.OnTimeSetListener()里onTimeSet函数在用户按了设置按钮后传入设置后的时间值。

媒体关注与评论

这是一本很平易近人的Android入门书籍,也是开发者及非开发者两相宜的实务书籍,它能陪伴您顺利入门,并驰骋于无限宽广的Android系统和应用领域。—台湾著名技术专家  高焕堂随着3G元年的到来,移动互联网的不断深入发展,G1和G2手机的相继问世,Android 上网本的若隐若现,中国移动、中国联通等运营商即将发布基于Android 系统手机的新闻不断,越来越多的开发者更清晰地看到了,在Android平台上进行软件和服务开发的必要性和广阔前景。作者历时半年完成本书,并通过通俗的文字、翔实的示例,由浅入深地向读者详细介绍Android 系统的概念、开发流程以及实际的演示例子。更难能可贵的是,作者还通过和真实生活联系紧密的例子,把Android 开发与当下流行的地图服务、Web 2.0、SNS 等应用联系起来,给读者展示了使用Android 进行丰富开发的诸多可能。本书结构合理,行文流畅,示例丰富,是一本很好的Android 开发入门和实战书籍。—Google Android 测试工程师  何峰未来可以预见,基于Android的应用需求会越来越多。对于软件从业人员来说,Android平台的一个吸引人之处是,它包括了开发移动设备应用所需的操作系统、用户界面设计等软件,且没有任何专有权方面的障碍,这也就意味着任何人都可以在其上进行开发。书中提供了一些完整的应用实例和源代码分析,如豆瓣网客户端、在线音乐播放器等,对于想快速上手Android的朋友有很大的帮助。—InfoQ中文站(infoq.com/cn)总编辑  霍泰稳Android开放平台是手机炫酷应用最好的实验场之一,与此同时,Android平台所具有的发展潜力,也必将成为应用开发者创造价值的源泉。在Android应用中,出现了很多体验性很好的程序,如果你也希望借助Android平台,以全新的方式和富有个性的创意来诠释掌中的移动应用,那么请不要犹豫翻开这本书,她将引导你用自己的创意去征服Android手机用户。—中国科学院  博士  高昂这本书通俗易懂,书中实例把传统互联网的内容与移动平台紧密结合,体现了很好的创新精神,很值得读者阅读。—支付宝  数据库架构师  冯大辉在我印象里,本书作者是个乐于探索新知、对技术潮流敏锐的程序员。如今Android手机操作系统刚刚出现,他又开始勇于创新地去实践,不仅开发了一系列Android应用,更用自己积累的经验和技术写出了这本实战教程,书中实例丰富、案例生动有趣,很值得读者学习。—Thought Works咨询师  IT技术专家  熊节

编辑推荐

最大的开发社区eoe Android(注册会员10万)全新打造的。 6大完整商业案例:图书信息查询、eoe Wiki客户端、广告查查看看、手机信息查看小助手、土地浏览器实例、地图跟踪,案例取自作者的商业项目,可以学以致用,增加成就感。 全部内容基于最新的Android SDK 4.X。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Android开发入门与实战 PDF格式下载


用户评论 (总计14条)

 
 

  •   已收到,书是正品,不错。
  •   纸质感觉一般,没有想象中的那么大本
  •   比如7.1节中倒数第三段的“Context.startActivity”应该为"Activity.startActivity"。这种错误不知道是原来作者就写错了,还是工作人员在录入时输错的。且读到7.1节为止,我已经发现了两三处这种错误。十分影响阅读感受,要是没发现不就形成错误的知识了么。而且kindle for pc不能换字体,那个默认的宋体十分难看。
  •   书还是不错的。适合有一点点的编程基础的人学习,完全没有基础的,,,还是需要请人多指导一下。
  •   适合入门使用,赞一个!
  •   现在还在学习 很好的书 你值得拥有
  •   很详细的书本,送货还是挺快的,最赞的是亚马逊的包装很有诚意。
  •   因为个人是从事c c++ windows下开发。今天书到了,乘着兴致看了下前10章,边看边敲敲代码,成功将自己写的apk装载手机上用起来的很感觉不错。看到这里感觉今天看不下去了,扫了下后面的章节,估计扫完这本书就算是入门了。不错的入门书。
  •   是正版书,为什么有些评论说是盗版的呢?难道还有盗版的混杂在其中,那就看人品了。讲得不是特别深,入门可以,但网上源码连接却找不到网址了。
  •   看了下书质量还可以 就是内容比较简单
  •   书是好书,但是书的质量好像盗版的,闻的气味很臭,纸张的颜色发白,和盗版的很像。
  •   适合入门开发者、、、
  •   较系统的介绍了安卓开发的流程 适合入门android开发
  •   书的印刷质量不好,内容适合初学者
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7