出版时间:2012-1 出版社:机械工业出版社 作者:李宁 页数:421
Tag标签:无
内容概要
这是一本实践与理论紧密结合的android应用开发参考书。实践部分以一个完整的大型案例(功能完善的微博客户端)贯穿始终,以迭代的方式详细演示和讲解了该案例的开发全过程,旨在帮助读者迅速理清android应用开发的完整流程和实现细节,同时,对开发过程中所涉及的理论知识进行了详细的分析和讲解。理论部分是对实践部分的升华,对android应用开发所需具备的高级知识和常用技巧进行了深入的阐述,读者掌握这部分内容后,在迅速获得实际应用开发经验之后还能进一步提升自己的理论技术功底。
《android应用开发实战》一共分为三个部分。第一部分基础篇:全面介绍了android的系统架构、开发环境的搭建、android应用程序的常用组件,以及一个简单的微博客户端的实现方法,为接下来动手实现本书中的完整案例(新浪微博客户端)奠定了基础;第二部分实例篇:介绍了微博客户端的概况以及新浪微博api,然后根据微博客户端的功能划分详细地介绍了微博客户端各个功能模块的实现方法和细节,包括界面展示、代码分析,还有对所运用的理论知识的重点讲解,既便于读者动手实践,又能帮助读者巩固已经掌握的理论知识;第三部分高级篇:讲解了android开发中的高级技术,包括各种常用的android资源、通信功能的开发、数据库、蓝牙与wi-fi、第三方程序库、2d绘图技术、opengl
es绘图技术、android的编译,以及android的性能优化方法和实践;最后,详细介绍了android
4.0的新特征。
作者简介
李宁,资深软件开发工程师、IT讲师和技术顾问,从事软件研发工作10余年,实践经验十分丰富。资深Android开发专家,国内Android应用开发的先驱和传教士,开发了基于Android平台的新浪微博客户端、完美通信、语音计算器、多功能日历等广受欢迎的应用。活跃于CSDN(CSDN专家)、博客园、eoeAndroid等社区,担任eoeAndroid开发版块版主,发表了大量关于Android应用开发的技术文章,深受社区网友欢迎。此外,他还精通Java、.NET、C++等技术,曾经多次在微软组织的技术大赛中获奖。同时,他还是一位经验丰富的技术作家,多次为《程序员》杂志和IT168等技术社区撰稿,著有多本Android专著,广获读者好评。
书籍目录
前言
第一部分 基础篇—android开发基础
第1章 android应用开发基础
1.1 android的系统构架
1.2 android开发环境搭建
1.2.1 安装jdk和配置java开发环境
1.2.2 安装android sdk
1.2.3 安装eclipse插件adt
1.3 android应用程序中的资源
1.4 android的应用程序组件
1.4.1 activity(android的窗体)
1.4.2 service(服务)
1.4.3 broadcast receiver(广播接收器)
1.4.4 content provider(内容提供者)
1.5 小结
第2章 开发前的准备工作
2.1 建立android工程
2.2 引用新浪微博sdk
2.3 引用第三方类库
2.4 跨工程调试新浪微博sdk
2.5 异步访问api
2.5.1 使用sdk本身的异步功能
2.5.2 为sdk自定义异步功能
2.6 小结
第3章 实现一个简单的微博客户端
3.1 编写android的服务
3.2 让任何拍照软件都成为微博客户端
3.2.1 可以监视目录文件的服务
3.2.2 发布带图像的微博
3.3 小结
第二部分 实例篇—微博客户端开发
第4章 微博客户端概况
4.1 参考客户端
4.1.1 新浪微博官方android客户端
4.1.2 网易微博官方android客户端
4.1.3 腾讯微博官方android客户端
4.2 功能模块展示
4.2.1 登录
4.2.2 账户管理
4.2.3 微博列表
4.2.4 私信列表
4.2.5 撰写微博
4.2.6 图像渲染
4.2.7 转发、评论与收藏微博
4.2.8 搜索微博和用户
4.3 小结
第5章 新浪微博api详解
5.1 新浪微博api有哪些功能
5.2 使用新浪微博api开发前的准备工作
5.2.1 申请新浪微博应用程序
5.2.2 访问和测试api
5.2.3 测试新浪微博sdk
5.3 身份认证
5.3.1 basic认证
5.3.2 oauth认证
5.4 利用新浪微博sdk获取微博消息
5.4.1 获取公共微博消息
5.4.2 获取登录用户首页的微博消息
5.4.3 获取当前用户发布的微博消息
5.4.4 获取@提到我的微博消息
5.4.5 获取当前用户的评论列表
5.4.6 获取指定微博的评论列表
5.4.7 获取微博的评论数和转发数
5.4.8 获取用户相关消息
5.5 更新微博及其相关内容
5.5.1 发布文字微博
5.5.2 发布图像微博
5.5.3 评论微博
5.5.4 回复评论
5.5.5 转发微博
5.6 新浪微博api的搜索功能
5.6.1 搜索用户
5.6.2 搜索微博
5.7 小结
第6章 用户登录与用户注册
6.1 设计登录界面
6.1.1 登录界面的布局
6.1.2 登录界面的装载模式
6.2 事件处理机制
6.2.1 编写事件处理类
6.2.2 扩展微博事件处理
6.3 用户登录
6.3.1 响应用户登录事件
6.3.2 用户登录成功
6.3.3 用户登录失败
6.4 用户注册
6.5 关注作者微博
6.6 小结
第7章 首页微博列表
7.1 主界面设计
7.1.1 主界面布局
7.1.2 微博列表项布局
7.1.3 装载主界面
7.2 实现系统工具类
7.2.1 notificationprocess类(处理通知列表)
7.2.2 systemdbservice类(操作数据库)
7.2.3 happyblogconfig类(读写配置文件)
7.2.4 processtasks类(处理返回数据)
7.3 系统初始化
7.3.1 初始化systemdbservice对象
7.3.2 为每个账号创建mymicroblogasync对象
7.3.3 初始化处理微博列表的对象
7.4 装载首页微博数据
7.4.1 显示微博数据
7.4.2 装载头像和微博图像
7.5 小结
第8章 切换微博列表
8.1 显示公共微博列表
8.2 显示我的微博列表
8.3 显示@提到我的微博列表
8.4 刷新当前的微博列表
8.5 小结
第9章 显示其他列表信息
9.1 显示我的所有评论列表
9.2 显示我发出的评论列表
9.3 显示我的收藏列表
9.4 显示私信列表
9.5 小结
第10章 账号管理
10.1 账号管理主界面
10.2 添加账号
10.3 删除账号
10.4 设置主账号
10.5 同步账号
10.6 注销
10.7 小结
第11章 撰写和发布微博
11.1 发布文字微博
11.2 发布带图像的微博
11.2.1 手机拍照
11.2.2 从相册中获得图像
11.2.3 删除图像
11.2.4 发布图像微博
11.3 微博的辅助输入工具
11.3.1 语音录入
11.3.2 插入表情
11.3.3 插入话题
11.4 小结
第12章 处理微博与评论
12.1 与微博相关的操作
12.1.1 评论微博
12.1.2 转发微博
12.1.3 删除微博
12.1.4 收藏微博
12.1.5 以大图方式浏览微博图像
12.1.6 图像另存为与图像分享
12.2 查看微博的详细内容
12.3 显示与回复评论
12.4 小结
第13章 图像特效
13.1 图像特效主界面
13.2 特效处理框架
13.2.1 处理图像的接口
13.2.2 如何处理图像
13.3 选择图像区域
13.4 图像特效详解
13.4.1 灰度
13.4.2 马赛克
13.4.3 截图
13.4.4 自由旋转
13.4.5 恢复原始图像
13.5 发布经过特效处理的图像微博
13.6 小结
第14章 搜索微博与搜索用户
14.1 搜索界面布局
14.2 实现json格式的搜索api
14.3 搜索微博
14.4 搜索用户
14.5 小结
第15章 个性化设置
15.1 设置主题
15.1.1 主题目录列表
15.1.2 主题图像
15.1.3 设置主题背景图
15.2 设置背景颜色和透明度
15.3 设置文字颜色
15.4 小结
第16章 签名和发布微博客户端
16.1 签名应用程序
16.1.1 使用命令行方式进行签名
16.1.2 使用adt插件进行签名
16.2 发布微博客户端
16.3 小结
第三部分 高级篇—android sdk高级技术
第17章 android资源详解
17.1 创建资源
17.2 访问资源
17.2.1 生成资源类文件
17.2.2 从代码中访问资源
17.2.3 从xml文件中访问资源
17.3 在代码中存取资源
17.3.1 存取简单资源
17.3.2 存取对象资源
17.3.3 处理配置变化
17.4 本地化
17.4.1 建立本地化的资源目录
17.4.2 资源目录的命名规则
17.4.3 建立别名资源
17.4.4 资源目录的优先级
17.5 资源类型
17.5.1 字符串(string)资源
17.5.2 布局(layout)资源
17.5.3 图像(drawable)资源
17.5.4 菜单(menu)资源
17.5.5 动画(animation)资源
17.5.6 风格(style)资源
17.5.7 其他资源
17.6 小结
第18章 电话、短信与联系人
18.1 电话
18.1.1 显示拨号界面
18.1.2 直接拨打电话
18.1.3 控制呼叫转移
18.1.4 监听来/去电
18.1.5 用程序控制接听和挂断动作
18.1.6 获取通话记录
18.2 短信和彩信
18.2.1 通过系统程序发送短信
18.2.2 直接发送短信
18.2.3 保存短信发送记录
18.2.4 监听短信
18.2.5 发送彩信
18.2.6 监听彩信
18.2.7 显示视频缩略图
18.2.8 彩信内容与smil协议
18.3 联系人
18.3.1 查看联系人的内容
18.3.2 添加电话到联系人列表
18.3.3 修改联系人信息
18.3.4 删除联系人信息
18.4 小结
第19章 数据库
19.1 sqlite数据库
19.1.1 管理sqlite数据库
19.1.2 sqlite数据库基本操作
19.1.3 事务
19.1.4 核心函数
19.1.5 日期和时间函数
19.1.6 聚合函数
19.2 android版的sqlite数据库
19.2.1 操作数据库
19.2.2 升级数据库
19.2.3 数据绑定
19.3 持久化数据库引擎db4o
19.3.1 什么是db4o
19.3.2 下载和安装db4o
19.3.3 创建和打开数据库
19.3.4 操作java对象
19.4 小结
第20章 蓝牙与wi-fi
20.1 蓝牙编程
20.1.1 蓝牙简介
20.1.2 控制蓝牙设备
20.1.3 使蓝牙设备可被搜索到
20.1.4 搜索蓝牙设备
20.1.5 蓝牙设备之间的数据传输
20.2 wi-fi编程
20.2.1 控制wi-fi设备
20.2.2 获取wi-fi信息
20.2.3 客户端socket
20.2.4 服务端socket
20.2.5 移动版的web服务器实例
20.2.6 在手机客户端访问web服务器
20.3 小结
第21章 第三方程序库
21.1 gtalk客户端
21.1.1 xmpp协议简介
21.1.2 下载并安装asmack
21.1.3 登录gtalk服务器
21.1.4 获取联系人信息
21.1.5 监听联系人是否在线
21.1.6 发送聊天消息
21.1.7 接收聊天消息
21.2 ftp客户端
21.2.1 连接与断开ftp服务器
21.2.2 获取与改变当前工作目录
21.2.3 列出所有的文件和目录
21.2.4 建立、重命名、删除指定目录
21.2.5 上传、重命名、下载、删除指定文件
21.3 绘制图表的程序库achartengine
21.3.1 曲线图
21.3.2 条形图
21.3.3 离散点图
21.3.4 区域图
21.3.5 饼图
21.4 小结
第22章 编译在android中的应用
22.1 javacc使用入门
22.1.1 javacc下载和安装
22.1.2 用javacc生成第一个分析器
22.2 javacc语法
22.3 javacc实战:计算器
22.3.1 生成计算表达式的分析器源代码
22.3.2 编写计算器的主程序
22.4 小结
第23章 android sdk的2d绘图技术
23.1 绘图基础
23.1.1 绘制点
23.1.2 绘制直线
23.1.3 绘制三角形
23.1.4 绘制矩形和菱形
23.1.5 绘制圆、弧和椭圆
23.1.6 绘制文字
23.2 高级绘图技术
23.2.1 在画布上旋转图像
23.2.2 在edittext控件上绘制图像和文本
23.2.3 制作动画效果
23.3 绘图实战:电子罗盘
23.4 surfaceview类
23.5 小结
第24章 opengl es绘图技术
24.1 opengl es简介
24.2 构建opengl es框架
24.3 用opengl es绘制2d图形
24.3.1 三角形
24.3.2 矩形
24.3.3 为图形上色
24.4 opengl es实战:旋转立方体
24.4.1 绘制立方体
24.4.2 使立方体旋转起来
24.5 小结
第25章 性能优化
25.1 性能优化的基础知识
25.2 编写java程序的最优化原则
25.2.1 用静态工厂方法代替构造方法
25.2.2 避免创建重复的对象
25.2.3 防止内存泄漏
25.2.4 接口只用于定义类型
25.2.5 返回零长度的集合而不是null
25.2.6 通过接口引用对象
25.3 避免anr
25.4 性能检测
25.4.1 执行时间测试
25.4.2 内存消耗测试
25.4.3 测试性能的工具traceview
25.5 小结
第26章 android 4.0新技术探索
26.1 全新的android,全新的体验
26.1.1 开发环境
26.1.2 模拟器
26.2 activity中的容器fragment
26.2.1 fragment的特点
26.2.2 fragment的生命周期
26.2.3 显示对话框
26.2.4 隐藏和显示fragment
26.2.5 回退堆栈
26.3 android 4.0的新特性
26.3.1 联系人提供者中的社会化api
26.3.2 高分辨率的联系人照片
26.3.3 新的日历api
26.3.4 语音信箱
26.3.5 多媒体api
26.3.6 人脸识别
26.3.7 焦距和感光区域
26.3.8 摄像头自动对焦
26.3.9 wi-fi点对点连接
26.3.10 高级的网络应用
26.3.11 新增的设备传感器
26.3.12 webkit浏览器引擎
26.4 android 4.0实战:应用程序演示
26.5 小结
章节摘录
版权页:插图:3.3 小结本章通过一个实例介绍如何使用微博及微博开放API。自从Twitter开放了自己的API以来,世界各大微博、SNS等网站也相继开放了API。本章介绍的新浪微博开放API只是冰山一角。为了使读者更好地理解新浪微博API,本章还使用新浪微博SDK编写一个用于发布微博的Android程序。该程序可以监视任何指定的目录中的文件,如果发现最新保存韵图像文件,就会将该图像文件发布到微博上。读者可以在本例的基础上进行修改,使其变得更强大。例如,监视多个图像保存目录、图像手工发布等。未来是代码开放的时代,这也充分体现了互联网的最初精神:人人为我,我为人人。对于整个互联网来说,各种开放API将引爆更深层次的开放。开放API不仅是对内容的开放,也是对控制权的开放。有了开放API,互联网才会成为一台巨大的机器,我们每一个人都会为这台机器添加各种功能,使其不断趋于完美。希望读者可以充分利用这些开放API来达到双赢的目的。
媒体关注与评论
这是一本实战性的进阶参考书,它摒弃了传统同类书的内容组织方式,没有以基础理论开篇,而是直接以一个实际案例引导读者开始动手实践。这个案例是一个功能强大的新浪微博客户端,作者将微博客户端的实现分成了若干模块,逐步对各个模块的实现进行了演示和分析。感兴趣的读者可以根据书中的指引来实现这个案例,在这个过程中既可以获得大型Android应用开发的经验,又能巩固基础理论知识,迅速成为一位有经验的Android开发者。 —— Android中文论坛当我们学习一种新的软件开发技术时,究竟如何才能迅速上手?传统的观点认为:首先应该系统地学习理论知识,然后再找一些案例来操练。这种“先理论后实践”的方法肯定没有错,但是否是唯一途经,值得商榷。经过采访大量初学者后发现,其实很少有人真正有耐心去系统学习理论知识,大部分人一开始就想从实际的案例入手,一边实践,一边学习理论。实践证明,这种方式也是十分有效的,本书便是在这种指导思想下创作的。如果你有其他平台的开发经验,如果你对Android的理论知识不熟悉,没有关系,你可以直接从本书中的案例入手。做完本书中的案例后,你不仅能掌握Android应用开发的方法和思路,而且对它的理论也会有一个全面的了解。对于注重实战的读者而言,本书不可多得。 —— Android开发者社区如果你已经对开发Android应用必备的基本理论知识有所了解,想迅速获得开发实际应用的能力和经验,那么本书就是为你准备的。本书以新浪微博客户端为驱动,以迭代的方式讲解了它的整个开发过程。如果你按照书中的步骤重现这个案例,不仅能了解大型Android应用的开发流程,而且还能进一步巩固案例开发中涉及的理论知识。掌握了本书中的这个案例及其相关知识后,你应该具备中级水平了。为了使你的水平进一步提升,本书还讲解了大量高级的理论知识,为你成为高级Android开发者奠定基础。 —— 51CTO
编辑推荐
《Android应用开发实战》:国内首本基于Android4.0的著作,资深专家亲自执笔,专业社区联袂推荐、一个综合性案例贯穿全书,融理论于实践,为实战进阶提供绝佳指导。如何才能让本书既降低读者学习的时间成本,又提高读者的学习效率?这是本书要解决的首要问题。在开始写作之前,我们针对这个问题进行了深入的分析和探讨,对国内外相同读者定位(就水平层次而言)的技术图书的体例进行了大量的研究.最后决定采用现在的写作方式和内容结构,已经有Jolt技术图书大奖获得者证明这种体例能在降低读者学习的时间成本的同时提高学习效率。从大的方面来讲,本书主要分为两大部分:实践部分,以一个综合性的案例(新浪微博客户端)的实现过程为主要脉络,既完整演示了大型Android应用开发的流程和细节,又对其中所涉及的理论知识进行了充分的阐述,这使得读者能在实践的同时掌握基础理论,而不是先去学习理论知识后再来实践,大大缩短了学习的时间周期;理论部分,对Android开发中的进阶知识和常用技巧进行了详细的讲解,这为开发者进一步提升理论知识水平和开发技巧创造了条件。如果你没有Android应用开发经验.对Android的理论知识不知或知之甚少,那么本书将会是你开始Android应用开发之旅的最佳选择之一。
图书封面
图书标签Tags
无
评论、评分、阅读与下载