图书介绍
Android开发权威指南PDF|Epub|txt|kindle电子书版本下载
![Android开发权威指南](https://www.shukui.net/cover/7/30782926.jpg)
- 李宁编著 著
- 出版社: 北京:人民邮电出版社
- ISBN:9787115257147
- 出版时间:2011
- 标注页数:582页
- 文件大小:142MB
- 文件页数:604页
- 主题词:移动终端-应用程序-程序设计-指南
PDF下载
下载说明
Android开发权威指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 准备篇2
第1章 初识庐山真面目——Android开发简介2
1.1 Android的基本概念2
1.1.1 Android简介2
1.1.2 Android的版本4
1.1.3 Android的系统构架5
1.1.4 Android的应用程序框架6
1.2 JIL Widget介绍7
1.3 小结8
第2章 工欲善其事,必先利其器——搭建和使用Android开发环境9
2.1 开发包及工具的安装9
2.1.1 开发Android程序都需要些什么9
2.1.2 安装JDK和配置Java开发环境10
2.1.3 Eclipse的安装与汉化11
2.1.4 安装Android SDK12
2.1.5 安装Eclipse插件ADT13
2.2 真实体验——编写第一个Android程序(随机绘制圆饼)15
2.2.1 创建Android工程15
2.2.2 在模拟器中运行Android程序17
2.2.3 界面控件的布局19
2.2.4 编写代码20
2.2.5 调试程序23
2.2.6 在手机上运行和调试程序28
2.3 迁移Android工程可能发生的错误29
2.4 不需要写一行代码的开发工具:AppInventor31
2.4.1 AppInventor简介31
2.4.2 AppIntentor的下载和安装31
2.4.3 用拖曳控件的方式设计界面33
2.4.4 像拼图一样拼装代码34
2.5 小结37
第二部分 基础篇40
第3章 千里之行始于足下——Android程序设计基础40
3.1 Android应用程序框架40
3.1.1 Android项目的目录结构40
3.1.2 AndroidManifest.xml文件的结构42
3.2 Android应用程序中的资源44
3.3 Android的应用程序组件44
3.3.1 Activity(Android的窗体)45
3.3.2 Service(服务)45
3.3.3 Broadcast Receiver(广播接收器)45
3.3.4 Content Provider(内容提供者)46
3.4 Android程序的UI设计46
3.4.1 手工配置XML布局文件46
3.4.2 ADT自带的可视化UI设计器47
3.4.3 使用DroidDraw设计UI布局47
3.5 小结48
第4章 我的UI我做主——用户界面开发基础49
4.1 Activity的使用方法49
4.1.1 创建Activity49
4.1.2 配置Activity50
4.1.3 显示其他的Activity(Intent与Activity)52
4.2 Activity的生命周期55
4.3 在不同Activity之间传递数据60
4.3.1 使用Intent传递数据60
4.3.2 使用静态变量传递数据62
4.3.3 使用剪切板传递数据63
4.3.4 使用全局对象传递数据65
4.3.5 返回数据到前一个Activity67
4.4 视图(View)68
4.4.1 视图简介68
4.4.2 使用XML布局文件定义视图69
4.4.3 在代码中控制视图70
4.5 布局(Layout)72
4.5.1 框架布局(FrameLayout)72
4.5.2 线性布局(LinearLayout)75
4.5.3 相对布局(RelativeLayout)79
4.5.4 表格布局(TableLayout)81
4.5.5 绝对布局(AbsoluteLayout)82
4.5.6 重用XML布局文件82
4.5.7 优化XML布局文件85
4.5.8 查看apk文件中的布局86
4.6 小结87
第5章 良好的学习开端——控件(Widget)详解88
5.1 常用XML属性解析88
5.1.1 android:id属性88
5.1.2 控件的宽度(android:layout_width)和高度(android:layout_height)88
5.1.3 android:layout_margin属性89
5.1.4 android:padding属性89
5.1.5 android:layout_weight属性90
5.1.6 android:layout_gravity和android:gravity属性90
5.1.7 android:visibility属性91
5.1.8 android:background属性91
5.1.9 指定单击事件方法(android:onClick属性)92
5.1.10 控件焦点属性(android:focusable和android:focusable-InTouchMode)92
5.2 TextView(显示文本的控件)93
5.2.1 显示富文本(URL、不同大小、字体、颜色的文本)93
5.2.2 在TextView中显示表情图像和文字97
5.2.3 单击链接弹出Activity100
5.2.4 为指定文本添加背景103
5.2.5 带边框的TextView106
5.2.6 设置行间距110
5.2.7 在未显示完的文本后面加省略号(...)111
5.2.8 用TextView实现走马灯效果113
5.2.9 垂直滚动TextView中的文本114
5.3 EditText(编辑文本的控件)115
5.3.1 像QQ一样输入表情图像115
5.3.2 在EditText中输入特定的字符117
5.3.3 AutoCompleteText-View(自动完成输入内容的控件)118
5.4 按钮和复选框控件120
5.4.1 Button(普通按钮控件)120
5.4.2 图文混排的按钮122
5.4.3 ImageButton(图像按钮控件)124
5.4.4 RadioButtor(选项按钮控件)124
5.4.5 ToggleButton(开关状态按钮控件)125
5.4.6 CheckBox(复选框控件)126
5.5 ImageView(显示图像的控件)128
5.5.1 ImageView控件的基本用法128
5.5.2 显示指定区域的图像129
5.5.3 缩放和旋转图像132
5.6 时间与日期控件133
5.6.1 DatePicker(输入日期的控件)133
5.6.2 TimePicker(输入时间的控件)134
5.6.3 DatePicker、TimePicker与TextView同步显示日期和时间134
5.6.4 AnalogClock和DigitalClock(显示时钟的控件)136
5.7 进度条控件137
5.7.1 ProgressBar(进度条控件)137
5.7.2 SeekBar(拖动条控件)139
5.7.3 设置ProgressBar和SeekBar的颜色及背景图140
5.7.4 RatingBar(评分控件)143
5.8 列表控件145
5.8.1 ListView(普通列表控件)145
5.8.2 为ListView列表项添加复选框和选项按钮147
5.8.3 对列表项进行增、删、改操作149
5.8.4 改变列表项的背景色153
5.8.5 ListActivity(封装ListView的Activity)154
5.8.6 ExpandableListView(可扩展的列表控件)155
5.8.7 Spinner(下拉列表控件)157
5.9 滚动控件160
5.9.1 ScrollView(垂直滚动控件)160
5.9.2 HorizontalScrollView(水平滚动控件)161
5.9.3 可垂直和水平滚动的视图162
5.9.4 Gallery(画廊控件)163
5.10 ImageSwitcher(图像切换控件)164
5.11 GridView(网格控件)166
5.12 TabHost(标签控件)168
5.13 ViewStub(惰性装载控件)169
5.14 小结171
第6章 友好的菜单——Menu介绍与实例172
6.1 菜单的基本用法172
6.1.1 创建选项菜单(Options Menu)172
6.1.2 带图像的选项菜单173
6.1.3 关联Activity173
6.1.4 响应菜单的单击动作174
6.1.5 动态添加、修改和删除选项菜单175
6.1.6 带复选框和选项按钮的子菜单176
6.1.7 上下文菜单178
6.1.8 菜单事件179
6.1.9 从菜单资源中装载菜单180
6.2 菜单特效181
6.2.1 自定义菜单181
6.2.2 模拟UCWeb效果菜单184
6.2.3 QuickContactBadge与联系人菜单189
6.3 小结192
第7章 友好地互动交流——信息提醒(对话框、Toast与Notification)193
7.1 对话框的基本用法193
7.1.1 带2个按钮(确认/取消)的对话框193
7.1.2 带3个按钮(覆盖/忽略/取消)的对话框195
7.1.3 简单列表对话框196
7.1.4 单选列表对话框198
7.1.5 多选列表对话框199
7.1.6 进度对话框201
7.1.7 登录对话框205
7.1.8 使用Activity托管对话框207
7.2 对话框的高级应用209
7.2.1 阻止单击按钮关闭对话框209
7.2.2 改变对话框的显示位置213
7.2.3 在对话框按钮和内容文本中插入图像215
7.2.4 改变对话框的透明度216
7.3 Toast217
7.3.1 Toast的基本用法217
7.3.2 永不关闭的Toast218
7.3.3 用PopupWindow模拟Toast提示信息框221
7.4 通知(Notification)221
7.4.1 在状态栏上显示通知信息222
7.4.2 Notification的清除动作224
7.4.3 永久存在的Notification225
7.4.4 自定义Notification226
7.5 小结227
第8章 移动的信息仓库——数据存储228
8.1 读写key-value对:SharedPreferences228
8.1.1 SharedPreferences的基本用法228
8.1.2 数据的存储位置和格式229
8.1.3 存取复杂类型的数据230
8.1.4 设置数据文件的访问权限233
8.1.5 可以保存设置的Activity:PreferenceActivity234
8.2 文件存储238
8.2.1 openFileOutput和openFileInput方法238
8.2.2 读写SD卡中的文件239
8.2.3 SAX引擎读取XML文件的原理241
8.2.4 将XML文件转换成Java对象242
8.2.5 文件压缩(Jar、Zip)245
8.3 SQLite数据库249
8.3.1 SQLite数据库管理工具249
8.3.2 SQLiteOpenHelper类与自动升级数据库251
8.3.3 数据绑定与SimpleCursor Adapter类252
8.3.4 操作SD卡上的数据库255
8.3.5 将数据库与应用程序一起发布256
8.3.6 内存数据库257
8.4 小结258
第9章 Android中的窗口——Activity259
9.1 调用其他程序中的Activity259
9.1.1 直接拨号259
9.1.2 将电话号传入拨号程序259
9.1.3 调用拨号程序260
9.1.4 浏览网页261
9.1.5 向E-mail客户端传递E-mail地址261
9.1.6 发送E-mail261
9.1.7 查看联系人262
9.1.8 显示系统设置界面(设置主界面、Wifi设置界面)263
9.1.9 启动处理音频的程序264
9.2 自定义Activity Action264
9.3 Activity的高级应用266
9.3.1 ActivityGroup266
9.3.2 自定义半透明窗口268
9.3.3 Activity之间切换的动画效果269
9.4 小结270
第10章 全局事件——广播(Broadcast)271
10.1 什么是广播271
10.2 接收系统广播272
10.2.1 短信拦截272
10.2.2 用代码注册广播接收器274
10.2.3 广播接收器的优先级275
10.2.4 来去电拦截276
10.2.5 截获屏幕休眠与唤醒280
10.2.6 开机自动运行281
10.2.7 显示手机电池的当前电量282
10.3 发送广播284
10.4 验证广播接收器是否注册285
10.5 小结286
第11章 跨应用数据源——Content Provider287
11.1 Content Provider的作用287
11.2 获得系统数据288
11.2.1 读取联系人信息288
11.2.2 查看收到的短信290
11.3 自定义Content Provider291
11.3.1 查询城市信息291
11.3.2 为Content Provider添加访问权限297
11.4 小结298
第12章 一切为用户服务——Service基础与实例299
12.1 Service基础299
12.1.1 Service的生命周期299
12.1.2 绑定Activity和Service302
12.1.3 开机启动Service305
12.1.4 判断Service是否已注册306
12.1.5 判断Service是否已开始307
12.2 跨进程访问(AIDL服务)308
12.2.1 什么是AIDL服务308
12.2.2 建立AIDL服务的步骤308
12.2.3 建立AIDL服务308
12.2.4 传递复杂数据的AIDL服务312
12.2.5 AIDL与来去电自动挂断317
12.3 小结319
第13章 做好应用桥梁——网络与通信320
13.1 WebView控件320
13.1.1 用WebView控件浏览网页320
13.1.2 用WebView控件装载HTML代码322
13.2 访问HTTP资源324
13.2.1 提交HTTP GET和HTTP POST请求324
13.2.2 HttpURLConnection类326
13.2.3 上传文件327
13.3 客户端Socket330
13.3.1 连接服务器331
13.3.2 扫描服务器打开的端口331
13.3.3 发送和接收数据333
13.3.4 获得无线路由分配给手机的IP地址334
13.3.5 设置Socket选项335
13.4 服务端Socket339
13.4.1 手机服务器的实现339
13.4.2 利用Socket在应用程序之间通信340
13.5 蓝牙通信342
13.5.1 蓝牙简介342
13.5.2 打开和关闭蓝牙设备343
13.5.3 搜索蓝牙设备344
13.5.4 蓝牙数据传输346
13.6 小结351
第14章 炫酷你的应用——多媒体开发352
14.1 音乐352
14.1.1 播放音乐352
14.1.2 录音353
14.2 视频354
14.2.1 使用VideoView播放视频354
14.2.2 使用SurfaceView播放视频355
14.2.3 录制视频357
14.3 相机357
14.3.1 调用系统的拍照功能358
14.3.2 自定义拍照功能359
14.4 铃声364
14.5 小结366
第15章 2D游戏开发367
15.1 绘制游戏的画布367
15.1.1 在View上实现动画效果367
15.1.2 在SurfaceView上实现动画效果371
15.2 图形绘制基础374
15.2.1 绘制像素点374
15.2.2 绘制直线374
15.2.3 绘制圆形375
15.2.4 绘制弧375
15.2.5 绘制文本376
15.2.6 综合绘制各种图形376
15.3 高级图像处理技术380
15.3.1 绘制位图380
15.3.2 图像的透明度382
15.3.3 旋转图像383
15.3.4 路径384
15.3.5 Shader的渲染效果388
15.4 帧(Frame)动画392
15.4.1 AnimationDrawable与帧动画392
15.4.2 播放Gif动画394
15.5 补间(Tween)动画397
15.5.1 移动补间动画397
15.5.2 缩放补间动画399
15.5.3 旋转补间动画402
15.5.4 透明度补间动画403
15.6 小结404
第16章 有趣的Android应用405
16.1 传感器405
16.1.1 如何使用传感器405
16.1.2 加速度传感器(Accelerometer)409
16.1.3 重力传感器(Gravity)409
16.1.4 光线传感器(Light)410
16.1.5 陀螺仪传感器(Gyroscope)411
16.1.6 方向传感器(Orientation)411
16.1.7 其他传感器412
16.2 输入输出技术413
16.2.1 语音识别413
16.2.2 手势输入415
16.2.3 语音朗读(TTS)417
16.3 Google地图419
16.4 GPS定位423
16.5 桌面上的小东西425
16.5.1 窗口小部件(AppWidget)425
16.5.2 快捷方式431
16.5.3 实时文件夹433
16.6 应用更华丽——动态壁纸435
16.7 小结441
第三部分 高级篇444
第17章 HTML5与移动Web开发444
17.1 HTML5简介444
17.2 HTML5精彩效果演示445
17.3 HTML5在Android中的应用447
17.4 HTML5的画布(Canvas)448
17.4.1 Canvas概述448
17.4.2 检测浏览器是否支持Canvas449
17.4.3 在Web页面中使用Canvas450
17.4.4 使用路径(Path)452
17.4.5 设置线条风格453
17.4.6 设置填充类型453
17.4.7 填充矩形区域454
17.4.8 使用渐变色(Gradient)454
17.4.9 拉伸画布对象455
17.4.10 在Canvas上绘制文本456
17.4.11 使用阴影457
17.5 调试JavaScript458
17.6 小结459
第18章 输入法开发460
18.1 Android输入法简介460
18.2 控制输入法461
18.3 输入法实战462
18.3.1 实现输入法的步骤463
18.3.2 编写输入法程序463
18.3.3 输入法服务的生命周期466
18.3.4 预输入文本467
18.3.5 输入法设置467
18.4 小结468
第19章 Android OpenGL ES开发基础469
19.1 OpenGL简介469
19.2 什么是OpenGL ES469
19.3 多边形470
19.4 颜色474
19.5 旋转三角形475
19.6 旋转立方体477
19.7 小结478
第20章 OpenGL ES的超酷效果479
20.1 保持平衡的旋转文本479
20.2 左右摇摆的Android机器人482
20.3 纠缠在一起的旋转立方体485
20.4 透明背景的旋转立方体486
20.5 触摸旋转的立方体487
20.6 2D和3D的综合旋转效果489
20.7 旋转立体天空491
20.8 小结493
第21章 Android NDK编程494
21.1 Android NDK简介494
21.2 安装、配置和测试NDK开发环境495
21.2.1 系统和软件要求495
21.2.2 下载和安装Android NDK495
21.2.3 下载和安装Cygwin495
21.2.4 配置Android NDK的开发环境498
21.3 第一个NDK程序:世界你好499
21.3.1 编写和调用NDK程序499
21.3.2 用命令行方式编译NDK程序501
21.3.3 在Eclipse中集成Android NDK502
21.4 背景不断变化的三角形(NDK版OpenGL ES)504
21.5 使用NDK OpenGL ES API实现千变万化的3D效果507
21.6 使用NDK调用音频API510
21.7 本地Activity(Native Activity)511
21.8 Android NDK配置文件详解513
21.8.1 Android NDK定义的变量513
21.8.2 Android NDK定义的函数514
21.8.3 描述模块的变量515
21.8.4 配置Application.mk文件516
21.9 小结516
第22章 测试驱动开发(TDD)517
22.1 JUnit测试框架517
22.2 测试Activity517
22.3 测试Content Provider521
22.4 测试Service523
22.5 测试普通类523
22.6 小结525
第四部分 综合实例篇528
第23章 Android综合案例一——蓝牙聊天528
23.1 蓝牙聊天主界面528
23.2 添加选项菜单530
23.3 搜索和连接蓝牙设备530
23.4 使设备可被其他蓝牙设备发现533
23.5 发送和接收聊天信息533
23.6 小结537
第24章 Android综合案例二——月球登陆(游戏)538
24.1 游戏的玩法538
24.2 实现游戏界面539
24.3 设置游戏难度540
24.4 开始游戏541
24.5 控制飞船喷火544
24.6 控制飞船改变飞行方向544
24.7 判断飞船是否成功着陆545
24.8 小结546
第25章 Android综合案例三——全键盘输入法(应用)547
25.1 安装输入法547
25.2 输入法的初始化工作548
25.3 响应键盘操作549
25.4 根据EditText控件的属性显示不同的软键盘551
25.5 小结553
第26章 Android综合案例四——贪吃蛇(游戏)554
26.1 游戏玩法554
26.2 游戏主界面设计555
26.3 控制小蛇的移动557
26.4 小结560
第27章 Android综合案例五——新浪微博客户端(应用)561
27.1 新浪微博简介561
27.1.1 新浪微博客户端561
27.1.2 新浪微博开放API563
27.2 使用新浪微博开发API563
27.3 创建和配置新浪微博客户端工程564
27.4 登录新浪微博564
27.5 功能按钮567
27.6 显示“我的首页”的微博569
27.7 评论微博572
27.8 转发微博573
27.9 写微博574
27.10 小结576
第28章 Android综合案例六——笑脸连连看(游戏)577
28.1 游戏玩法577
28.2 准备图像素材578
28.3 实现主界面578
28.4 随机生成连连看图像580
28.5 选中两个相同图像后消失580
28.6 用定时器限制游戏时间581
28.7 小结582