android水平仪
A. Android核心技术与实例详解的目 录
基 础 篇
第1章 Android开发起步 19
本章将要介绍的是Android开发起步的相关知识,首先对Android平台进行简单的介绍,其中包括Android的背景及其应用程序的框架。然后会向读者讲解如何搭建Android的开发环境、如何在Eclipse中创建一个项目,以及如何使用Android平台提供的工具调试和监控应用程序。
1.1 Android平台简介 19
1.1.1 Android背景介绍 19
1.1.2 Android平台架构 20
1.2 Android开发环境的搭建 22
1.2.1 相关软件的下载与安装 22
1.2.2 虚拟设备的创建和使用 25
1.2.3 创建“Hello Android” 27
1.2.4 Android应用程序的调试 28
1.3 小结 31
第2章 Android应用程序的构成 32
本章主要对Android的基本组件及Android应用程序的构成进行介绍,同时还将对Android应用程序的生命周期进行分析,主要目的是让读者了解Android应用程序的构成,掌握Android基本组件的特性及使用方法。
2.1 Android应用程序的解析 32
2.1.1 目录结构 32
2.1.2 资源的管理与使用 33
2.1.3 AndroidManifest.xml简介 36
2.1.4 应用程序的权限 37
2.2 Android基本组件的介绍 38
2.2.1 应用程序的生命周期 38
2.2.2 Activity简介 39
2.2.3 Service简介 41
2.2.4 BroadcastReceiver简介 44
2.2.5 ContentProvider简介 45
2.2.6 Intent和IntentFilter简介 46
2.3 小结 50
第3章 Android布局管理器 51
本章要介绍的内容为Android平台下的布局管理器。Android中的布局包括线性布局、表格布局、相对布局、帧布局和绝对布局。下面将分别对每个布局管理器进行详细的介绍。
3.1 控件类概述 51
3.1.1 View类简介 51
3.1.2 ViewGroup类简介 52
3.2 线性布局 52
3.2.1 LinearLayout类简介 52
3.2.2 线性布局案例 53
3.3 表格布局 55
3.3.1 TableLayout类简介 55
3.3.2 表格布局案例 56
3.4 相对布局 60
3.4.1 RelativeLayout类简介 60
3.4.2 相对布局案例 61
3.5 帧布局 63
3.5.1 FrameLayout类简介 63
3.5.2 帧布局案例 63
3.6 绝对布局 65
3.6.1 AbsoluteLayout类简介 65
3.6.2 绝对布局案例 66
3.7 小结 69
第4章 Android常用基本控件 70
本章将对进行用户界面开发时常用到的Android基本控件进行介绍,主要包括文本框、按钮、单选按钮和复选按钮、状态开关按钮和日期时间控件等。了解这些基本控件的工作方式有助于学习后面要介绍的Android中的高级控件。
4.1 文本控件的介绍 70
4.1.1 TextView类简介 70
4.1.2 EditText类简介 71
4.1.3 文本框使用案例 71
4.2 按钮控件 75
4.2.1 Button类简介 75
4.2.2 ImageButton类简介 77
4.2.3 9Patch图片简介 79
4.2.4 9Patch图片使用案例 80
4.3 状态开关按钮 81
4.3.1 ToggleButton类简介 81
4.3.2 开关按钮的使用 82
4.4 单选按钮与复选按钮 84
4.4.1 CheckBox和RadioButton类简介 84
4.4.2 单选按钮和复选按钮使用案例 84
4.5 图片控件 87
4.5.1 ImageView类简介 87
4.5.2 图片查看器 88
4.6 时钟控件 91
4.6.1 AnalogClock和DigitalClock类简介 91
4.6.2 时钟控件使用案例 91
4.7 日期与时间选择控件 92
4.7.1 DatePicker类简介 92
4.7.2 TimePicker类简介 93
4.7.3 日期时间控件使用案例 93
4.8 动画播放技术 95
4.8.1 帧动画简介 95
4.8.2 帧动画使用案例 96
4.8.3 补间动画简介 98
4.8.4 补间动画使用案例 99
4.9 小结 101
第5章 Android常用高级控件 102
上一章已经介绍了Android中的一些基本控件,本章将继续上一章的思路,对Android中常用的高级控件逐一进行介绍。
5.1 自动完成文本框 102
5.1.1 AutoCompleteTextView类简介 102
5.1.2 自动完成文本使用案例 102
5.2 滚动视图 104
5.2.1 ScrollView类简介 104
5.2.2 滚动视图使用案例 104
5.3 列表视图 105
5.3.1 ListView类简介 105
5.3.2 列表视图使用案例 105
5.4 网格视图 108
5.4.1 GridView类简介 108
5.4.2 网格视图使用案例 109
5.5 滑块与进度条 113
5.5.1 ProgressBar类简介 113
5.5.2 SeekBar类简介 113
5.5.3 滑块和进度条案例 113
5.6 星级滑块 115
5.6.1 RatingBar类简介 115
5.6.2 星级滑块使用案例 115
5.7 选项卡 117
5.7.1 TabHost类简介 117
5.7.2 选项卡使用案例 117
5.8 画廊控件 120
5.8.1 Gallery类简介 120
5.8.2 画廊控件使用案例 121
5.9 下拉列表控件 122
5.9.1 Spinner类简介 123
5.9.2 下拉列表使用案例 123
5.10 小结 126
第6章 菜单与对话框 127
在前面的章节中介绍了Android平台下开发用户界面时常用的基本控件与高级控件,但在实际开发中只运用这些控件是不够的。本章将介绍用户界面中菜单与对话框的开发,同时还会对Android平台下的Toast和Notification进行介绍。
6.1 菜单功能的开发 127
6.1.1 选项菜单和子菜单简介 127
6.1.2 选项菜单和子菜单使用案例 129
6.1.3 上下文菜单 134
6.2 对话框功能的开发 137
6.2.1 对话框简介 137
6.2.2 普通对话框 138
6.2.3 列表对话框 141
6.2.4 单选按钮对话框 143
6.2.5 复选框对话框 145
6.2.6 日期及时间选择对话框 147
6.2.7 进度对话框 151
6.3 消息提示 153
6.3.1 Toast的使用 153
6.3.2 Notification的使用 155
6.4 小结 158
第7章 Android事件处理模型 159
本章将对Android平台用户界面的各种事件响应进行详细介绍,以加深读者对Android平台的事件处理模型的理解,熟练掌握控件的各种事件处理方法。
Android平台的事件处理机制有两种,一种是基于回调机制的,一种是基于监听接口的,接下来会分别对其进行介绍。
7.1 基于回调机制的事件处理 159
7.1.1 onKeyDown方法简介 159
7.1.2 onKeyUp方法简介 161
7.1.3 onTouchEvent方法简介 162
7.1.4 onTrackBallEvent方法简介 164
7.1.5 onFocusChanged方法简介 165
7.2 基于监听接口的事件处理 167
7.2.1 Android的事件处理模型 167
7.2.2 OnClickListener接口简介 168
7.2.3 OnLongClickListener接口简介 170
7.2.4 OnFocusChangeListener接口简介 172
7.2.5 OnKeyListener接口简介 176
7.2.6 OnTouchListener接口简介 178
7.2.7 OnCreateContextMenuListener接口简介 180
7.3 Handler消息传递机制 181
7.3.1 Handler类简介 181
7.3.2 Handler使用案例 181
7.4 小结 184
高 级 篇
第8章 游戏与3D应用程序开发 185
Android平台下的应用开发,一般来说主要分为商业应用和游戏两种,在开发商业应用时主要会用到本书前面章节曾介绍过的控件和菜单对话框等知识,而开发游戏时就只能自己定义各种控件和界面了。本章将要介绍如何在Android平台下使用View和SurfaceView开发游戏,在本章的最后还将对Android平台下进行3D场景的开发进行简单的介绍。
8.1 自定义View的使用 185
8.1.1 MyView类的开发 185
8.1.2 MyThread类的开发 188
8.1.3 Activity部分代码的开发 189
8.2 SurfaceView的使用 190
8.2.1 GameView类的开发 191
8.2.2 BallGoThread类的开发 195
8.2.3 TimeThread类的开发 198
8.2.4 GameViewDrawThread类的开发 198
8.2.5 Sample_8_2类的开发 199
8.3 GLSurfaceView与3D 200
8.3.1 OpenGL ES简介 200
8.3.2 3D开发的基本知识 201
8.3.3 第一个3D图形示例 202
8.3.4 3D谷仓的开发 206
8.4 小结 212
第9章 消息广播与服务 213
本章将对Android的消息广播机制及服务组件进行详细介绍。在很多应用程序中,都会通过广播形式来发送和接收消息。当应用程序接收到消息后,一般启动一个Activity或者一个Service进行处理。本章将对之前介绍过的服务组件Service进行详细介绍,章末通过对一个单机版的音乐播放盒的介绍帮助读者掌握服务组件的使用方法。
9.1 BroadcastReceiver组件 213
9.1.1 BroadcastReceiver类简介 213
9.1.2 基于广播的案例 214
9.2 Service组件 216
9.2.1 Service类简介 217
9.2.2 基于服务的案例 217
9.3 单机版音乐盒的实现 220
9.4 小结 228
第10章 网络与数据处理 229
本章要介绍的内容是Android平台下进行网络编程及数据处理的相关知识,内容包括网络通信的几种方式(如使用Socket、URL、Socket等)、如何使用WebView浏览网页,以及文件的上传和下载。最后介绍访问手机存储卡的方法及如何在程序中使用SQLite数据库。
10.1 使用Socket进行通信 229
10.1.1 Socket服务端的开发 229
10.1.2 Socket客户端的开发 230
10.2 通过URL和HTTP请求获取网络资源 231
10.2.1 通过URL获取网络资源 232
10.2.2 通过HTTP请求网络资源 235
10.3 使用WebView进行网络开发 239
10.3.1 使用WebView浏览网页 239
10.3.2 使用WebView执行HTML代码 244
10.4 SQLite数据库 246
10.4.1 数据库的基本操作 246
10.4.2 个人通讯录的实现之资源文件的组织和开发 247
10.4.3 个人通讯录的实现之功能代码的开发 250
10.5 访问存储卡 255
10.5.1 获取存储卡容量 255
10.5.2 读取存储卡信息 257
10.6 小结 259
第11章 手机通信功能开发 260
本章将对Android手机通信功能的开发进行介绍,其中包括短信的收发及状态查询、电话的拨打与接听、来电的过滤和E-mail邮件的收发等,通过本章的学习,读者应该能够对Android平台手机通信功能有一定的了解。
11.1 短信控制 260
11.1.1 短信的发送 260
11.1.2 短消息提示 263
11.1.3 短消息群发 267
11.1.4 查询发送状态 271
11.2 电话控制 274
11.2.1 拨打电话 274
11.2.2 过滤电话 279
11.2.3 查询当前状态 279
11.3 E-mail相关功能开发 281
11.3.1 SMTP协议简介 281
11.3.2 发送E-mail 281
11.4 小结 282
第12章 手机特有Feature开发 283
本章将要介绍的是Android手机特有Feature的开发,主要包括响应系统设置更改事件、设置手机外观和其他的特性。同时还将介绍如何在程序中获取SIM卡和电池电量等信息,最后将以手机闹钟为例讲述如何自己开发特定功能的手机应用。
12.1 系统设置更改的事件 283
12.1.1 Configuration类简介 283
12.1.2 响应Configuration的变化 284
12.2 手机外观更改和提醒设置 286
12.2.1 手机壁纸的改变 286
12.2.2 手机振动的设置 290
12.2.3 音量调节 293
12.3 TelephonyManager的使用 296
12.3.1 TelephonyManager类简介 297
12.3.2 TelephonyManager的使用案例 297
12.4 手机电池电量 300
12.4.1 原理概述 300
12.4.2 电量提示案例 301
12.5 手机闹钟 302
12.5.1 AlarmManager简介 303
12.5.2 开发闹钟应用 303
12.6 小结 306
第13章 桌面组件与多媒体数据采集 307
本章将介绍Android中桌面组件及多媒体相关程序的开发,其中包括桌面快捷方式、实时文件夹、桌面控件、声音及图像的采集等。
13.1 桌面组件的介绍 307
13.2 桌面快捷方式 307
13.2.1 通过应用程序创建快捷方式 307
13.2.2 向Launcher添加快捷方式 310
13.3 实时文件夹 311
13.3.1 创建Activity 311
13.3.2 创建ContentProvider 312
13.4 桌面控件 313
13.4.1 桌面控件概述 313
13.4.2 开发简单的桌面控件 314
13.5 多媒体数据采集 315
13.5.1 录音 316
13.5.2 图像采集 319
13.6 小结 323
第14章 传感器应用的开发 324
Android系统的一大亮点之一就是对传感器的应用,利用传感器可以开发出很多新奇有趣的程序,小到水平仪、计步器,大到传感器游戏,本章将详细介绍各种传感器的原理及使用方法,并通过一个水平仪的开发向读者介绍传感器应用的开发方法,以及如何在模拟器中模拟各种传感器。
14.1 Android平台下传感器简介 324
14.1.1 加速度传感器Accelerometer 324
14.1.2 姿态传感器Orientation 329
14.1.3 磁场传感器Magnetic Field 332
14.1.4 温度传感器Temperature 333
14.1.5 光传感器Light 336
14.2 传感器应用案例 337
14.2.1 开发前的准备工作 337
14.2.2 自定义View的开发 337
14.2.3 开发主逻辑代码 339
14.2.4 运行与调试 342
14.3 小结 342
第15章 Google服务 343
本章将介绍如何在Android平台下开发基于Google服务的应用程序。Google提供了诸如GPS定位、Google Map、天气预报、网络相册和在线翻译等多种服务,将这些服务融合到应用程序中将会带来非常好的用户体验。
15.1 使用GPS获取位置 343
15.1.1 LocationManager及相关类简介 343
15.1.2 获取位置信息案例 344
15.2 Google Map的使用 347
15.2.1 获取Map API Key 347
15.2.2 创建模拟器 348
15.2.3 Google Map地图查询应用 349
15.2.4 Google Map导航应用 354
15.3 天气预报 360
15.3.1 使用SAX解析XML 360
15.3.2 使用Google API获取天气信息 360
15.4 口袋词典 364
15.4.1 Google Translate API简介 364
15.4.2 口袋词典的实现 365
15.5 Google街景 369
15.5.1 Android整合Google街景服务的原理 369
15.5.2 在程序中调用Google街景 369
15.6 小结 372
案 例 篇
第16章 Android游戏开发实践——快乐数独 373
益智类游戏是一种比较流行的游戏,其画面大都比较简单,很少有很复杂的游戏特效,但是通常用到人工智能的算法来控制游戏的难度。而算法的优化是开发该类游戏的难点。这类游戏主要包括棋牌类游戏和智力测试类游戏,例如麻将、扫雷、五子棋、扑克牌等。
数独就是益智游戏的一种,玩法简单但数字的排列方式千变万化,很多人认为数独是训练头脑的绝佳方式。本章通过讲解数独游戏在Android平台上的设计与实现,使读者了解此类游戏的开发过程,掌握实用的开发技巧,学会此类游戏的开发。
16.1 游戏的背景及功能概述 373
16.1.1 背景概述 373
16.1.2 功能简介 374
16.2 游戏的策划及准备工作 375
16.2.1 游戏的策划 375
16.2.2 Android平台下游戏的准备工作 375
16.3 游戏的架构 376
16.3.1 各类的简要介绍 376
16.3.2 游戏的框架简介 377
16.4 欢迎界面的设计与实现 378
16.4.1 主类KLSDActivity实现 378
16.4.2 欢迎界面WelcomeView类的实现 380
16.4.3 刷帧线程WelcomeViewDrawThread类的实现 383
16.4.4 动画生成线程WelcomeViewGoThread类的实现 384
16.5 “帮助”与“关于”界面的设计与实现 385
16.5.1 “帮助”界面HelpView类的实现 385
16.5.2 “关于”界面AboutView的实现 386
16.6 游戏界面的框架搭建 388
16.7 计时线程与数字键盘线程的开发 390
16.7.1 计时线程的开发 390
16.7.2 数字键盘线程的开发 391
16.8 数独生成器的开发 392
16.9 游戏界面逻辑方法的实现 394
16.9.1 初始化方法的完善 394
16.9.2 简单逻辑方法的完善 396
16.9.3 屏幕事件处理方法的完善 397
16.10 游戏界面绘画方法的完善 401
16.10.1 数字键盘的绘制方法drawKey ()的完善 401
16.10.2 绘画方法onDraw()的完善 402
16.11 游戏界面刷帧线程的实现 405
16.12 游戏的优化与改进 406
第17章 Android地图搜索应用——美食天下 407
第15章已经介绍了Google Map的简单使用,本章将通过之前介绍过的知识实现一个美食共享软件,其中包括服务端和手机端,希望通过本章的学习,读者能够掌握Android系统与Tomcat服务器的通信、Google地图的使用及各种控件的综合应用。
17.1 系统背景及功能概述 407
17.1.1 背景简介 407
17.1.2 功能概述 407
17.1.3 开发环境及目标平台 408
17.2 开发前的准备工作 409
17.2.1 数据库的设计 409
17.2.2 表的创建与记录插入 414
17.2.3 数据源的配置 415
17.3 Web端总体架构及功能预览 415
17.3.1 目录结构及系统框架 415
17.3.2 功能预览 416
17.4 Web端登录注册模块的实现 418
17.4.1 首页的搭建 418
17.4.2 用户注册功能的开发 424
17.4.3 用户登录功能的开发 428
17.4.4 用户注销功能的开发 431
17.5 Web端美食上传模块的实现 431
17.5.1 页面的搭建 431
17.5.2 图片上传组件FileUploadServlet的开发 435
17.5.3 DBUtil中相关方法的开发 437
17.6 Android端总体架构及功能预览 438
17.6.1 功能预览 439
17.6.2 总体架构 440
17.7 服务器的设计与实现 441
17.8 Android端登录界面的实现 443
17.8.1 开发前的准备工作 443
17.8.2 框架的搭建 445
17.8.3 监听方法的完善 448
17.8.4 记住密码功能的实现 449
17.8.5 服务器端的完善 450
17.9 Android端注册界面的实现 451
17.9.1 框架的搭建 451
17.9.2 监听方法的完善 453
17.9.3 服务器端的完善 455
17.10 Android端主界面MainActivity的实现 456
17.10.1 布局文件的开发 456
17.10.2 界面框架的搭建 457
17.10.3 初始化方法的完善 459
17.10.4 监听方法的完善 460
17.10.5 网络处理线程的实现 463
17.10.6 服务器端的完善 464
17.11 Android端地图界面的实现 468
17.11.1 布局文件的开发 468
17.11.2 地图界面的开发 469
17.12 美食信息界面的实现 472
17.13 系统的优化与改进 474
第18章 Android社交分享平台——口袋微博 475
本章将介绍社交分享平台——口袋微博的实现,该社交分享平台包括Web端和Android手机端两个部分。在介绍了整个系统的背景及功能架构之后,本书将对该系统在Web端和Android手机端的实现进行介绍。
18.1 系统背景及功能概述 475
18.1.1 背景简介 475
18.1.2 功能概述 475
18.1.3 开发环境和目标平台 476
18.2 开发前的准备工作 477
18.2.1 数据库设计 477
18.2.2 表的创建和测试数据的插入 482
18.2.3 数据源的配置 483
18.3 Web端功能预览及总体架构 484
18.3.1 Web端系统功能预览 484
18.3.2 系统目录结构 485
18.3.3 系统总架构 486
18.4 Web端主页的搭建 486
18.5 Web端登录注册模块的实现 488
18.5.1 用户登录功能的开发 488
18.5.2 用户注册功能的开发 491
18.5.3 用户注销功能的开发 494
18.6 查看和管理日志模块的实现 494
18.6.1 发布日志功能的开发 494
18.6.2 显示日志及评论功能的开发 496
18.6.3 编辑和删除日志功能的开发 498
18.7 查看和管理相册模块的实现 499
18.7.1 查看相册功能的开发 500
18.7.2 查看相册相片功能的实现 501
18.7.3 显示照片功能的实现 502
18.8 Android端功能预览及总体架构 503
18.8.1 Android端功能预览 503
18.8.2 Android端总架构 505
18.9 服务器的设计与实现 506
18.9.1 服务器的设计 506
18.9.2 服务器的实现 506
18.10 Android端的准备工作 509
18.10.1 图片资源的准备 509
18.10.2 XML资源文件的准备 510
18.11 登录注册模块的实现 511
18.11.1 登录模块的开发 511
18.11.2 记录账号密码功能的开发 516
18.11.3 服务器验证登录功能的实现 517
18.11.4 注册模块的开发 517
18.12 个人中心模块的实现 521
18.12.1 个人中心界面的开发 521
18.12.2 个人中心界面菜单功能的开发 523
18.13 快速发布模块的实现 524
18.13.1 发布日志和更新心情功能的实现 524
18.13.2 拍照上传界面的开发 527
18.13.3 UploadActivity通信功能的开发 530
18.14 查看联系人模块的实现 534
18.14.1 ContactsActivity界面的开发 534
18.14.2 ContactsActivity通信功能的开发 536
18.15 日志管理模块的实现 536
18.15.1 查看日志功能的开发 537
18.15.2 编辑日志功能的开发 539
18.16 相册管理模块的实现 539
18.16.1 相册查看和修改功能的实现 539
18.16.2 相片查看功能的实现 542
18.17 系统的优化与改进 544
B. 找寻安卓android gps App, 主要是登山用的
android当然有gps功能,只不过好像在中国酒不那么好用了,要装一个idd软件才可以用的顺畅!!!