《Android 2高级编程(第2版)》

2012年6月24日10:28:21 发表评论 11 views

《Android 2高级编程(第2版)》述如何有效利用android 2的功能来改进当前产品或创建新产品。《Android 2高级编程(第2版)》是使用android编写移动应用程序的实用精品指南,穿插了一系列示例项目来深入分析android的新功能和技术。大量示例和说明可引导你熟练掌握基础知识,使你不仅能使用当前android 功能编写赏心悦目的移动应用程序,还能灵活快捷地运用未来的android增强功能构建最前沿的解决方案。

《Android 2高级编程(第2版)》

《Android 2高级编程(第2版)》前言

对移动开发人员来说,现在是一个令人心潮澎湃的时代。手机从来没有像今天这样流行,强大的智能手机产品已经为消费者所普遍接受。现在,外观时尚且用途广泛的手机带有GPS、加速计和触摸屏等硬件功能,并且具有固定费率且定价合理的数据计划,因此,它们成为了吸引越来越多的开发者创建各种新颖有趣的移动应用程序的平台。

现在,市面上有大量的Android设备可供消费者选择,包括带有QVGA屏幕的手机和诸如Motorola Droid及Google Nexus One这样强大的WVGA设备,但是真正的赢家却是开发人员。由于现有的手机应用程序的开发是构建在各手机厂家的私有操作系统之上的,所以它限制了第三方应用程序的开发和部署,而Android为我们提供了一个开放的平台。因为没有了人为制造的障碍,所以Android开发人员可以自由地编写能够充分利用日益强大的手机硬件的应用程序,并在一个开放的市场上销售它们。

因此,随着移动设备的销售量不断增长,开发者对Android设备的兴趣也出现了爆炸性地增长。在2009年和2010年前半年,包括HTC、Motorola、LG、Samsung和Sony Ericsson在内的OEM发布了超过20种Android手机。超过26个国家的32家以上的运营商都提供了Android设备。美国的4家主要运营商T-Mobile、Verizon、AT&T和Sprint,都销售Android设备。

由于Android构建在开源代码的框架之上,并且提供了强大的SDK库和开放的理念,所以它为广大的没有任何移动应用程序开发经验的新手开辟了一条开发完美移动应用程序的康庄大道。而富有经验的移动开发人员现在也可以方便地扩展到Android平台上来,利用它独特的功能来改进现有产品或者开发其他新颖产品。

通过使用Android Market,开发人员可以利用开放的市场向所有兼容的Android设备发布免费或者收费的应用程序,而不需要经历审查过程。

本书将指导你使用Android 2软件开发包来构建移动应用程序。每章的讲解将通过一系列示例项目帮助你逐步掌握Android中的各种新功能和技术,以便你能够最大程度地利用Android。本书所介绍的各个应用实例简明扼要且极具实用价值,它们覆盖了Android 2的所有基本功能和高级功能。

Google的理念是尽快发布,然后不断更新。自从2008年10月Android第一次完整发布以来,共推出了7个平台和SDK版本。由于发布周期如此之快,软件和开发库很可能会有定期的修改和丰富。虽然Android的开发团队会尽可能地保持向后兼容性,但在未来的版本中,本书提供的某些信息仍可能会过时。

尽管如此,本书的内容和示例提供了如何使用当前SDK来编写优秀的移动应用程序所需要的基础知识,同时也保持了快速适应未来版本更强大功能的灵活性。

《Android 2高级编程(第2版)》价格

报价查询

《Android 2高级编程(第2版)》目录

第1章 android简介

1.1 一些背景信息

1.1.1 不远的过去

1.1.2 未来的前景

1.2 对android的误解

1.3 开放的移动开发平台

1.4 自带的android应用程序

1.5 android sdk的特征

1.5.1 访问硬件(包括摄像头、gps和加速计)

1.5.2 自带的google地图、地理编码和基于位置的服务

1.5.3 后台服务

1.5.4 sqlite数据存储和检索数据库

1.5.5 共享数据和应用程序间通信

1.5.6 使用小组件、livefolder和livewallpaper增强主屏幕

1.5.7 广泛的媒体支持和2d/3d图形

1.5.8 优化的内存和进程管理

1.6 开放手机联盟简介

1.7 运行android的环境

1.8 从事移动开发的原因

1.9 从事android开发的原因

1.9.1 推动android普及的因素

1.9.2 android的独到之处

1.9.3 改变移动开发格局

1.10 开发框架简介

1.10.1 开发包中的资源

1.10.2 理解android软件栈

1.10.3 dalvik虚拟机

1.10.4 android应用程序架构

1.10.5 android库

1.11 小结

第2章 开始入手

2.1 android开发

2.1.1 开始前的准备工作

2.1.2 创建第一个android应用程序

2.1.3 android应用程序的类型

2.2 面向移动设备的开发

2.2.1 硬件限制带来的设计考虑事项

2.2.2 考虑用户环境

2.2.3 android开发

2.3 to-dolist示例

2.4 android开发工具

2.4.1 android虚拟设备和sdk管理器

2.4.2 android模拟器

2.4.3 dalvik调试监控服务(ddms)

2.4.4 android调试桥(adb)

2.5 小结44

第3章 创建应用程序和活动

3.1 android应用程序的组成部分

3.2 应用程序清单简介

3.3 使用清单编辑器

3.4 android应用程序生命周期

3.5 理解应用程序的优先级和进程状态

3.6 分离资源

3.6.1 创建资源

3.6.2 使用资源

3.6.3 to-dolist资源示例

3.6.4 为不同的语言和硬件创建资源

3.6.5 运行时配置更改

3.7 application类简介

3.7.1 扩展和使用application类

3.7.2 重写应用程序的生命周期事件

3.8 深入探讨android活动

3.8.1 创建一个活动

3.8.2 活动生命周期

3.8.3 android活动类

3.9 小结

第4章 创建用户界面

4.1 androidui基本设计

4.2 视图简介

4.2.1 使用视图创建活动的用户界面

4.2.2 android widget工具箱

4.3 布局简介

4.3.1 使用布局

4.3.2 优化布局

4.4 创建新视图

4.4.1 修改现有的视图

4.4.2 创建复合控件

4.4.3 创建定制的视图

4.4.4 使用定制的控件

4.5 drawable资源

4.5.1 形状、颜色和渐变

4.5.2 复合drawable

4.5.3 ninepatchdrawable

4.6 分辨率和像素密度无关性

4.6.1 资源框架和分辨率无关性

4.6.2 分辨率无关性的最佳实践

4.6.3 反复测试

4.7 创建和使用菜单

4.7.1 android菜单系统简介

4.7.2 定义活动的菜单

4.7.3 菜单项选项

4.7.4 动态更新菜单项

4.7.5 处理菜单选择

4.7.6 子菜单和上下文菜单

4.7.7 使用xml定义菜单

4.7.8 to-dolist示例续

4.8 小结

第5章 意图、广播接收器、adapter和internet

5.1 意图简介

5.1.1 使用意图来启动活动

5.1.2 使用意图过滤器来为隐式意图提供服务

5.1.3 使用意图过滤器作为插件和扩展

5.1.4 linkify简介

5.1.5 使用意图来广播事件

5.2 待处理意图简介

5.3 adapter简介

5.2.1 部分本地adapter简介

5.2.2 定制arrayadapter

5.2.3 使用adapter绑定数据

5.4 使用internet资源

5.4.1 连接到internet资源

5.4.2 使用internet资源

5.5 对话框简介1

5.5.1 dialog类简介

5.5.2 将活动用作对话框

5.5.3 管理和显示对话框

5.6 创建一个地震查看器

5.7 小结

第6章 文件、保存状态和首选项

6.1 保存简单的应用程序数据

6.2 创建并保存首选项

6.3 检索共享首选项

6.4 为地震查看器创建一个设置活动

6.5 首选项活动和首选项框架概述

6.5.1 在xml中定义一个首选项屏幕布局

6.5.2 首选项活动简介

6.5.3 查找并使用首选项屏幕共享首选项

6.5.4 共享首选项变更监听程序简介

6.6 为地震查看器创建一个标准的首选项活动

6.7 保存活动状态

6.7.1 保存并还原实例状态

6.7.2 保存to-dolist活动状态

6.8 保存和加载文件

6.9 将静态文件作为资源添加

6.10 文件管理工具

6.11 小结

第7章 数据库和内容提供器

7.1 android数据库简介

7.1.1 sqlite数据库简介

7.1.2 内容提供器简介

7.2 sqlite简介

7.3 游标和内容值

7.4 使用sqlite数据库2

7.4.1 使用sqliteopenhelper

7.4.2 在不使用sqlitehelper的情况下打开和创建数据库

7.4.3 android数据库设计注意事项

7.4.4 查询数据库

7.4.5 从cursor中提取结果

7.4.6 添加、更新和删除行

7.4.7 保存to-dolist

7.5 创建一个新的内容提供器

7.5.1 提供对数据源的访问

7.5.2 注册提供器

7.6 使用内容提供器

7.6.1 内容解析器简介

7.6.2 查询内容219

7.6.3 添加、更新和删除内容

7.6.4 在内容提供器中访问文件

7.7 创建和使用地震内容提供器

7.7.1 创建内容提供器

7.7.2 使用提供器

7.8 本地android内容提供器

7.8.1 使用媒体库提供器

7.8.2 使用联系人提供器

7.9 小结

第8章 地图、地理编码和基于位置的服务

8.1 使用基于位置的服务

8.2 配置模拟器来测试基于位置的服务

8.3 更新模拟位置提供器中的位置

8.4 选择一个位置提供器

8.4.1 查找可用的提供器

8.4.2 根据标准查找位置提供器

8.5 确定自己所在的位置

8.5.1 “whereami”示例2

8.5.2 追踪移动

8.5.3 更新“whereami”示例中的位置

8.6 使用邻近提醒

8.7 使用地理编码器

8.7.1 反向地理编码

8.7.2 前向地理编码

8.7.3 对“whereami”示例进行地理编码

8.8 创建基于地图的活动

8.8.1 mapview和mapactivity简

8.8.2 获得地图的api键

8.8.3 创建一个基于地图的活动

8.8.4 配置和使用mapview

8.8.5 使用mapcontroller

8.8.6 对“whereami”示例使用地图

8.8.7 创建和使用覆盖(overlay)

8.8.8 mylocationoverlay简介

8.8.9 itemizedoverlay和overlayitem简介

8.8.10 将视图固定到地图和地图的某个位置上

8.9 对earthquake示例添加地图功能

8.10 小结

第9章 后台工作

9.1 服务简介

9.1.1 创建和控制服务

9.1.2 将活动和服务绑定

9.1.3 后台服务的优先级

9.2 使用后台线程

9.2.1 使用asynctask运行异步任务

9.2.2 使用asynctask将earthquakeservice移动到后台线程

9.2.3 手动创建线程和gui线程同步

9.3 创建一个toast

9.3.1 定制toast

9.3.2 在工作线程中使用toast

9.4 通知简介

9.4.1 通知管理器简介

9.4.2 创建通知

9.4.3 触发通知

9.4.4 向地震监控器中添加通知

9.4.5 高级通知技术

9.4.6 持续的和连续的通知

9.5 使用警报

9.5.1 设置重复警报

9.5.2 使用重复警报更新earthquake

9.6 小结

第10章 个性化手机屏幕

10.1 主屏幕小组件简介

10.2 创建appwidgets

10.2.1 创建小组件布局

10.2.2 定义小组件设置

10.2.3 创建小组件意图接收器并将其添加到应用程序清单中

10.2.4 remoteviews(远程视图)和appwidgetmanager简介

10.2.5 刷新小组件

10.2.6 创建并使用小组件配置活动

10.3 创建地震小组件

10.4 livefolder简介

10.4.1 创建livefolder

10.4.2 创建earthquakelivefolder3

10.5 将搜索添加到应用程序以及快速搜索框中

10.5.1 将搜索添加到应用程序中

10.5.2 在快速搜索框中显示搜索结果

10.5.3 将搜索添加到earthquake示例中

10.6 创建livewallpaper

10.6.1 创建livewallpaper定义资源

10.6.2 创建wallpaper服务

10.6.3 创建wallpaper服务引擎

10.7 小结

第11章 音频、视频以及摄像头的使用

11.1 播放音频和视频

11.1.1 mediaplayer简介

……

第12章 电话服务和sms

第13章 蓝牙、网络和wi-fi

第14章 传感器

第15章 android高级开发

  • yiisaa
  • 这是我的微信扫一扫
  • weinxin
  • zhengweiqiangcom
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: