出版时间:2009-11 出版社:人民邮电 作者:王世江 页数:281
Tag标签:无
前言
本书的第一版出版后,出乎意料地引爆了学习Android平台的热潮,热卖程度超出预期。本书能这么快得到宝贵的改版机会,也要感谢Android平台快得出奇的发展。在本书第一版出版时,市面上还只有一款尚未发售的G1,而几个月后的今天,Magic手机已经发售,而且据统计在今年内全球总共将要发布20款Android新手机。本次的改版中,除了配合最新版本开发工具的操作方式来改写本书外,同时也修改了诸多范例程序代码的配置、加入更多的小技巧与说明,修改了第一版谬误之处,并额外增加了几章新内容,期望读者能更顺畅地通过本书,学习Android平台所需的入门知识。Android目前的发布周期相当快,2008年11月发布1.0版,2009年2月发布1.1版,2009年5月发布1.5版,顺着这个时程推测,接下来可能每三个月都有一个新版出来。以Google过去其他产品的改版记录而言,Android算是其中改版速度最快的产品之一。一般以年为单位的书籍出版周期也将难以赶上改版速度。在年初刚出版支持1.1版的书籍,年尾书中许多内容却过时了。除了手机之外,Android系统也将应用于嵌入式与手持设备。在这急速演进的过程中,各种高级的功能、API都有很大的可能被修改,或是为了设备的需求而在功能上有所增减。例如在大部分的嵌入式设备中,手机相关功能就用不到了。如何能协助读者最高效地学习Android平台,一直是笔者在写作时追求的目标。“生命应该浪费在美好的事物上”。在这个信息爆炸的年代,人的学习时间有限,而Android平台的各种高级功能却不停地增加着。这种情况下,应该把边苦读各种API范例教学边发呆的时间尽可能省下来,用这些省下来的时间去苦练基本功或实际编写应用程序,是更有效率的学习方式。笔者认为要驾驭这个不断发展的平台,只需踏实学好本书中所教的实用基础知识。在需要特定功能时,Google的“搜索”功能也这么方便,通过官方http://developer.and.roid.com网站查找所要的功能,然后应用到程序中即可。若能实际通过Google Code网站http://code。google.com/hosting/,下载世界各地开发者发布的项目原始代码,参照或应用在自己的程序中,学习效果会更佳。
内容概要
本书是一本快速入门指南,旨在帮助读者迅速由入门晋级到实际应用,学会Android平台的应用程序设计。 本书共分6个主题41章,每章皆以实例为主轴,介绍在实际编写应用程序时将经常使用到的功能,并配合相关的概念讲解。内容包括Android开发工具的安装与使用、Android应用程序界面编写、通过重构让应用程序更容易扩展与维护、以用户为导向设计手机应用程序、发布应用程序、SQLite数据库应用、地图与定位功能等。随书光盘中包括了所有范例的程序代码。 本书讲述由浅入深,由Android的基础知识到实际开发应用,结构清晰、语言简洁,非常适合Android的初学者以及还不熟悉Java语言和J2ME开发经验的程序开发人员阅读参考。
书籍目录
第1篇 入门篇 第1章 初探Android 1.1 Android是什么 1.2 Android简史 1.3 从创意开始 1.4 参考资料 第2章 安装Android开发工具 2.1 系统需求 2.1.1 操作系统 2.1.2 必要开发工具 2.1.3 其他开发环境工具(非必要安装) 2.2 安装流程 2.3 参考资料 第3章 打开现有项目 3.1 打开项目 3.2 删除项目 3.3 导入项目 3.4 修复项目 3.5 修改对应的目标版本 3.6 参考资料 第4章 操作Android模拟器(Emulator) 4.1 设置环境参数 4.2 设置Android模拟器 4.3 使用命令行工具管理模拟器 4.3.1 列出模拟器类型 4.3.2 创建模拟器 4.3.3 列出已创建的模拟器 4.4 使用运行(Run)模式运行 4.5 操作Android模拟器 4.5.1 切换模拟器布局 4.5.2 切换屏幕 4.5.3 添加模拟器外观设置 4.5.4 删除模拟器外观设置 4.5.5 移除程序 4.5.6 移除模拟器 4.6 参考资料 第5章 创建一个Android应用程序 5.1 创建新项目 5.2 程序项目架构 5.2.1 src/:源代码(source)目录 5.2.2 gen/:自动生成(Generate)目录 5.2.3 res/:资源(Resource)目录 5.2.4 Android功能列表 5.2.5 “Android版本号/”参考函数目录 5.3 参考资料 第2篇 基础篇 第6章 描述用户界面 6.1 身高体重指数(BMI)计算 6.2 表达用户界面 6.3 参考资源 第7章 设计用户界面 7.1 视图(View) 7.2 查阅文件 7.2.1 线上文件 7.2.2 脱机文件 7.3 开始设计 7.4 整合 7.5 指定输入类型(InputType) 7.6 视觉化的界面开发工具 7.7 参考资料 第8章 访问标识符号 8.1 android:id属性 8.2 XML说明文件与R.java资源文件 8.3 将字符串抽离XML 8.4 新增XML文件 8.5 参考资料 第9章 解读程序流程 9.1 基础程序逻辑结构 9.2 参考函数库 9.3 参考资料 第10章 完成BMI程序 10.1 完整的程序 10.2 程序解读 第3篇 提高篇 第11章 重构程序 11.1 什么是重构 11.2 重新查看BMI应用程序 11.3 MVC模式 11.4 重构BMI应用程序 11.5 完整的Bmi.java程序 代码 11.6 参考资料 第12章 添加对话框(Dialog) 12.1 设计对话框 12.2 定义调用点 12.3 实体对话框 12.4 重构 12.5 添加按钮 12.6 Toast界面组件 12.7 错误处理 12.7.1 讲解 12.7.2 提取字符串 12.8 参考资料 第13章 查看线上内容(Uri) 13.1 打开网页 13.1.1 讲解 13.1.2 使用Uri查看Google地图 13.2 再做好一点(重构) 13.2.1 提取字符串 13.2.2 避免出错 13.3 参考资料 第14章 添加菜单(Menu) 14.1 菜单功能 14.2 创建菜单 14.2.1 装饰选项 14.2.2 使用内置的菜单图标 14.3 处理选项动作 14.4 参考资料 第15章 定义Android列表(Manifest) 15.1 Android框架 15.2 预设的Activity列表 15.3 参考资料 第16章 添加新活动(Activity) 16.1 Activity的分类 16.2 独立的Activity 16.3 程序中创建新的Activity类文件 16.4 在列表中添加Activity代码 16.5 手动添加Activity标签 16.6 修改页面标题文字 16.7 原Activity类中添加startActivity函数 第17章 传送数据到新意图(Intent) 17.1 使用Intent传递数据 17.2 使用Intent接收信息 17.2.1 相关工作 17.2.2 在Activity中解开信息 17.2.3 讲解 17.3 不通过Bundle交换信息 第18章 信息提醒(Notification) 18.1 状态栏提醒 18.2 使用状态栏(Notification Bar)传递信息 18.3 使用内置的状态图标 18.4 参考资料 第19章 日志与调试(Log) 19.1 在程序中加上调试信息 19.2 导入Log函数 19.3 实际应用 19.3.1 讲解 19.3.2 其他的记录标记方式 19.3.3 延伸使用 19.4 在调试环境中查看除错信息 19.4.1 启动模拟器 19.4.2 切换到查错环境配置 19.4.3 添加信息日志过滤器(Log Filter) 19.5 模拟器上的调试设置 19.6 管理日志 19.7 在实机上调试 19.8 参考资料 第20章 活动的生命周期LifeCycle 20.1 生命周期 20.2 进程 20.3 为什么要了解生命周期? 20.4 Activity的状态 20.4.1 Active(活动) 20.4.2 Paused(暂停) 20.4.3 Stopped(停止) 20.4.4 Dead(已回收或未启动) 20.5 系统内存不足时的行为 20.6 观察Activity运行流程 20.7 Activity运行流程 20.7.1 一般启动 20.7.2 调用另一个Activity 20.7.3 返回原Activity 20.7.4 退出结束 20.7.5 回收后再启动 20.8 参考资料 第21章 优先级(Preference) 21.1 使用优先级设置 21.2 保存优先级设置 21.3 参考资料 第22章 开发不息 22.1 回顾BMI应用程序 22.2 BMI应用程序设计的缺陷 22.3 展望未来 第4篇 融会贯通篇 第23章 显性设计 23.1 做出容易使用的应用程序 23.2 设计的减法 23.3 规划应用程序的目标 23.4 创建新项目 23.4.1 XML说明文件 23.4.2 文字字符串文件 23.4.3 程序代码 第24章 支持多国语言 24.1 抽取文本文件 24.2 让中文、英文多个语言界面并存 24.3 切换语言 24.3.1 设置中切换语系 24.3.2 程序中切换语言 24.4 参考资料 第25章 针对特性配置(Orientation) 25.1 配置资料夹的命名规则 25.1.1 屏幕方向 25.1.2 触控类型(Touc-hscreen type) 25.1.3 文字输入方式(text input) 25.1.4 浏览方式(navig-ation method) 25.1.5 屏幕分辨率 25.2 Android手机配置实例 25.3 指定屏幕方向 25.3.1 配置文件中指定屏幕方向 25.3.2 程序中指定屏幕方向 25.4 参考资料 第26章 使用接口(Adapter) 26.1 接口的概念 26.2 数组接口(Array Adapter)与字符串数组 26.3 数组字符串资源文件 26.4 参考资料 第27章 添加下拉菜单组件(Spinner) 27.1 修改XML说明文件 27.2 添加程序 27.3 记录所选择的优先级 27.4 参考资料 第28章 签发应用程序密钥(Keytools) 28.1 检查列表 28.2 手动导出应用程序 28.3 产生密钥 28.4 签署密钥 28.5 验证密钥 28.6 安装到模拟器 28.7 发布应用程序 28.8 参考资料 第29章 发布到Android Market 29.1 Android Market的运作方式 29.2 注册Android Market 29.3 上传应用程序到Android Market 29.4 查看成果——查看管理界面 29.5 自行提供程序在线下载 29.6 发布到第三方Android应用程序下载网站 29.7 针对用户作设计 29.8 参考资料 第5篇 数据库应用 第30章 添加列表活动(ListActivity) 30.1 分析记事本程序 30.2 创建新项目 30.3 修改程序代码 30.3.1 讲解 30.3.2 自定义ListView组件 30.3.3 自定义空列表显示内容 30.4 参考内置范例 30.5 参考资料 第31章 使用数据库(SQLite) 31.1 SQLite数据库简介 31.2 查看模拟器目录 31.3 手动创建“SQLite”数据库 31.4 创建数据表(table) 31.5 验证 31.5.1 离开SQLite互动模式 31.5.2 重新打开SQLite数据库 31.6 让Android模拟器通过Proxy上网 31.6.1 查询数据 31.6.2 添加数据 31.6.3 确认数据 31.6.4 更新数据 31.6.5 删除数据 31.7 参考资料 第32章 访问数据表(SQLite OpenHelper) 32.1 SQLiteOpenHelper 32.2 对NotesDbAdapter类加工 32.3 使用NotesDb Adapter类 32.3.1 讲解 32.3.2 验证 32.4 添加查询 32.5 完整的程序 32.6 参考资料 第33章 添加增删改查操作(CRUD) 33.1 检索(Retrieve) 33.1.1 讲解 33.1.2 验证 33.2 添加(Create) 33.2.1 讲解 33.2.2 验证 33.3 删除 33.4 查询单条记录、修改 33.5 参考资料 第34章 添加相依的活动(Activity ForResult) 34.1 定义XML说明文件 34.2 添加编辑类 34.3 将新Activity添加列表 34.4 打开编辑页面 34.5 完整的程序 34.6 参考资料 第35章 添加长按菜单(ContextMenu) 35.1 添加长按菜单框架 35.2 填入菜单内容 35.3 后续改进 35.4 参考资料 第6篇 地图与定位应用 第36章 申请Google地图服务(API Key) 36.1 取得地点坐标 36.2 取得Google地图开发密钥(API Key) 36.2.1 调试用密钥(debug keystore)的位置 36.2.2 取得MD5指纹信息 36.3 参考资料 第37章 使用地图(MapView) 37.1 Google地图的组成元素 37.2 创建新项目 37.3 定义列表 37.4 定义XML资源文件 37.5 产生地图 37.6 直接用程序定义界面组件 37.7 控制地图 37.8 添加缩放图标 37.8.1 修改XML说明文件 37.8.2 加上缩放控制(Zoom Controls) 37.9 新版的改进 37.10 参考资料 第38章 添加按键控制(KeyEvent) 38.1 添加菜单 38.2 添加按键控制 38.3 控制缩放范围 38.4 参考文件 第39章 获取现在位置(GPS/基站三角定位) 39.1 创建新项目 39.2 添加使用权限(uses-permission) 39.3 定义LocationListener界面 39.4 使用定位服务管理器(locationManager)来获取现在位置 39.4.1 讲解 39.4.2 自动判断最佳定位服务来源 39.5 更新地点(Location Updates) 39.6 在模拟器中切换地点 39.7 完整的程序 39.8 参考资料 第40章 结合地图与定位功能(My LocationOverlay) 40.1 添加定位层(MyLocation Overlay) 40.2 参考资料 第41章 为地图标上地标(Itemized Overlay) 41.1 设置图标层(Itemized Overlay) 41.2 添加图标层 41.3 地图开发备忘列表 41.4 参考资料 后记 附录A 如何取得范例源代码
章节摘录
插图:地图确实是个让人充满想象的媒介。这年头只要是智能型手机,上面几乎都有“Google地图”(Google Map)可使用。用户可以通过在Google地图中输入地址或地标来搜索目标地点。使用Google地图可以取得目标地附近的地图、查询行车路线,或是列出附近的建筑物空照图(卫星图)、查看街景(StreetView)等等功能.也可以搭配GPS等定位系统,来查询目前位置附近的信息.在Android平台上,我们不仅可以使用基本的Google地图,还可以基于Google地图服务所提供的地图资料,进一步自定义“MapView”界面组件(Google地图的基本组件)中的各种元素,编写不同的地图应用程序。并通过“定位”、“电子罗盘”等功能,结合Android平台的随身与移动特性,做出具个性化、区域性的独特地图与各种充满想象力的定位应用程序。我们将使用.Android极富特色的地图与定位功能,以“火车站导览”应用程序为范例,编写地图与定位应用程序。我们将使用以Google地图为基础的“MapView”组件,组合出一个简单的火车站导航应用程序.可以在列表中选择北京、上海、广州车站,并查看车站附近的地图.36.1 取得地点坐标讲到使用地图,就会谈到地图坐标的表示法,地图坐标的表示法是我们编写地图程序的基础。传统上常见的地图坐标表示法,是把整个椭圆形的地球表面,由北极到南极,等分画上一个个南北向的圆圈。表示所在地南北方向的“纬度”(latitude).再将南北级连接成一条条线,以通过英国格林威治天文台所在地的线为0°线(东经、西经各180°),来表示所在地相对东西方向的“经度”(longitude)。
后记
在千变万化的潮流中,最重要的就是以不变应万变。 在简单易学和提供完整详尽的信息之间,总是很难达到平衡。开始写作后才发现:基础的东西学起来很简单,而解释起来,不但要把握住核心概念与细节,还得避免“离题”到其它较深入的地方,以致吓坏了初学者,这实在是件很不容易的事情。随着写作内容的深入,要保持本书学习简单、前后连贯的风格,写作上当然也碰到越多麻烦。对作者本人来说,支撑着我们克服诸多障碍的支柱,是继续朝着“帮助以中文为母语的开发者,更快上手Android应用程序开发”的初衷前进,终至完成本书。在本书的入门、初级、中级的主题中,讲解了如何编写Android界面、代码;如何添加菜单;与应用程序如何在多个Activity之间切换等内容。了解了这些内容,已足够我们写出一般的Android应用程序。在融会贯通的主题中,通过实战性的操作带读者走了一遍开发应用程序的流程。最后两个数据库应用、地图与定位应用的主题,则帮助读者了解Android平台上完整地保存数据方式,与如何应用地图与定位服务。笔者敢说自己已勉强达到了让本书简单易学的目标,但是在精力与写作时间、篇幅之间取舍,还是谨慎地过滤掉太多繁杂的内容,只留下精华放在书中。Android是个完整的平台,还有诸多内容值得研究。一些高级的主题,如应用程序间共享内容(Content:Provider)、服务(Service)、整合网络服务、浏览器脱机应用程序、相机与条形码、动作感应、手势感应、3D、绘图、游戏、影音、通话与短信等等,就不在定位为“入门”的本书中提及。相信读者在读完本书后,将具备充足的基础知识,能充满信心地根据自己的需求,继续学习这些高级的主题。Android平台相当年轻,且充满活力。每隔一阵子,都会有新的功能冒出来。本书提供了一个相当好的入门砖,让您跨过Android平台的入门障碍。 然而想要再高级,仍然必须学习查看英文数据。
编辑推荐
《Google Android开发入门指南(第2版)》全部内容基于Android SDK1.5Windows、MacOS X、Linux平台适用Android开发入门的详细教程,适合Android与J2ME的初学者学习,以编写实例为教学主线,真正助您解决开发中遇到的诸多实际问题。Android核心开发团队成员程本中、知名Android讲师卢育圣鼎力推荐。贏在3G,“赢”向用Android开发的无限商机《Google Android开发入门指南(第2版)》特色在可预见的将来,基于Android平台的手持设备程序设计,将像今日的PC程序设计一样普及。还不熟悉JaVa语言,但也想快速学会Android应用程序开发?《Google Android开发入门指南(第2版)》为您降低Android开发入门的台阶。跟随着拥有Android Market单一程序下载量超过20万人次的开发者,用最短的时间循序渐进地学会必要的Android应用程序开发基础知识,然后……开始开发吧!《Google Android开发入门指南(第2版)》在您学习Android应用程序开发的过程中,处处以实例为导向,于需要处时才对相关概念进行详细的解说。为初学者掌握Android开发提供了一条快速入门的捷径。
图书封面
图书标签Tags
无
评论、评分、阅读与下载