Learning Android(中文版)

出版时间:2012-7  出版社:电子工业出版社  作者:马尔科·加尔根塔  页数:261  字数:426000  译者:李亚舟,任中龙,杜钢  
Tag标签:无  

前言

  本书源自于Marakana Android 训练营几年来的培训课程,其学员包括数千名工作于全球四大洲中顶尖移动设备公司的软件开发人员。在教授这门课程的过程中,随着时间的推移,我逐渐发现了其中有效与无效的内容。在Marakana开发了Android训练营培训课程之后,我又对其进行了数次巨大的调整,终于将其中的精华凝结为此书。  在Java还未被称为Java之前,我就已经开始使用它了。从一开始,我就对嵌入式开发非常感兴趣,因为这样我就可以在日常生活中的各种设备上编程。后来Java在Web应用开发领域中得到极大发展,因此我之前十年的经验主要集中在构建大型企业系统上。然后Android出现了,我再一次兴奋地投入到为非计算机设备开发软件的工作中。而我现在的兴趣,是在那些甚至不是手机的设备上使用Android。  本书会向了解Java(或者某种相似的语言)的人,讲解如何开发一个适度复杂的Android应用程序。我希望你能够感到本书非常容易理解,并且以实例为基础的学习过程能让你感到相当有动力。本书的目标是使你按照Android的方式来“思考”。  内容简介  第1章,Android概述  简单介绍Android及其历史。  第2章,Android的架构  从全局的角度概括地介绍了Android操作系统及其各部分。  第3章,快速入门  帮助你配置Android应用程序开发环境。  第4章,基本构件  讲解开发人员用于创建一个应用程序的Android组件。  第5章,Yamba项目简介  讲解我们会贯穿全书的Yamba应用程序,并通过一个例子来学习Android的诸多特性。  第6章,Android用户界面  讲解如何为你的应用程序设计用户界面。  第7章,首选项、文件系统、选项菜单及Intent  介绍一些操作系统中能够简化开发人员工作的特性。  第8章,服务  介绍如何创建一个Android服务来处理后台任务。  第9章,数据库  讲解Android框架对内置SQLite数据库的支持,以及如何在你的应用程序中使用其来保存数据。  第10章,列表与适配器  介绍Android的一个重要特性,它允许大数据集合高效地链接较小的屏幕。  第11章,广播接收器(Broadcast Receiver)  介绍了如何应用Android中的“发布-订阅”机制来响应系统和用户定义的各种消息。  第12章,内容提供器(Content Provider)  介绍如何设计一个内容提供器在应用程序之间共享数据,在本章中,我们将通过它来让应用程序小部件在主屏幕上显示数据。  第13章, 系统服务  介绍可供开发者利用的一些系统服务。  第14章,Android接口描述语言(AIDL)  介绍如何构建一个进程间通信机制,使得另一个应用程序可以远程访问一个服务。  第15章,Native Development Kit(NDK)  介绍在你的应用程序中编写本地C代码。  致谢  本书之付梓面世离不开大家的协作。首先,要感谢O'Reilly的编辑Andy Oram和BrianJepson。Andy,你的建议总是一针见血,让我受益良多。Brian,感谢你说服我开始本书的写作。  感谢我的所有技术编辑:Dan Bornstein、Hervé Guihot、Frank Maker III和Bill Schrickel。感谢你们孜孜不倦地审读我未成形的原稿,以及你们提供的宝贵建议。  没有我们在大量客户端上所做的实际测试,本书肯定不是现在的样子。你们绝对是Android的先驱者,你们的项目令人印象深刻。感谢你们的信任。  感谢我在Marakana的团队:Aleksandar (Sa·a) Gargenta、Ken Jones和Laurent Tonon。你们使用本书的原稿作为Android Bootcamp的教材,并给了我第一手的反馈。这里要特别感谢曾多次督促我回到写字台的Sa·a:如果没你深刻的技术评论,本书很可能几个月就草草了事了。  最后,深深地感谢我深爱的妻子Lisa和女儿Kylie。我知道当我一心扑在写作上时你们所做出的牺牲。感谢你们对我一如既往的支持。

内容概要

  《Learning
Android(中文版)》为Android开发入门图书,循序渐进地介绍了如何利用Android基本构件来实现构造用户界面、存储数据、连接网络等实践中必不可少的需求。本书以亲手实现一个类Twitter的应用为主线,通过不断为其添加功能展开讲解。而这一学习过程积累出的代码模式库,可以灵活运用于真实Android应用开发。本书内容包括但不限于:Android平台概览、Android设计架构、Android开发环境配置、基本Android的用户界面构建、UI元件组织方法、构建执行后台任务与更新数据的服务、AIDL与NDK介绍等。

作者简介

  Marko Gargenta,是旧金山Marakana培训公司的创始人与首席Android专家。他创建了Android
Bootcamp与AndroidInternals两门课程,并培训了来自四大洲超过1000名开发者。他的客户包括高通、索尼爱立信、摩托罗拉、夏普、思科与美国国防部。

书籍目录

前言
第1章 Android概述
概述
完整性
开源平台
为移动设备而设计
历史
Google的动机
开放手持设备联盟
Android的版本
总结
第2章 Android的架构
架构概述.
Linux系统
可移植性
安全性
丰富的特性
本地库
Dalvik 虚拟机
Android与Java
应用程序框架
应用程序
APK文件
应用程序签名
应用程序发布
总结
第3章 快速入门
安装Android SDK
设置PATH环境变量
安装 Eclipse
Eclipse的工作区
安装Android 开发工具
Hello, World程序
创建新项目
Manifest文件
Layout(布局)XML代码
Strings(字符串)文件
R(资源)文件
Java源码文件
仿真器
仿真器和真机
总结.
第4章 基本构件
什么是基本构件
一个实际的例子
活动(Activity)
活动的生命周期
Intent
服务(Service)
内容提供器(Content Provider).
广播接收器(Broadcast Receiver)
应用程序上下文(Application Context)
总结.
第5章 Yamba项目简介
Yamba 应用程序
设计原则
项目设计
第1部分:Android用户界面
构建一个活动
网络和多线程
调试Android 程序
第2部分:首选项、文件系统、选项菜单及Intent 活动
菜单系统与Intent.
文件系统
第3部分:Android服务
服务应用程序对象
第4部分:使用数据库.
SQLite及Android对它的支持
再次重构代码
第5部分:列表(List)与适配器(Adapter)
时间轴(Timeline)活动
再重构一次
第6部分:广播接收器(Broadcast Receiver)
启动接收器与网络连接接收器
时间轴(Timeline)接收器
权限
第7部分:内容提供器(Content Provider)
状态数据
Android小部件
第8部分:系统服务
指南针与位置
Intent服务、提醒及通知、总结
第6章 Android用户界面
创建用户界面的两种方法
声明式的用户界面
编程式的用户界面
各取所长
控件与布局
LinearLayout
TableLayout
FrameLayout
RelativeLayout
AbsoluteLayout
启动Yamba项目
StatusActivity布局
控件的重要属性
字符串资源
StatusActivity Java类
编写具体应用的对象,以及初始化相关代码
保存文件:编译代码和构建项目
添加库jtwitter.jar
更新Manifest文件,获取Internet权限
Android的日志机制
LogCat
Android的线程机制
单线程执行
多线程执行
AsyncTask.
其他UI事件
添加图片与色彩
添加图片
添加色彩
多版本资源文件
优化用户界面
Hierarchy Viewer 工具
总结
第7章 首选项、文件系统、选项菜单及Intent
首选项
资源文件
PrefsActivity类
修改Manifest文件
选项菜单
菜单的资源文件
Android系统资源.
更新StatusActivity,加载菜单
更新StatusActivity,捕获菜单事件
字符串资源
Shared Preferences
文件系统简介
浏览文件系统
文件系统的分区
系统分区
SDCard 分区.
用户数据分区
文件系统的安全机制
总结
第8章 服务
Yamba的Application对象
YambaApplication类
更新Manifest文件
简化 StatusActivity
UpdaterService
创建 UpdaterService Java类
更新Manifest文件
添加菜单项
更新选项菜单的事件处理
测试服务
在服务中循环
测试服务
从 Twitter 读取数据
测试服务
总结
第9章 数据库
关于 SQLite
DbHelper类
数据库模式及其创建
4种主要操作
游标
第一个例子
修改UpdaterService
测试服务
数据库约束
重构数据库访问
总结
第10章 列表与适配器
TimelineActivity
TimelineActivity的基本布局
ScrollView简介
创建TimelineActivity类
关于适配器
为TimelineActivity添加ListView
创建一个单行消息布局
在TimelineActivity.java中创建适配器
TimelineAdapter
ViewBinder: 取代TimelineAdapter的更好选择
更新Manifest文件
程序初始设置
Base Activity
服务开关
总结
第11章 广播接收器(Broadcast Receiver)
关于Broadcast Receiver
BootReceiver
将BootReceiver注册到AndroidManifest文件
测试 Boot Receiver
TimelineReceiver
广播Intent.
Network Receiver.
添加用于发送和接收广播的自定义权限
在Manifest文件中声明权限
为更新服务应用权限机制
为TimelineReceiver应用权限机制
总结
第12章 内容提供器(Content Provider)
创建Content Provider.
定义URI
插入数据
更新数据
删除数据
查询数据
获取数据类型
更新Android Manifest文件
在小部件中使用Content Provider
实现YambaWidget类
创建XML布局
创建AppWidgetProviderInfo文件
更新Manifest文件
测试小部件
总结
第13章 系统服务
实例:指南针.
使用系统服务的一般步骤
获取指南针的更新
指南针的主活动
自定义的表盘小部件
位置服务
实例: Where Am I
用上位置服务,重构Yamba
更新首选项
更新Yamba程序.
更新Status Activity
Intent服务
Alarms
在首选项中添加Interval选项
更新BootReceiver
发送通知
总结
第14章 Android接口描述语言.
实现远程服务
编写AIDL
实现服务
实现一个Parcel
注册到Manifest文件
实现远程客户端
绑定到远程服务
测试运行
总结
第15章 Native Development Kit (NDK)
NDK是什么
NDK的功能
工具链
打包库文件
文档与标准头文件
NDK实例:计算菲波那契数列
FibLib
JNI 头文件
C 实现
Makefile
构建共享库
Fibonacci Activity
测试所有的工作
总结
索引

章节摘录

版权页:   插图:   如上,这都是一些很直接的需求。通过使用Android提供的构件,你可以轻松地将以上需求分解成各个概念性的单元,从而单独实现它们,然后再将它们拼起来形成一个完整的包。 活动(Activity) 一个活动(activity),通常是用户在某一时刻,存设备上看到的单独界面。一个应用程序通常含有多个活动,用户可在其间进行切换。对用户而言,这就是程序的外观部分。我通常使用网站来比喻活动。就像一个含有多个网页的网站一样,Android程序也包含多个活动。如同网站有一个“主页”一样,Android程序也有一个“主活动”(mainactivity)——通常是启动程序时显示的第一个界面。为了方便用户在多个页面之间跳转,网站会提供导航功能,Android程序也应该有同样的功能。 在网络上,你可以从某网站的一个页面跳转到另一个网站的页面。类似地,在Android中,你可以在一个应用程序中查看某个活动,随后又可以启动另一个完全独立的应用程序中的其他活动。例如,在联系人应用程序中,你选择向某个朋友发送信息,然后就会启动短信息应用程序的活动,供你书写短信息。 活动的生命周期 启动一个活动可能会消耗大量资源。它可能会涉及新建一个Linux进程、为UI对象申请内存空间、从XML布局填充所有对象,以及创建整个界向。既然我们在启动一个活动上花费了这么多工夫,一旦用户离开该界面,如果只是将它销毁那就实在太浪费了。为了避免这种浪费,Android通过活动管理器(Activity Manager)来管理活动的生命周期。 活动管理器负责创建、销毁和管理活动。例如,当用户第一次启动了一个应用程序,活动管理器会创建它的活动,并将活动显示到界面上。随后,当用户切换界面时,活动管理器会将之前这个活动移动到其他地方。这样,如果用户想退回到之前的活动,就可以更加快速地启动这个活动。用户不再使用的旧活动,过一段时候后会被销毁,以便为当前活动释放更多的空间。这个机制可以帮助提高用户界面的速度,并改进整个用户体验。

编辑推荐

《Learning Android(中文版)》是由电子工业出版社出版。

图书封面

图书标签Tags

评论、评分、阅读与下载


    Learning Android(中文版) PDF格式下载


用户评论 (总计19条)

 
 

  •   不像是一本教程,而是一本,只是介绍了一些概念,不知道怎么退书?
  •   本来想买一本详细的介绍android的,这本书就是大概的介绍了一下,没有详细的内容,没有太大帮助!
  •   只是介绍了下安卓,但是不够详细。
  •   很早就买了这本书,第一次因为忙只看了一点就看不下去了,这次是过年的时候才用闲暇的时间看完,算是对得起书钱不像国内的各种大而全的教科书似的教程,不是那种可以查阅的字典而且例子用的也是被墙的twitter但是开发这个例子的过程跟真实开发差不多,而且前期不难,容易勾起兴趣,基本的东西走了一遍有点师傅领进门,剩下的靠自己去研究的意思恩,就这么多了,业余时间开始玩小程序了
  •   同学推荐的android书 看着不错
  •   书很好,就是内容少了点。
  •   这本书,真的是适合入门,把Android的基本技术要点都说明白了。学习Android,建议买这本书先入门,搞懂Android的基本概念和基础技术。有Android基础的朋友,要想更深入地学习,这本就不合适了。
  •   做了很久的iOS开发,想大致了解下Android平台,翻翻此书,尚可!但翻完后,要想真正能够动手写商业项目,还不够!毕竟薄薄的一本,覆盖的内容有限!
  •   只能算本参考书吧,不系统。
  •   不错的书,O开头的,值得信赖!
  •   书是好书,翻译\内容本身没什么问题,但感觉这本书更适合已经有过多年Java开发经验现在想转Android的人看,或者学完了Android基础再看(不过本书本身也是基础,不过侧重点在实践),如果是刚刚学完JavaSE基础正准备选择Android这个分支的话,不建议看这本...硬看的话有很多地方都是知其然不知其所以然,比如用XML做静态窗体,书上会说什么属性有什么... 阅读更多
  •   用来入门还行,就是尼玛书是皱的是怎么回事。
  •   内容虽然比较少 但是叙述清楚 可以作为入门书来看 深入学习还需要其他资料
  •   活动入手的书
  •   精简好用,入门好书
  •   学好安桌挣钱
  •   Android目前很流行,但会延续多久?
  •   和亚马逊差不多,库房管理有待加强
  •   了解一下安卓
 

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

京ICP备13047387号-7