Android程序设计(原书第2版)

Android程序设计(原书第2版)
作 者: Zigurd Mednieks 李妹芳
出版社: 机械工业出版社
丛编项:
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 程序设计 计算机/网络 移动开发
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  Zigurd Mednieks,是领先的OEM、企业和创建基于Android系统和软件的创业咨询顾问。在此之前,他是D2 Technologies的首席架构师,D2 Technologies是Voice over IP (VoIP)的技术提供商。在D2 Technologies,他带领工程和产品定义工作,把通信和社交媒体结合到专用的嵌入式系统和Android平台上。Laird Dornin是一名移动开发架构师,在Java、Android、J2ME、SavaJe和WebKit浏览器库方面有丰富的经验。他是Sun Microsystems的J2SE开发团队成员,是Java RMI和Jini的技术专家。他目前是一家大型无线运营商的高级工程师,为该运营商的开发者社区提供Android架构指南和Network API支持。G. Blake Meike是一个经验丰富的开发人员,在移动和服务端平台构建Java应用方面有丰富的经验。Masumi Nakamura有着十多年的软件工程经验,在移动技术领域的很多职位上工作过,从构建移动基础架构到成立自己的移动公司。他曾经是WHERE Android应用的首席Android开发工程师,现在是Where Inc.的Big Data和Recommendations组的首席架构师。

内容简介

《Android程序设计(原书第2版)》旨在帮助你创建良好的工程化的Android应用,而不仅仅是一些小的示例应用。本书适合不同背景的Android编程人员。如果你一直在用Objective-C为iPhone或MacOS编写应用,你会发现本书中Android工具和Java语言特性等与Android编程相关的介绍能够帮助你理解Android移动应用开发。如果你是一名经验丰富的Java编程人员,会发现本书中介绍的Android应用架构有助于你在这个新的充满活力的Java客户端应用开发中运用你的Java专业知识。简而言之,本书面向的是那些在面向对象语言、移动应用、REST应用及类似领域中有一定经验的人。从本书中,可以更深入地了解Android编程,而这些内容远远不止是一本入门书或者一些在线的教程所能够涵盖的。《Android程序设计(原书第2版)》的内容组织如下:第一部分会帮助有一定Java或iOS开发经验的编程人员快速入门,了解如何使用Android SDK和Android编程基础。第二部分会深入Android框架,专注于用户界面和图形类层次结构、并发和数据库。理解这部分内容将为了解Android应用如何工作奠定了坚实的基础。第三部分介绍代码骨架和模式,理解它们有助于开发使用Web数据以及Android 4 用户界面规范和API的应用开发。第四部分涵盖一些非常实用的内容,包括Android多媒体、搜索、定位、传感器和账户API,以及原生开发工具箱,支持开发人员添加高级功能。

图书目录

前言 1

第一部分 工具和基础

第1章 Android SDK的安装和系统需求 7

Android SDK的安装和系统需求 7

小试牛刀:确认安装是否能够正常工作 16

SDK的组件 24

保持版本最新 30

示例代码 32

关于代码阅读 34

第2章 Android开发之Java必备基础 35

Android正在重塑客户端Java 35

Java类型系统 36

作用域 57

Java编程惯例 61

第3章 Android应用的主要组件 76

活动、意图和任务 77

其他Android组件 79

组件生命周期 83

静态应用资源和上下文 86

Android应用时运行的环境 94

扩展Android 97

Android中的并发编程 102

序列化 116

Parcelable 118

第4章 应用发布之前的准备工作 124

应用签名 124

把应用投放到Android市场 132

其他发布 134

Google地图API密钥 138

指定API级别的兼容性 139

兼容不同的屏幕类型 139

第5章 Android软件开发工具Eclipse 141

Eclipse相关的概念和术语 142

Eclipse视图和透视图 146

Eclipse中的Java编程 149

Eclipse和Android 151

预防Bug并保持代码整洁 151

Eclipse特性和替代品 159

第二部分 Android框架

第6章 构建视图 163

Android GUI架构 163

组装图形界面 167

控制器布局 172

菜单栏和活动栏 190

视图调试和优化 193

第7章 Fragment和跨平台支持 195

创建Fragment 196

Fragment生命周期 199

Fragment管理器 200

Fragment事务 201

Support Package 206

Fragment和布局 207

第8章 二维和三维图形的绘制 214

自己动手开发部件 214

Bling 235

第9章 数据处理和数据持久化 249

关系数据库概览 249

SQLite 250

SQL语言 250

Android应用中的SQL和数据库为中心的数据模型 260

Android数据库类 261

Android应用的数据库设计 262

使用数据库API:MJAndroid 265

第三部分 Android的框架应用

第10章 运行良好的应用框架 279

对生命周期进行可视化 279

Fragment生命周期可视化 290

Activity类和运行良好的应用 293

Application类的生命周期方法 294

第11章 构建用户界面 297

Top-Level设计 298

用户界面的可视化编辑 300

从白板开始 301

Fragment布局 305

折叠和展开可扩展的UI界面 307

使得Activity、Fragment、Action Bar和多布局能够一起工作 314

其他活动 317

第12章 使用内容提供者 321

理解内容提供者 322

定义提供者的公用API 325

编写并集成内容提供者 330

文件管理和二进制数据 331

Android MVC和内容查看器 333

一个完整的内容提供者代码:SimpleFinchVideoContentProvider 334

声明自己的内容提供者 342

第13章 内容提供者作为RESTful Web服务的Facade 343

开发RESTful类型的Android应用 344

Network MVC 345

Network MVC方式的优点小结 346

代码实例:动态列出并缓存YouTube视频内容 348

Finch YouTube视频示例的源代码结构 348

视频搜索应用的各个步骤 349

步骤1:UI获取用户输入 350

步骤2:控制器监听事件 350

步骤3:控制器调用内容提供者(即模型)的managedQuery 351

步骤4:实现RESTful请求 351

第四部分 高级话题

第14章 搜索 373

搜索界面 373

查询建议 382

第15章 地理位置和地图定位 389

基于地理位置的服务 390

地图定位 391

Google Maps Activity 391

MapView和MapActivity 392

使用MapView 392

MapView和MyLocationOverlay初始化 393

暂停和恢复MapActivity 396

通过菜单按钮控制地图 397

通过键盘操作地图 399

没有地图的地理位置 400

街景(StreetView) 408

第16章 多媒体 410

音频和视频 410

播放音频和视频 411

录制音频和视频 415

存储的媒体内容 421

第17章 传感器、NFC、语音、手势和可访问性 422

传感器 422

近场通信 427

手势输入 438

可访问性 440

第18章 通信、身份认证、同步和社交媒体 442

账户信息 442

认证和同步 445

蓝牙 460

第19章 Android本地开发工具箱 476

本地方法和JNI调用 477

Android NDK 478

NDK提供的本地库文件和头文件 482

编译自己定制的库模块 484