词条 | AndroidOPhone快速开发完全讲义 |
释义 | 基本信息作者:李宁 出版社:中国水利水电出版社 ISBN:9787508475271 出版日期:2010 年6月 开本:16开 页码:466 版次:1-1 编辑推荐国内覆盖面最广的Android开发指南 国内第一同时涉及Android和OPhone技术的参考手册 全书贯穿Android 1.5至Android 2.1五大Android版本的重要特性 超过200个实际案例,提供完美的实战环境 大量有价值的代码可以直接用于实际的项目 一线开发人员倾力之作,使全书的内容更接近实战 完整的综合应用案例,理论与实战相结合 内容简介本书是国内第一本同时介绍android和ophone的经典著作,国内著名android社区eoeandroid极力推荐。 本书内容全面,详细讲解android框架、android用户接口、android组件、android的数据存储解决方案、android的4种可跨平台通信的组件(activity、service、broadcast和contentprovider)、网络、绘图、多媒体、2d动画、opengl es、资源、国际化、访问android手机的硬件、实时壁纸、实时文件夹、ndk(利用c/c++开发可运行在android上的应用程序)、脚本语言(python、lua、perl等)、手势输入、文字语音转换(tts)、蓝牙及ophone平台的技术。除此之外,在ofhone平台中内嵌了一种新的sdk:jil widget。这种技术可以只使用html、css、javascript等web技术来编写可运行在ophone上的程序。为了使读者更早进入实战阶段,在本书的最后给出了两个完整的例子:“万年历”和“知道当前位置的google gtalk机器人”。 本书适合有一定的java基础,想通过android进入移动开发领域的读者:已经有一定的android开发经验,想进一步提高android的开发能力的读者;想将本书作为android的参考手册,随时随地查阅的读者;对android报有浓厚兴趣的其他手机平台的开发人员;正在学习android的在校大学生以及培训学校的学员。 作译者李宁,高级软件工程师,毕业于东北大学,获硕士学位。曾任职于东软集团,担任项目经理一职。有10余年的软件开发经验,主持或参与开发了全国计算机等级考试考务管理系统、超市前台销售和后台管理系统、辽宁省实验中学后勤管理系统、网上评卷系统等各种大型系统。曾为《程序员》、《电脑编程技巧与维护》、IT168、天极网等杂志或网络媒体撰写了100余篇技术文章。熟悉Java、C/C++、C#、Eclipse、NetBeans、Visual Studio、Delphi等编程语言或开发工具,尤其擅长Java、Eclipse等开发技术。 目录前言 如何使用本书的例子 第一部分 准备篇——大军未动,粮草先行 第1章 android入门 2 1.1 android的基本概念 2 1.1.1 android简介 2 1.1.2 android的系统构架 4 1.2 android开发环境的搭建 5 1.2.1 开发android程序需要些什么 5 1.2.2 安装android sdk 5 1.2.3 安装eclipse插件adt 6 1.2.4 测试adt是否安装成功 6 1.3 android sdk中的常用命令行工具 8 1.3.1 启动和关闭adb服务(adb start-server 和adb kill-server) 8 1.3.2 查询当前模拟器/设备的实例 (adb devices) 8 1.3.3 安装、卸载和运行程序(adb install、 adb uninstall和am) 8 1.3.4 pc与模拟器或真机交换文件(adb pull和adb push) 9 1.3.5 shell命令 9 1.3.6 创建、删除和浏览avd设备 (android) 10 1.3.7 创建sd卡 10 1.4 pc上的android 10 1.4.1 android livecd 11 1.4.2 androidx86 11 1.5 android的学习资源 12 1.6 应用程序商店 12 1.6.1 android market 12 1.6.2 mobile market(mm) 12 1.6.3 其他应用程序商店 13 1.7 本章小结 13 第2章 第一个android程序 14 2.1 编写用于显示当前日期和时间的程序 14 2.1.1 新建一个android工程 14 2.1.2 界面组件的布局 15 2.1.3 编写实际代码 15 2.2 调试程序 18 2.3 签名和发布应用程序 18 2.3.1 使用命令行方式进行签名 19 2.3.2 使用adt插件方式进行签名 19 2.4 ddms透视图 20 2.5 本章小结 21 第二部分 基础篇——android世界的精彩之旅 第3章 android应用程序架构 23 3.1 android应用程序中的资源 23 3.1.1 资源存放在哪里 23 3.1.2 资源的种类 23 3.1.3 资源的基本使用方法 24 3.2 android的应用程序组件 25 3.2.1 活动(activity)组件 25 3.2.2 服务(service)组件 25 3.2.3 广播接收者(broadcast receivers) 组件 26 3.2.4 内容提供者(content providers) 组件 26 3.3 androidmanifest xml文件的结构 26 3.4 本章小结 27 第4章 建立用户接口 28 4.1 建立、配置和使用activity 28 4.1.1 建立和配置activity 28 4.1.2 activity的生命周期 30 实例1:演示activity的生命周期 31 4.2 视图(view) 33 4.2.1 视图简介 34 4.2.2 使用xml布局文件控制视图 34 4.2.3 在代码中控制视图 35 实例2:混合使用xml布局文件和代码 来控制视图 37 4.2.4 定制组件(widget)的三种方式 39 实例3:定制组件——带图像的textview 39 实例4:定制组件——带文本标签的 edittext 42 实例5:定制组件——可更换表盘的指针 时钟 44 4.3 使用alertdialog类创建对话框 49 4.3.1 alertdialog类简介 49 4.3.2 【确认/取消】对话框 49 实例6:创建询问是否删除文件的 【确认/取消】对话框 50 4.3.3 带3个按钮的对话框 51 实例7:创建【覆盖/忽略/取消】对话框 51 4.3.4 简单列表对话框 52 4.3.5 单选列表对话框 53 4.3.6 多选列表对话框 53 实例8:创建3种选择省份的列表对话框 54 4.3.7 水平进度对话框和圆形进度对话框 58 实例9:水平进度对话框和圆形进度 对话框演示 58 4.3.8 自定义对话框 61 实例10:创建登录对话框 61 实例11:使用activity托管对话框 63 实例12:创建悬浮对话框和触摸任何位置 都可以关闭的对话框 64 4.4 toast和notification 67 4.4.1 用toast显示提示信息框 67 4.4.2 notification与状态栏信息 68 4.5 菜单 70 4.5.1 创建选项菜单 70 4.5.2 设置与菜单项关联的图像和 activity 71 4.5.3 响应选项菜单项单击事件的 3种方式 71 4.5.4 动态添加、修改和删除选项菜单 72 4.5.5 创建带复选框和选项按钮的子菜单 73 4.5.6 创建上下文菜单 74 4.5.7 菜单事件 75 实例13:activity菜单、子菜单、上下文 菜单演示 75 4.6 布局 76 4.6.1 框架布局(framelayout) 76 实例14:霓虹灯效果的textview 77 4.6.2 线性布局(linearlayout) 78 实例15:利用linearlayout将按钮放在屏幕 的四角和中心位置 80 4.6.3 相对布局(relativelayout) 81 实例16:利用relativelayout实现梅花效果 的布局 81 4.6.4 表格布局(tablelayout) 82 实例17:计算器按钮的布局 82 4.6.5 绝对布局(absolutelayout) 83 4.7 本章小结 83 第5章 组件详解 84 5.1 显示和编辑文本的组件 84 5.1.1 显示文本的组件:textview 85 实例18:在textview中显示url及不同 字体大小、不同颜色的文本 86 实例19:带边框的textview 88 5.1.2 输入文本的组件:edittext 89 实例20:在edittext中输入特定的字符 90 实例21:按回车键显示edittext 91 5.1.3 自动完成输入内容的组件: autocompletetextview 92 5.2 按钮与复选框组件 93 5.2.1 普通按钮组件:button 93 实例22:异形(圆形、五角星、螺旋形 和箭头)按钮 94 5.2.2 图像按钮组件:imagebutton 95 实例23:同时显示图像和文字的按钮 96 5.2.3 选项按钮组件:radiobutton 96 5.2.4 开关状态按钮组件:togglebutton 97 5.2.5 复选框组件:checkbox 97 实例24:利用xml布局文件动态创建 checkbox 98 5.3 日期与时间组件 100 5.3.1 输入日期的组件:datepicker 100 5.3.2 输入时间的组件:timepicker 100 实例25:datepicker、timepicker与 textview同步显示日期和时间 100 5.3.3 显示时钟的组件:analogclock和 digitalclock 101 5.4 进度条组件 102 5.4.1 进度条组件:progressbar 102 5.4.2 拖动条组件:seekbar 103 实例26:改变progressbar和seekbar 的颜色 104 5.4.3 评分组件:ratingbar 105 5.5 其他重要组件 106 5.5.1 显示图像的组件:imageview 106 实例27:可显示图像指定区域的imageview 组件 107 实例28:动态缩放和旋转图像 108 5.5.2 列表组件:listview 109 实例29:可以单选和多选的listview 111 实例30:动态添加、删除listview列表项 112 实例31:改变listview列表项选中状态 的背景颜色 115 5.5.3 封装listview的activity: listactivity 116 实例32:使用simpleadapter建立复杂 的列表项 116 实例33:给应用程序评分 117 5.5.4 可展开的列表组件: expandablelistview 120 5.5.5 下拉列表组件:spinner 121 5.5.6 垂直滚动视图组件:scrollview 123 5.5.7 水平滚动视图组件: horizontalscrollview 123 实例34:可垂直和水平滚动的视图 124 5.5.8 网格视图组件:gridview 124 5.5.9 可循环显示和切换图像的组件: gallery和imageswitcher 125 5.5.10 标签组件:tabhost 127 5.6 本章小结 128 第6章 移动存储解决方案 129 6.1 最简单的数据存储方式: sharedpreferences 129 6.1.1 使用sharedpreferences存取数据 129 6.1.2 数据的存储位置和格式 131 实例35:存取复杂类型的数据 131 6.1.3 设置数据文件的访问权限 133 6.1.4 可以保存设置的activity: preferenceactivity 134 6.2 文件的存储 137 6.2.1 openfileoutput和openfileinput方法 137 实例36:sd卡文件浏览器 138 实例37:存取sd卡中的图像 142 6.2.2 sax引擎读取xml文件的原理 143 实例38:将xml数据转换成java对象 144 6.3 sqlite数据库 147 6.3.1 sqlite数据库管理工具 147 6.3.2 创建数据库和表 148 6.3.3 模糊查询 149 6.3.4 分页显示记录 149 6.3.5 事务 149 6.4 在android中使用sqlite数据库 149 6.4.1 sqliteopenhelper类与自动 升级数据库 150 6.4.2 simplecursoradapter类与数据绑定 150 实例39:带照片的联系人管理系统 153 6.4.3 将数据库与应用程序一起发布 156 实例40:英文词典 156 6.5 抽象的标准——内容提供者 (contentprovider) 159 实例41:将联系人管理和英文字典集成 到自己的应用中 160 6.6 本章小结 165 第7章 应用程序之间的通讯 166 7.1 intent与activity 166 7.1.1 用intent启动activity,并在 activity之间传递数据 166 7.1.2 调用其他应用程序中的activity(拨打 电话、浏览网页、发email等) 169 7.1.3 定制自己的activity action 172 实例42:将电子词典的查询功能共享成 一个activity action 174 7.2 接收和发送广播 175 7.2.1 接收系统广播 175 实例43:开机可自动运行的程序 176 实例44:收到短信了,该做点什么 176 实例45:显示手机电池的当前电量 178 7.2.2 在自己的应用程序中发送广播 179 实例46:接收联系人系统中发送的添加 联系人广播 180 7.3 本章小结 181 第8章 android服务 182 8.1 service起步 182 8.1.1 service的生命周期 182 8.1.2 绑定activity和service 185 8.1.3 在broadcastreceiver中启动service 187 8.2 系统服务 188 8.2.1 获得系统服务 188 实例47:监听手机来电 189 实例48:来电黑名单 190 8.2.2 在模拟器上模拟重力感应 191 实例49:手机翻转静音 192 8.3 时间服务 194 8.3.1 计时器:chronometer 194 8.3.2 预约时间handler 196 8.3.3 定时器timer 197 8.3.4 在线程中更新gui组件 198 8.3.5 全局定时器alarmmanager 200 实例50:定时更换壁纸 201 实例51:多次定时提醒 203 8.4 跨进程访问(aidl服务) 205 8.4.1 什么是aidl服务 206 8.4.2 建立aidl服务的步骤 206 实例52:建立aidl服务 206 实例53:传递复杂数据的aidl服务 209 8.5 本章小结 213 第9章 网络 214 9.1 可装载网络数据的组件 214 实例54:将网络图像装载到listview 组件中 215 实例55:google图像画廊(gallery) 217 9.2 webview组件 221 9.2.1 用webview组件浏览网页 221 实例56:手机浏览器 221 9.2.2 用webview组件装载html代码 222 实例57:将英文词典整合到web页中 (javascript调用java方法) 224 9.3 访问http资源 225 9.3.1 提交http get和http post 请求 225 9.3.2 httpurlconnection类 227 实例58:上传文件 228 实例59:远程apk安装器 231 9.3.3 调用webservice 232 实例60:通过webservice查询产品信息 233 9.4 本章小结 236 第10章 多媒体 237 10.1 图形 237 10.1.1 图形绘制基础 237 实例61:绘制基本的图形和文本 239 10.1.2 绘制位图 243 实例62:用两种方式绘制位图 243 10.1.3 设置颜色的透明度 244 实例63:可任意改变透明度的位图 245 10.1.4 旋转图像 246 实例64:旋转动画 246 10.1.5 扭曲图像 247 实例65:按圆形轨迹扭曲图像 248 10.1.6 拉伸图像 251 实例66:拉伸图像演示 251 10.1.7 路径 253 实例67:沿着路径绘制文本 256 实例68:可在图像上绘制图形的画板 258 10.2 音频和视频 262 10.2.1 使用mediaplayer播放mp3文件 262 10.2.2 使用mediarecorder录音 263 10.2.3 使用videoview播放视频 264 10.2.4 使用surfaceview播放视频 264 10.3 本章小结 265 第三部分 进阶篇——深入android世界的腹地 第11章 2d动画 267 11.1 帧(frame)动画 267 animationdrawable与帧动画 267 实例69:通过帧动画方式播放gif动画 269 实例70:播放帧动画的子集 271 11.2 补间(tween)动画 273 11.2.1 移动补间动画 273 实例71:循环向右移动的edittext与 上下弹跳的球 275 11.2.2 缩放补间动画 277 实例72:跳动的心 277 11.2.3 旋转补间动画 279 实例73:旋转的星系 279 11.2.4 透明度补间动画 280 实例74:投掷炸弹 281 11.2.5 振动效果 283 11.2.6 自定义动画渲染器(interceptor) 284 11.2.7 以动画方式切换view的组件 viewflipper 285 11.3 本章小结 287 第12章 opengl es编程 288 12.1 opengl简介 288 12.2 构建opengl es的基本开发框架 289 12.3 2d图形绘制 290 12.3.1 多边形 290 12.3.2 颜色 292 12.3.3 旋转 293 12.4 3d图形绘制 294 12.4.1 旋转立方体 294 12.4.2 在立方体上显示纹理 295 12.4.3 光照下的立方体 296 12.4.4 透明的立方体 298 12.5 本章小结 298 第13章 资源、国际化与自适应 299 13.1 android中的资源 299 13.1.1 android怎么存储资源 300 13.1.2 资源的种类 300 13.1.3 资源文件的命名 301 13.2 定义和使用资源 301 13.2.1 使用系统资源 301 13.2.2 字符串(string)资源 302 13.2.3 数组(array)资源 303 13.2.4 颜色(color)资源 305 13.2.5 尺寸(dimension)资源 306 13.2.6 类型(style)资源 307 13.2.7 主题(theme)资源 308 13.2.8 绘画(drawable)资源 309 13.2.9 动画(animation)资源 310 13.2.10 菜单(menu)资源 310 13.2.11 布局(layout)资源 313 13.2.12 属性(attribute)资源 313 实例75:改进可显示图标的icontextview 组件 315 13.2.13 xml资源 316 13.2.14 raw资源 317 13.2.15 assets资源 317 13.3 国际化和资源自适应 318 13.3.1 对资源进行国际化 318 13.3.2 locale与国际化 320 13.3.3 常用的资源配置 320 13.4 本章小结 321 第14章 访问android手机的硬件 322 14.1 在手机上测试硬件 322 14.1.1 安装android usb驱动 322 14.1.2 在手机上测试程序 324 14.1.3 在手机上调试程序 324 14.2 录音 325 14.3 控制手机摄像头(拍照) 326 14.3.1 调用系统的拍照功能 326 14.3.2 实现自己的拍照activity 328 14.4 传感器在手机中的应用 332 实例76:电子罗盘 333 实例77:计步器 334 14.5 gps与地图定位 335 14.5.1 google地图 336 14.5.2 用gps定位到当前位置 339 14.6 wifi 340 14.7 本章小结 342 第15章 放在桌面上的小玩意 343 15.1 窗口小部件(app widget) 343 15.1.1 在android桌面上添加 app widget 343 15.1.2 开发app widget的步骤 344 实例78:数字时钟 346 15.1.3 appwidgetprovider类 348 15.1.4 向app widget添加配置activity 349 实例79:可以选择风格的数字时钟 349 15.2 快捷方式 353 15.2.1 向快捷方式列表中添加快捷方式 353 15.2.2 直接将快捷方式放到桌面上 354 15.3 实时文件夹(livefolder) 354 15.4 本章小结 356 第16章 ndk编程 357 16.1 android ndk简介 357 16.2 安装、配置和测试ndk开发环境 358 16.2.1 系统和软件要求 358 16.2.2 下载和安装android ndk 358 16.2.3 下载和安装cygwin 359 16.2.4 配置android ndk的开发环境 361 16.2.5 编译和运行ndk自带的例子 362 16.3 android ndk开发 364 16.3.1 jni接口设计 364 16.3.2 编写android ndk程序的步骤 365 实例80:将文件中的小写字母转换成 大写字母(ndk版本) 365 16.3.3 配置android mk文件 367 16.3.4 android ndk定义的变量 368 16.3.5 android ndk定义的函数 369 16.3.6 描述模块的变量 369 16.3.7 配置application mk文件 370 16.4 本章小结 371 第17章 整合android与脚本语言 372 17.1 android脚本环境简介 372 17.2 android脚本环境安装 373 17.3 编写和运行android脚本 374 17.4 本章小结 376 第18章 android平台的新特性展示 377 18.1 android平台的新特性 377 18.1.1 android 1.6的新特性 377 18.1.2 android 2.0的新特性 379 18.2 android framework api演变 379 18.2.1 android 1.6 framework api的变化 379 18.2.2 android 2.x framework api的变化 380 18.3 实时壁纸(live wallpapers, android 2.1) 380 18.4 补间动画渲染器(android 1.6) 387 18.4.1 anticipate渲染器 388 18.4.2 overshoot渲染器 388 18.4.3 anticipate/overshoot渲染器 388 18.4.4 bounce渲染器 388 18.5 本章小结 389 第19章 另类的输入输出 390 19.1 手势(gesture) 390 19.1.1 创建手势文件 390 19.1.2 通过手势输入字符串 391 19.1.3 通过手势调用程序 393 19.1.4 编写自己的手势创建器 394 19.2 让手机说话(tts) 395 19.3 本章小结 396 第20章 蓝牙 397 20.1 蓝牙简介 397 20.2 打开和关闭蓝牙设备 398 20.3 搜索蓝牙设备 398 20.4 蓝牙socket 400 20.5 obex服务器 402 20.6 本章小结 403 第四部分 ophone篇——进入ophone世界 第21章 ophone入门 405 21.1 ophone平台概述 405 21.1.1 ophone的系统架构 405 21.1.2 jil widget的运行环境 406 21.1.3 ophone应用程序展示 406 21.2 ophone开发环境搭建 407 21.2.1 安装odt和wdt 407 21.2.2 测试一下odt是否安装成功 407 21.2.3 测试一下wdt是否安装成功 407 21.3 在真机上调试程序 408 21.4 本章小结 410 第22章 ophone的api扩展 411 22.1 视频电话 411 22.1.1 拨打视频电话 411 22.1.2 挂断视频电话 411 实例81:可拨打视频电话的程序 412 22.2 搜索api 413 22.3 本章小结 414 第23章 jil widget开发详解 415 23.1 编写第一个jil widget程序 415 23.2 多媒体 417 23.2.1 播放音频 417 23.2.2 播放视频 418 23.3 操作文件 418 23.3.1 获得与文件相关的信息 419 23.3.2 操作文件 419 23.3.3 操作文件夹 421 23.4 获得系统信息 422 23.4.1 获得电池信息 422 23.4.2 获得手机信号信息 423 23.4.3 获得设备信息 424 23.4.4 获得设备状态信息 424 23.5 控制硬件 425 23.5.1 拍照和摄像 426 23.5.2 打电话 426 23.5.3 手机振动 426 23.6 本章小结 427 第五部分 综合实例篇——实践是检验真理的唯一标准 第24章 万年历 429 24.1 主界面设计与实现 429 24.1.1 万年历的核心类:calendar 429 24.1.2 日历内容元素的基类: calendarparent 431 24.1.3 绘制万年历边框:border类 431 24.1.4 绘制周名称:week类 432 24.1.5 绘制日期和网格:grid类 433 24.1.6 日历视图:calendarview类 440 24.1.7 生成万年历的主界面 442 24.2 选项菜单功能 443 24.2.1 切换到今天的日期 443 24.2.2 指定日期 443 24.3 可以写日记和提醒的万年历 444 24.3.1 显示所有的记录信息: allrecord类 444 24.3.2 添加和修改记录:record类 446 24.3.3 设置提醒时间 447 24.3.4 启动服务 448 24.3.5 在广播接收器中显示提醒界面 449 24.3.6 访问数据库:dbservice 450 24.4 本章小结 454 第25章 知道当前位置的google gtalk 机器人 455 25.1 gtalk的通讯协议和技术 455 25.1.1 jabber和xmpp 455 25.1.2 xmpp客户端库:smack和 asmack 456 25.2 登录gtalk:login类 456 25.3 联系人信息 458 25.3.1 显示联系人列表 458 25.3.2 监听联系人是否上线 460 25.4 联系人之间的通讯 461 25.4.1 发送聊天信息 462 25.4.2 接收聊天信息 462 25.4.3 自动回复当前的位置 (gps定位) 465 25.5 本章小结 466 前言2009年对于中国的移动互联网领域是最重要的一年,因为这一年信息产业部向中国三大运营商(移动、联通、电信)发放了3G牌照。这就意味着中国移动互联网3G时代已经到来,因此,2009年也就成为了中国移动互联网3G时代的元年。 随着中国移动互联网3G时代的到来,很多抢眼的词汇也不断冲击着人们的眼球。3G、Android、Ophone、iPhone、iPad、iPod touch、Google、苹果、HTC、G1、G2、G3等词汇在各大网站的新闻和评论中频繁出现。出现这种情况的原因只有一个,那就是智能手机和移动互联网终于修成成果,成为完美的一对。 智能手机虽然早在多年前就已出现,但那时的智能手机的功能主要是本地应用,这些手机以Nokia的Symbian系统为主。但随着移动互联网时代的到来,本地应用已远远无法满足用户的需求了。然而在创新为王的今天,新的技术总在不断地取代久的技术。以创新闻名的Google为了进军移动广告市场,早在2005年,就开始研制新的移动操作系统,这也就是我们现在熟知的Android。经过2年多的研发,终于在2007年11月5日发布了Android的第一个版本:Android 1.0,而HTC(宏达电)也在10个月后发布了世界上第一部装有Android系统的手机:G1。这也标志着Android正式成为移动操作系统大家族的成员,而且出身名门。 自从Android问世以来,不断有新的运营商、终商厂商、浏览器厂商、软件厂商等加入Android阵营,通过合作以及不断地创新,推出了大量基于Android的新产品,例如,Adobe公司已推出Android版的AIR和Flash10,并且Google宣布在Android 2.2中将会全面支持Flash,这就意味着可以使用Flash来编写Android应用程序了。 Android是Google进军移动领域最具杀伤力的武器之一。在此之前,苹果推出的iPhone在智能手机和移动互联网领域刮起了首轮风暴。并且赢得了数以百万计的忠实“粉丝”。而Android与iPhone不同。iPhone与苹果以往的产品相同,都是在封闭状态下发展的,而且限制太多。Android则在这方面有着绝对的优势,Android不仅免费,而且开源,并且Google没有限制使用什么语言或技术在Android上开发软件。这就意味着任何企业、组织和个人都可以使用Android系统,而且不需要付给Google一分钱。正是因为这一点,支持Android的终端厂商不断增加,这也使Android的市场占用率节节攀升。甚至在2010年第1季度,Android在美国的占有率首次超过iPhone,成为占有率第2的移动操作系统。 在与美国相隔万里的中国,Android也受到相当的关注和重用。国内不仅在短时间内涌现了大量的Android社区(中国移动开发者社区、eoeandroid等),而且很多运营商和企业也以Android为基础开发出了很多定制的移动操作系统。其中国内最早的定制Android系统就是中国移动和播思通讯联合开发的Ophone系统,也称为OMS。除此之外,还有联想的乐Phone。联通和电信也在研发自己的定制Android系统。这些充分证明了Android在世界上的几个主要市场(中国、美国等)都已成为竞相追逐的梅花鹿,在可预期的未来,将会在全球范围内上演一场群雄逐鹿的大戏。 既然Android无论在国内还是国外都是如此的火暴,如此的重要,那么做为开发人员的我们是不是应该立刻开始学习Android呢?如果您正在阅读本书的前言,那么说明您已经给出了肯定的答案,而本书正是打开Android神秘大门的钥匙。有了这把钥匙,就可以尽享Android中的宝藏。那么我们还等什么呢?Let’s go. 现在就让我们继续阅读本书的精彩内容,以获取更多的宝藏吧! 编 者 2010年5月 媒体评论作者是博客园(cnblogs)的知名博主——银河使者(nokiaguy,cnblogsm),在园子里为大家分享了很多精彩的内容,给很多人带来帮助,作者对技术的那种钻研和分享精神感染了很多人。从写赙到写书,是一个从播种到收获并且把果实分享给大家的过程,相信本书凝聚了作者在Android方面钻研的精华。 ——博客园(Cnblogs) 虽然在eoeandroid.com有大量的Android资料和数程,但是不断新人问我如何开始Android开发之旅李宁的这本书就是很好的答案。本书既详细讲述Android应用开发的基本组件、布局管理、多任务处理、网络和多媒体等技术,又涉及到OMS独有的JIW技术,是一本Android/OMS开发必备用书。 ——靳岩CEO of eoemobile eoeandroid开发社区创始人《Android应用开发入门与实战》作者 推荐这本书有两个原因:一是移动开发的广阔前景,使得越来越多的企业、开发者投入其中。相比iPhone而言,Android平台的开放性以及国内市场的广阔性,使得它更有代表性;二是作者李宁,他写作的理论性和实践性兼备,以及对技术的孜孜追求,使得这本书在Android开发的实战方面很具代表性。也希望读者朋友和我一样能从这本书中获益! ——淘宝(中国)软件有限公司高级测试工程师 戚祥 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。