前言
如何使用本书的例子
第一部分 准备篇——大军未动,粮草先行
第1章 Android入门
1.1 Android的基本概念
1.1.1 Android简介
1.1.2 Android的系统构架
1.2 Android开发环境的搭建
1.2.1 开发Android程序需要些什么
1.2.2 安装AndroidSDK
1.2.3 安装Eclipse插件ADT
1.2.4 测试ADT是否安装成功
1.3 AndroidSDK中的常用命令行工具
1.3.1 启动和关闭ADB服务(adbstart.server和adbkill.server)
1.3.2 查询当前模拟器/设备的实例(adbdevices)
1.3.3 安装、卸载和运行程序(adb install、adb uninstall和am)
1.3.4 PC与模拟器或真机交换文件(adb pull和adb push)
1.3.5 Shell命令
1.3.6 创建、删除和浏览AVD设备(android)
1.3.7 创建SD卡
1.4 PC上的Android
1.4.1 AndroidLiveCD
1.4.2 AndroidX86
1.5 Android的学习资源
1.6 应用程序商店
1.6.1 AndroidMarket
1.6.2 MobileMarket(MM)
1.6.3 其他应用程序商店
1.7 本章小结
第2章 第一个Android程序
2.1 编写用于显示当前日期和时间的程序
2.1.1 新建一个Android工程
2.1.2 界面组件的布局
2.1.3 编写实际代码
2.2 调试程序
2.3 签名和发布应用程序
2.3.1 使用命令行方式进行签名
2.3.2 使用ADT插件方式进行签名
2.4 DDMS透视图
2.5 本章小结
第二部分 基础篇-Android世界的精彩之旅
第3章 Android应用程序架构
3.1 Android应用程序中的资源
3.1.1 资源存放在哪里
3.1.2 资源的种类
3.1.3 资源的基本使用方法
3.2 Android的应用程序组件
3.2.1 活动(Activity)组件
3.2.2 服务(Service)组件
3.2.3 广播接收者(Broadcastreceivers)组件
3.2.4 内容提供者(Contentproviders)组件
3.3 AndroidManifest.xml文件的结构
3.4 本章小结
第4章 建立用户接口
4.1 建立、配置和使用Activity
4.1.1 建立和配置Activity
4.1.2 Activity的生命周期
实例1:演示Activity的生命周期
4.2 视图(view)
4.2.1 视图简介
4.2.2 使用XML布局文件控制视图
4.2.3 在代码中控制视图
实例2:混合使用XML布局文件和代码来控制视图
4.2.4 定制组件(Widget)的三种方式
实例3:定制组件——带图像的TextView
实例4:定制组件——带文本标签的
EditText
实例5:定制组件——可更换表盘的指针时钟
4-3使用AlertDialog类创建对话框
4.3.1 AlertDialog类简介
4.3.2 【确认/取消】对话框
实例6:创建询问是否删除文件的
【确认/取消】对话框
4.3.3 带3个按钮的对话框
实例7:创建【覆盖/忽略/取消】对话框
4.3.4 简单列表对话框
4.3.5 单选列表对话框
4.3.6 多选列表对话框
实例8:创建3种选择省份的列表对话框
4.3.7 水平进度对话框和圆形进度对话框
实例9:水平进度对话框和圆形进度对话框演示
4.3.8 自定义对话框
实例10:创建登录对话框
实例11:使用Activity托管对话框
实例12:创建悬浮对话框和触摸任何位置都可以关闭的对话框
4.4 Toast和Notification
4.4.1 用Toast显示提示信息框
4.4.2 Notification与状态栏信息
4.5 菜单
4.5.1 创建选项菜单
4.5.2 设置与菜单项关联的图像和Activity
4.5.3 响应选项菜单项单击事件的
3种方式
4.5.4 动态添加、修改和删除选项菜单
4.5.5 创建带复选框和选项按钮的子菜单
4.5.6 创建上下文菜单
4.5.7 菜单事件
实例13:Activity菜单、子菜单、上下文菜单演示
4.6 布局
4.6.1 框架布局(Framerayout)
实例14:霓虹灯效果的LextView
4.6.2 线性布局(LinearLayout)
实例15:利用LinearLayout将按钮放在屏幕的四角和中心位置
4.6.3 相对布局(RelativeLayout)
实例16:利用RelativeLayout实现梅花效果的布局
4.6.4 表格布局(TableLayout)
实例17:计算器按钮的布局
4.6.5 绝对布局(AbsoluteLayout)
4.7 本章小结
第5章 组件详解
5.1 显示和编辑文本的组件
5.1.1 显示文本的组件:TextView
实例18:在FextView中显示LIRI。及不同
字体大小、不同颜色的文本
实例19:带边框的TextView
5.1.2 输入文本的组件:EditText
实例20:在EditFext中输入特定的字符
实例21:按回车键显示Editrext
5.1.3 自动完成输入内容的组件:AutoCompleteTextView
5.2 按钮与复选框组件
5.2.1 普通按钮组件:Button
实例22.异形(圆形、五角星、螺旋形和箭头)按钮
5.2.2 图像按钮组件:ImageButton
实例23:同时显示图像和文字的按钮
5.2.3 选项按钮组件:RadioButton
5.2.4 开关状态按钮组件:ToggleButton
5.2.5 复选框组件:CheckBox
实例24:利用X/VR,布局文件动态创建CheckBox
5.3 日期与时间组件
5.3.1 输入日期的组件:DatePicker
5.3.2 输入时间的组件:TimePicker
实例25-DePicker、TimePicker与FextView同步显示日期和时间
5.3.3 显示时钟的组件:AnalogClock和DigitalClock
5.4 进度条组件
5.4.1 进度条组件:ProgressBar
5.4.2 拖动条组件:SeekBar
实例26:改变ProgressBar和SeekBar的颜色
5.4.3 评分组件:RatingBar
5.5 其他重要组件
5.5.1 显示图像的组件:ImageView
实例27:可显示图像指定区域的ImageView组件
实例28:动态缩放和旋转图像
5.5.2 列表组件:ListView
实例29.可以单选和多选的ListView
实例30:动态添加、删除ListView列表项
实例31:改变ListView列表项选中状态的背景颜色
5.5.3 封装IAstView的Activity:ListActivity
实例32:使用SimpleAdapter建立复杂的列表项
实例33:给应用程序评分
5.5.4 可展开的列表组件:ExpandableListView
5.5.5 下拉列表组件:Spinner
5.5.6 垂直滚动视图组件:ScrollView
5.5.7 水平滚动视图组件:HorizontalScrollView
实例34:可垂直和水平滚动的视图
5.5.8 网格视图组件:GridView
5.5.9 可循环显示和切换图像的组件:Gallery和ImageSwitcher
5.5.10 标签组件:TabHost
5.6 本章小结
第6章 移动存储解决方案
6.1 最简单的数据存储方式:SharedPreferences6.1.1 使用SharedPreferences存取数据
6.1.2 数据的存储位置和格式
实例35:存取复杂类型的数据
6.1.3 设置数据文件的访问权限
6.1.4 可以保存设置的Activity:PreferenceActivity
6.2 文件的存储
6.2.1 openFileOutput和openFileInput方法
实例36:SD卡文件浏览器
实例37:存取SD卡中的图像
6.2.2 SAX引擎读取XMI.文件的原理
实例38:将XML数据转换成Java对象
6.3 SQLite数据库
6.3.1 SQLite数据库管理工具
6.3.2 创建数据库和表
6.3.3 模糊查询
6.3.4 分页显示记录
6.3.5 事务
6.4 在Android中使用SQLite数据库
6.4.1 SQt,iteOpenHelper类与自动升级数据库
6.4.2 SimpleCursorAdapter类与数据绑定
实例39:带照片的联系人管理系统
6.4.3 将数据库与应用程序一起发布
实例40:英文词典
6.5 抽象的标准——内容提供者(ContentProvider)
实例41:将联系人管理和英文字典集成到自己的应用中
6.6 本章小结
第7章 应用程序之间的通讯
7.1 Intent与Activity
7.1.1 用Intent启动.Activity,并在Activity之间传递数据
7.1.2 调用其他应用程序中的Activity(拨打电话、浏览网页、发Email等)
7.1.3 定制自己的Activity Action
实例42:将电子词典的查询功能共享成
一个Activity Action
7.2 接收和发送广播
7.2.1 接收系统广播
实例43:开机可自动运行的程序
实例44:收到短信了,该做点什么
实例45:显示手机电池的当前电量
7.2.2 在自己的应用程序中发送广播
实例46:接收联系人系统中发送的添加联系人广播
7.3 本章小结
第8章 Android服务
8.1 Service起步
8.1.1 Setvice的生命周期
8.1.2 绑定Activity和Service
8.1.3 在BmzdcastReceiver中启动service
8.2 系统服务
8.2.1 获得系统服务
实例47:监听手机来电
实例48:来电黑名单
8.2.2 在模拟器上模拟重力感应
实例49:手机翻转静音
8.3 时间服务
8.3.1 计时器:Chronometer
8.3.2 预约时间Handler
8.3.3 定时器Timer
8.3.4 在线程中更新GUI组件
8.3.5 全局定时器.AlarmManager
实例50:定时更换壁纸
实例51:多次定时提醒
8.4 跨进程访问AIDL服务)
8.4.1 什么是AIDL服务
8.4..2 建立AIDL服务的步骤
实例52:建立AIDL服务
实例53:传递复杂数据的AIDL服务
8.5 本章小结
第9章 网络
9.1 可装载网络数据的组件
实例54:将网络图像装载到List View组件中
实例55:Google图像画廊(Gallery)
9.2 Web View组件
9.2.1 用Web View组件浏览网页
实例56:手机浏览器
9.2.2 用WebView组件装载HTMI。代码
实例57:将英文词典整合到Web页中
(JavaScript调用Java方法)
9.3 访问HTTP资源
9.3.1 提交HTTP GET和HTTP POST请求
9.3.2 HttpURLConnection类
实例58:上传文件
实例59:远程Apk安装器
9.3.3 调用WebService
实例60:通过WebService查询产品信息
9.4 本章小结
第10章 多媒体
10.1 图形
10.1.1 图形绘制基础
实例61:绘制基本的图形和文本
10.1.2 绘制位图
实例62:用两种方式绘制位图
10.1.3 设置颜色的透明度
实例63:可任意改变透明度的位图
10.1.4 旋转图像
实例64:旋转动画
10.1.5 扭曲图像
实例65:按圆形轨迹扭曲图像
10.1.6 拉伸图像
实例66:拉伸图像演示
10.1.7 路径
实例67:沿着路径绘制文本
实例68:可在图像上绘制图形的画板
10.2 音频和视频
10.2.1 使用MediaPlayer播放MP3文件
10.2.2 使用MediaRecorder录音
10.2.3 使用Video View播放视频
10.2.4 使用Surface View播放视频
10.3 本章小结
第三部分 进阶篇——深入AndrOid世界的腹地
第11章 2D动画
11.1 帧(Frame)动画
AnimationDrawable与帧动画
实例69:通过帧动画方式播放Gif动画
实例70:播放帧动画的子集
11.2 补间(Tween)动画
11.2.1 移动补间动画
实例71:循环向右移动的EditFext与上下弹跳的球
11.2.2 缩放补间动画
实例72:跳动的心
11.2.3 旋转补间动画
实例73:旋转的星系
11.2.4 透明度补间动画
实例74:投掷炸弹
11.2.5 振动效果
11.2.6 自定义动画渲染器(Interceptor)
11.2.7 以动画方式切换View的组件
……
第12章 OpenGL ES编程
第13章 资源、国际化与自适应
第14章 访问Android手机的硬件
第15章 放在桌面上的小玩意
第16章 NDK编程
第17章 整合Android与脚本语言
第18章 Android平台的新特性展示
第19章 另类的输入输出
第20章 蓝牙
第四部分 OPhone篇——进入OPhone世界
第21章 OPhone入门
第22章 OPhone的API扩展
第23章 JIL Widget开发详解
第五部分 综合实例篇——实践是检验真理的唯一标准
第24章 万年历
第25章 知道当前位置的Google GTalk机器人
展开
——博客园(cnblogs.com)
虽然在eoeandrold.com有大量的Android资料和教程,但是不断有新人问我如何开始Android开发之旅,李宁的这本书就是很好的答案。本书既详细讲述AndroidiZ用开发的基本组件、布局管理、多任务处理、网络和多媒体等技术,又涉及到OMS独有的JIW技术,是一本And rold/OMS开发必备用书。
——靳岩 CEO of eoerTlobile eoea rld roid开发社区创始人《Android应用开发入门与实战》作者推荐这本书有两个原因:一是移动开发的广阔前累,使得越来越多的企业、开发者投入其中。相比iphone而言,Arldroid平台的开放性以及国内市场的广阔性,使得它更有代表性;二是作者李宁,他写作的理论性和实践性兼备,以及对技术的孜孜追求,使得这本书在Android开发的实战方面很具代表性。也希望读者朋友和我一样能从这本书中获益!
——淘宝(中国)软件有限公司高级测试工程师 戚祥