Android系统应用开发实战详解
Android系统应用开发实战详解
1 Android概述
1.1 Android的演化史
1.1.1 Android的诞生
1.1.2 Android的发展
1.2 Android的两面性
1.3 使用Android的设备
1.4 Android设备的硬件差异
1.4.1 显示屏
1.4.2 用户输入
1.4.3 传感器
1.5 Android的特点
1.5.1 多进程和应用程序微件
1.5.2 触摸、手势和多点触控
1.5.3 硬键盘和软键盘
2 Android开发环境及常用工具
2.1 搭建Android开发环境
2.1.1 获取Android开发所需软件
2.1.2 安装开发软件并配置环境
2.2 Android开发常用工具
2.3 第一个Android应用HelloWorld
实例 2-1 HelloWorld 实例(\Chapter2\HelloWorld)
2.4 Android应用程序结构分析
2.5 Android应用的基本组件介绍
2.5.1 Activity和V iew
2.5.2 Intent和IntentFilter
2.5.3 Service
2.5.4 Broadcast Receiver
2.5.5 Content Provider
3 Activity和Intent
3.1 Activity的生命周期
实例 3-1 Activity 生命周期实例(Chapter3\ActivityLifeCycle)
3.2 控制Activity的生命周期
3.2.1 强制执行单任务模式
3.2.2 强制手机屏幕方向
3.2.3 保存和恢复Activity的信息
3.3 多个Activity和Intent
3.3.1 启动另一个Activity
实例 3-2 启动另一个 Activity 实例(Chapter3\SetupNewActivity)
3.3.2 启动另一个Activity将语音转换成文本并返回结果
实例 3-3 Activity 返回值实例(Chapter3\ActivityResultDemo)
3.3.3 使用隐式Intent创建Activity
实例 3-4 隐式 Intent 创建 Activity 实例(Chapter3\ImplicitIntent)
3.3.4 在Activity之间传递数据
实例 3-5 Activity 之间传递数据实例(Chapter3\ActivityDataPass)
4 界面编程
4.1 界面编程与视图(V iew)组件
4.1.1 视图组件与容器组件
4.1.2 控制UI界面
4.2 布局管理器
4.2.1 线性布局(LinearLayout)
实例 4-1 线性布局演示(LinearLayoutDemo)
4.2.2 表格布局(TableLayout)
实例 4-2 表格布局演示(TableLayoutDemo)
4.2.3 帧布局(FrameLayout)
实例 4-3 帧布局演示(FrameLayoutDemo)
4.2.4 相对布局(RelativeLayout)
实例 4-4 相对布局演示(RelativeLayoutDemo)
4.2.5 绝对布局(AbsoluteLayout)
实例 4-5 绝对布局演示(AbsoluteLayout)
4.3 基本界面组件
4.3.1 文本框(TextView)与编辑框(EditText)
4.3.2 按钮(Button)与图片按钮(ImageButton)
实例 4-6 登录界面演示(LoginUIDemo)
4.3.3 单项选择(RadioGroup)和单选按钮(RadioButton)
实例 4-7 单项选择演示(RadioGroupDemo)
4.3.4 复选框(CheckBox)
实例 4-8 复选框演示(CheckBoxDemo)
4.3.5 图片视图(ImageV iew)
4.3.6 状态开关按钮(ToggleButton)
实例 4-9 开关门演示(OnOffDoorDemo)
4.3.7 时钟(AnalogClock和DigitalClock)
实例 4-10 时钟演示(ClockDemo)
4.4 高级界面组件
4.4.1 自动完成文本框(AutoCompleteTextView)
实例 4-11 自动完成文本框演示(AutoCompleteTextViewDemo)
4.4.2 下拉列表(Spinner)
实例 4-12 下拉列表演示(Spinner)
4.4.3 日期选择器(DatePicker)与时间选择器(TimePicker)
实例 4-13 日期和时间设置演示(DateTimeDemo)
4.4.4 进度条(ProgressBar)
实例 4-14 进度条演示(ProgressBarDemo)
4.4.5 拖动条(SeekBar)
实例 4-15 拖动条实例(SeekBarDemo)
4.4.6 星级评分条(RatingBar)
实例 4-16 星级评分条实例(RatingBarDemo)
4.4.7 选项卡(TabHost)
实例 4-17 选项卡实例(TabHost)
4.4.8 滚动视图(ScrollView)
实例 4-18 滚动视图实例(ScrollViewDemo)
4.4.9 列表视图(ListV iew)
实例 4-19 ArrayAdapter 适配器列表实例(ArrayAdapterListViewDemo)
实例 4-20 SimpleCursorAdapter 适配器列表实例(CursorListViewDemo)
实例 4-21 SimpleAdapter 适配器列表实例(SimpleAdapterListViewDemo)
4.4.10 可展开的列表视图(ExpandableListView)
实例 4-22 可展开列表视图实例(ExpandableListDemo)
4.4.11 网格视图(GridV iew)
实例 4-23 网格视图实例(GridViewDemo)
4.4.12 画廊视图(Gallery)和图片切换器(ImageSwitcher)
实例 4-24 相册实例(AlbumDemo)
4.5 对话框
4.5.1 使用AlertDialog创建简单的对话框
4.5.2 使用AlertDialog创建列表对话框
4.5.3 使用AlertDialog创建自定义对话框
4.5.4 使用ProgressDialog创建进度对话框
4.5.5 使用DatePickerDialog和TimePickerDialog
实例 4-25 日期选择对话框和时间选择对话框实例(DateTimeDialogDemo)
4.5.6 使用PopupWindow
实例 4-26 PopupWindow 实例
4.6 消息提示
4.6.1 使用Toast显示提示消息
4.6.2 使用Notification显示状态栏提示
实例 4-27 Notification 实例(NotificationDemo)
4.7 菜单
4.7.1 选项菜单(Option Menu)
实例 4-28 选项菜单实例(OptionMenuDemo)
4.7.2 上下文菜单(Context Menu)
实例 4-29 上下文菜单实例(ContextMenuDemo)
4.7.3 子菜单(Sub Menu)
实例 4-30 子菜单实例(SubMenuDemo)
4.7.4 创建复选菜单项和单选菜单项
实例 4-31 复选菜单项和单选菜单项实例(CheckMenuDemo)
5 Android事件处理
5.1 Android事件处理介绍
5.2 基于回调的事件处理
5.2.1 onKeyDown回调方法
实例 5-1 onKeyDown 回调方法实例(onKeyDownDemo)
5.2.2 onKeyUp回调方法
5.2.3 onTouchEvent回调方法
实例 5-2 onTouchEvent 回调方法实例(onTouchEventDemo)
5.2.4 其他回调方法
5.3 基于监听器的事件处理
5.3.1 事件监听的处理模型
实例 5-3 事件监听器模型(EventListenerModel)
5.3.2 事件监听器接口
实例 5-4 OnLongClickListener 接口演示(OnLongClickListenerDemo)
实例 5-5 OnFocusChangeListener 接口演示(OnFocusChangeListenerDemo)
实例 5-6 OnTouchListener 接口演示(OnTouchListenerDemo)
5.3.3 事件监听器实现方式
5.4 响应系统设置事件
5.4.1 Configuration类介绍
5.4.2 onConfigurationChanged回调方法
实例 5-7 获取并响应系统设置实例(ConfigurationDemo)
5.5 Handler消息传递机制
实例 5-8 进度条更新实例(HandlerProgress)
6 数据存储和数据共享
6.1 Android数据存储和共享概述
6.2 Shared Preferences
实例 6-1 SharedPreferences 存取数据实例(SharedPreferencesDemo)
6.3 Files文件存储
实例 6-2 Files 文件操作实例(FilesDemo)
6.4 SQLite数据库
实例 6-3 学生信息数据库(SQLiteStudentInfo)
6.5 Content Provider(内容提供器)
6.5.1 Content Provider共享数据方法
实例 6-4 访问联系人信息(ContactsAccess)
6.5.2 SQLite应用程序改用Content Provider来公开数据
实例 6-5 Content Provider实现学生信息数据库访问(StuInfoContentProvider)
6.6 Network网络存储
7 Service(服务程序)和Broadcast Receiver(广播接收器)
7.1 Service(服务程序)
7.1.1 Service角色
7.1.2 启动服务程序
7.1.3 Service的生命周期
7.1.4 创建服务程序
实例 7-1 音乐播放服务程序(MusicPlayService)
7.2 广播接收器(Broadcast Receiver)
7.2.1 广播接收器(Broadcast Receiver)角色
7.2.2 实现广播事件
7.2.3 使用(广播接收器)
实例 7-2 Broadcast Receiver 实例(BroadcastDemo)
7.3 Service和Broadcast Receiver结合使用
实例 7-3 定时提醒实例(TimerAlarm)
8 国际化
8.1 Android国际化
8.2 Android的资源管理
8.2.1 创建Android资源
8.2.2 创建Android多语言资源
8.3 Android多语言范例
实例 8-1 Android 多语言范例(MultiLanguage)
9 图形与图像处理
9.1 使用简单图片
9.1.1 使用Drawable对象
9.1.2 Bitmap和BitmapFatory
实例 9-1 BitmapDemo(\Chapter9\BitmapDemo)
9.2 利用graphics绘图
9.2.1 Paint类
9.2.2 Color类
9.2.3 Canvas类
9.2.4 Path类
9.2.5 绘制几何图形
实例 9-2 绘制几何图形(\Chapter9\GeometricDraw)
9.2.6 绘制动态图形
实例 9-3 动态图形绘制(\Chapter9\DynamicDrawingDemo)
9.3 图形特效处理
9.3.1 使用Matrix实现图形变换
实例 9-4 Matrix 图形变换实例(\Chapter9\MatrixDemo)
9.3.2 使用DrawBitmapMesh实现图像扭曲
实例 9-5 DrawBitmapMesh 实例(\Chapter9\DrawBitmapMeshDemo)
9.3.3 使用Shader实现图像渲染
实例 9-6 Shader 实例(\Chapter9\ShaderDemo)
9.4 Frame动画
实例 9-7 Frame 动画实例(\Chapter9\FrameDemo)
9.5 Tween动画
9.5.1 使用Interpolator控制动画变化速率
9.5.2 Tween动画的实现
实例 9-8 Tween 动画实例(\Chapter9\TweenJavaDemo)
9.6 使用SufaceV iew
实例 9-9 使用 SurfaceView 进行绘图(\Chapter9\SurfaceViewDraw)
10 多媒体应用开发
10.1 Android系统多媒体框架
10.1.1 OpenCORE框架
10.1.2 StageFright框架
10.2 音频和视频的播放
10.2.1 使用MediaPlayer播放音频
实例 10-1 简易音乐播放器(\Chapter10\MusicPlayer)
10.2.2 使用SoundPool播放音效
实例 10-2 卡丁车动画和音效(\Chapter10\SoundPoolTest)
10.2.3 使用V ideoV iew播放视频
实例 10-3 视频播放器(\Chapter10\VideoViewDemo)
10.2.4 使用MediaPlayer和SurfaceV iew播放视频
实例 10-4 自定义视频播放器(\Chapter10\VideoPlayDemo)
10.3 音频和视频的录制
10.3.1 使用MediaRecorder录制音频
实例 10-5 简易录音机(AudioRecorder)
10.3.2 使用MediaRecorder录制视频
实例 10-6 视频录制实例(\Chapter10\VideoCapture)
10.4 摄像头拍照
实例 10-7 相机拍照实例(\Chapter10\CameraPhotoDemo)
11 OpenGL ES与3D应用
11.1 OpenGL和OpenGL ES简介
11.2 OpenGL ES编程
11.2.1 OpenGL ES编程类
11.2.2 OpenGL ES编程框架
11.3 3D绘图基础知识
11.3.1 3D坐标系
11.3.2 顶点(Vertex)
11.3.3 边(Edge)
11.3.4 面(Face)
11.3.5 多边形(Polygon)
11.3.6 几何图形绘制(Render)
11.3.7 添加图形颜色
11.3.8 多边形绘制实例
实例 11-1 多边形绘制实例(\Chaper11\DrawPolygonDemo)
11.4 3D坐标仿射变换
11.4.1 平移变换
11.4.2 旋转变换
11.4.3 缩放变换
11.4.4 变换矩阵操作
11.4.5 坐标变换实例
实例 11-2 坐标变换实例(\Chapter11\TransformDemo)
11.5 绘制3D图形
实例 11-3 绘制 3D 图形(\Chapter11\Draw3DGraph)
11.6 纹理渲染
实例 11-4 纹理渲染实例(\Chapter11\TextureDemo)
12 Android网络应用
12.1 基于TCP协议的网络通信
12.1.1 使用ServerSocket建立TCP服务器端
12.1.2 使用Socket进行通信
实例 12-1 Socket 实例(\Chapter12\SocketDemo)
12.2 使用URL访问网络资源
实例 12-2 URL 访问网络资源实例(\Chapter12\UrlDemo)
12.3 使用HTTP访问网络
12.3.1 使用HttpURLConnection
实例 12-3 文件上传下载实例(\Chapter12\HttpUploadDown)
12.3.2 使用Apache HttpClient
实例 12-4 网页登录实例(\Chapter12\HttpLogin)
12.4 使用WebV iew视图
12.4.1 使用WebV iew浏览网页
实例 12-5 WebView 浏览网页实例(\Chapter12\WebViewDemo)
12.4.2 使用WebV iew加载HTML代码
实例 12-6 使用 WebView 加载 HTML 代码实例(\Chapter12\WebViewHtml)
13 Android手机桌面
13.1 Android桌面简介
13.2 快捷方式(Shortcut)
13.2.1 在应用程序中添加快捷方式
实例 13-1 在应用程序中添加快捷方式(AddShortcutDemo)
13.2.2 向Launcher添加应用程序的快捷方式
实例 13-2 向 Launcher 添加应用程序的快捷方式(ShortcutDemo)
13.3 窗口小部件(Widget)
实例 13-3 窗口小部件实例(NoteWidget)
13.4 实时文件夹(Live Folder)
13.5 壁纸(Wallpaper)
实例 13-4 动态壁纸实例(LiveWallpaper)
13.6 Android 4.0桌面
13.6.1 桌面组件的添加方式
13.6.2 桌面文件夹
14 Android传感器应用
14.1 Android传感器开发
14.2 使用SensorSimulator
14.2.1 下载和安装SensorSimulator
14.2.2 使用SensorSimulator模拟传感器
14.3 Andoird常用传感器
14.3.1 加速度传感器Accelarator
实例 14-1 获取加速度传感器的值(\Chaper14\AccelaratorDemo)
14.3.2 方向传感器Orientation
14.3.3 磁场传感器Magnetic Field
14.3.4 温度传感器Temperature
14.3.5 光传感器Light
14.4 传感器应用案例—Box2D重力球
14.4.1 Box2D物理引擎
14.4.2 JBox2D常用类介绍
14.4.3 Box2D物理世界模拟
14.4.4 Box2D重力球实例
实例 14-2 Box2D 重力球实例(\Chaper14\GravityBall)
15 GPS定位和Google Maps地图服务
15.1 GPS和Google Maps简介
15.2 GPS定位服务
15.2.1 LocationManager
15.2.2 LocationListener
15.2.3 Location
15.2.4 LocationProvider
15.2.5 Criteria
15.3 GPS定位功能实现
15.3.1 GPS定位程序实现
实例 15-1 GPS 定位实例(\Chapter15\GPSLocation)
15.3.2 使用Android模拟器测试GPS定位程序
15.4 Google Maps地图应用
15.4.1 获取Google地图外部库
15.4.2 创建平台为Google APIs的Android模拟器
15.4.3 获取Google Maps API Key
15.4.4 Google Maps地图应用程序
实例 15-2 Google 地图应用程序实例(\Chapter15\MyGoogleMap)
15.5 Google Maps应用扩展
15.5.1 Google地图标记
实例 15-3 Google 地图标记实例(\Chapter15\GoogleMapOverlay)
15.5.2 根据GPS位置信息显示Google地图
实例 15-4 根据 GPS 信息实时更新 Google 地图实例(\Chapter15\GPSandMap)
16 Android 4.0新特性
16.1 Android 4.0用户新特性
16.1.1 精致全新的UI界面
16.1.2 改进的多任务切换功能
16.1.3 桌面文件夹
16.1.4 新的锁屏动作
16.1.5 强大的语音输入引擎
16.1.6 网络数据流量监控功能
16.1.7 强大的图像功能
16.1.8 强大的社交和通信功能
16.2 Android 4.0开发新特性
16.2.1 沟通和共享功能开发新特性
16.2.2 全新的媒体处理能力
16.2.3 全新的连接类型
16.2.4 全新的UI组件及功能
16.2.5 全新的输入方式及文本服务
16.2.6 增强的辅助功能API
16.2.7 高效的网络使用率
16.2.8 应用程序及内容安全性
16.2.9 增强的企业业务
16.3 Android 4.0 API新特性介绍
16.3.1 Fragment
16.3.2 Action Bar
16.3.3 UI界面和视图
16.3.4 输入框架
16.3.5 传感器设备
16.3.6 网络使用
16.3.7 媒体(Media)
16.3.8 相机(Camera)
16.4 Android 4.0 API新特性实例
16.4.1 Fragment实例
实例 16-1 Fragment 使用实例(\Chapter16\FragmentDemo)
16.4.2 GridLayout实例
实例 16-2 GridLayout 使用实例(\Chapter16\GridLayoutDemo)
16.4.3 Switch实例
实例 16-3 Switch 使用实例(\Chapter16\SwitchDemo)
思维导图
防止博客图床图片失效,防止图片源站外链:
http://www.processon.com/chart_image/5e5b33d3e4b069f82a1a598d.png)
思维导图在线编辑链接: