图书介绍
Android开发完全讲义PDF|Epub|txt|kindle电子书版本网盘下载
![Android开发完全讲义](https://www.shukui.net/cover/41/30036329.jpg)
- 李宁著 著
- 出版社: 北京:中国水利水电出版社
- ISBN:9787517036630
- 出版时间:2015
- 标注页数:596页
- 文件大小:99MB
- 文件页数:610页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
Android开发完全讲义PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android入门1
1.1 Android的基本概念1
1.1.1 Android简介2
1.1.2 Android的系统构架3
1.2 Android开发环境的搭建4
1.2.1 开发Android程序需要些什么4
1.2.2 安装Android SDK5
1.2.3 安装Eclipse插件ADT7
1.2.4 创建AVD8
1.2.5 启动Android模拟器10
1.2.6 让Android模拟器飞(X86加速)11
1.2.7 测试Android开发环境是否安装成功12
1.3 Android SDK中的常用命令行工具14
1.3.1 启动和关闭ADB服务(adb start-server和adb kill-server)14
1.3.2 查询当前模拟器/设备的实例(adb devices)14
1.3.3 安装、卸载和运行程序(adb install、adbuninstall和am)14
1.3.4 PC与模拟器或真机交换文件(adb pull和adbpush)15
1.3.5 Shell命令15
1.3.6 创建、删除和浏览AVD设备(android)16
1.3.7 获取Android版本对应的ID17
1.3.8 创建SD卡17
1.4 Android的学习资源17
1.5 GooglePlay18
1.6 小结18
第2章 第一个Android程序19
2.1 编写用于显示当前日期和时间的程序19
2.1.1 新建一个Android工程19
2.1.2 界面控件的布局20
2.1.3 编写实际代码20
2.2 调试程序22
2.3 签名和发布应用程序23
2.3.1 使用命令行方式进行签名23
2.3.2 使用ADT插件方式进行签名24
2.4 DDMS透视图25
2.5 小结26
第3章 Android应用程序架构27
3.1 Android应用程序中的资源27
3.1.1 资源存放在哪里27
3.1.2 资源的种类28
3.1.3 资源的基本使用方法28
3.2 Android的应用程序组件29
3.2.1 活动(Activity)组件29
3.2.2 服务(Service)组件30
3.2.3 广播接收者(Broadcast receivers)组件30
3.2.4 内容提供者(Content providers)组件31
3.3 AndroidManifest.xml文件的结构31
3.4 小结32
第4章 建立用户接口33
4.1 建立、配置和使用Activity33
4.1.1 建立和配置Activity33
4.1.2 Activity的生命周期35
4.1.3 Activity生命周期的演示37
4.2 视图(View)40
4.2.1 视图简介40
4.2.2 使用XML布局文件控制视图40
4.2.3 在代码中控制视图42
4.2.4 混合使用XML布局文件和代码来控制视图43
4.2.5 定制控件(Widget)的三种方式45
4.2.6 定制控件——带图像的TextView46
4.2.7 定制控件——带文本标签的EditText49
4.2.8 定制控件——可更换表盘的指针时钟52
4.3 使用AlertDialog类创建对话框57
4.3.1 AlertDialog类简介57
4.3.2 “确认/取消”对话框58
4.3.3 创建询问是否删除文件的“确认/取消”对话框58
4.3.4 带3个按钮的对话框60
4.3.5 创建“覆盖/忽略/取消”对话框60
4.3.6 简单列表对话框61
4.3.7 单选列表对话框61
4.3.8 多选列表对话框62
4.3.9 创建3种选择省份的列表对话框62
4.3.10 水平进度对话框和圆形进度对话框67
4.3.11 水平进度对话框和圆形进度对话框演示68
4.3.12 自定义对话框71
4.3.13 创建登录对话框71
4.3.14 用Activity托管对话框73
4.3.15 创建悬浮对话框和触摸任何位置都可以关闭的对话框74
4.4 Toast和Notification77
4.4.1 用Toast显示提示信息框77
4.4.2 Notification与状态栏信息78
4.5 布局81
4.5.1 框架布局(FrameLayout)81
4.5.2 霓虹灯效果的TextView81
4.5.3 线性布局(LinearLayout)83
4.5.4 利用LinearLayout将按钮放在屏幕的四角和中心位置85
4.5.5 相对布局(RelativeLayout)86
4.5.6 利用RelativeLayout实现梅花效果的布局86
4.5.7 表格布局(TableLayout)87
4.5.8 计算器按钮的布局88
4.5.9 绝对布局(AbsoluteLayout)88
4.5.10 查看apk文件中的布局89
4.6 小结89
第5章 控件详解90
5.1 显示和编辑文本的控件91
5.1.1 显示文本的控件:TextView91
5.1.2 在TextView中显示URL及不同字体大小、不同颜色的文本93
5.1.3 带边框的TextView94
5.1.4 设置TextView控件的行间距97
5.1.5 输入文本的控件:EditText98
5.1.6 在EditText中输入特定的字符99
5.1.7 按Enter键显示EditText100
5.1.8 自动完成输入内容的控件:AutoCompleteTextView101
5.2 按钮与复选框控件102
5.2.1 普通按钮控件:Button103
5.2.2 异形(圆形、五角星、螺旋形和箭头)按钮103
5.2.3 图像按钮控件:ImageButton105
5.2.4 同时显示图像和文字的按钮105
5.2.5 选项按钮控件:RadioButton106
5.2.6 开关状态按钮控件:ToggleButton107
5.2.7 复选框控件:CheckBox108
5.2.8 利用XML布局文件动态创建CheckBox108
5.3 日期与时间控件110
5.3.1 输入日期的控件:DatePicker110
5.3.2 输入时间的控件:TimePicker110
5.3.3 DatePicker、TimePicker与TextView同步显示日期和时间111
5.3.4 显示时钟的控件:AnalogClock和DigitalClock112
5.4 进度条控件112
5.4.1 进度条控件:ProgressBar113
5.4.2 拖动条控件:SeekBar114
5.4.3 改变ProgressBar和SeekBar的颜色115
5.4.4 评分控件:RatingBar116
5.5 其他重要控件118
5.5.1 显示图像的控件:ImageView118
5.5.2 可显示图像指定区域的ImageView控件119
5.5.3 动态缩放和旋转图像119
5.5.4 列表控件:ListView121
5.5.5 可以单选和多选的ListView123
5.5.6 动态添加、删除ListView列表项125
5.5.7 改变ListView列表项选中状态的背景颜色128
5.5.8 封装ListView的Activity:ListActivity129
5.5.9 使用SimpleAdapter建立复杂的列表项130
5.5.10 给应用程序评分131
5.5.11 可展开的列表控件:ExpandableListView133
5.5.12 下拉列表控件:Spinner136
5.5.13 垂直滚动视图控件:ScrollView137
5.5.14 水平滚动视图控件:HorizontalScrollView138
5.5.15 可垂直和水平滚动的视图138
5.5.16 网格视图控件:GridView139
5.5.17 可循环显示和切换图像的控件:Gallery和ImageSwitcher140
5.6 小结142
第6章 View事件分发机制143
6.1 事件分发的始作俑者143
6.2 View类中的事件分发引擎144
6.3 ViewGroup类的事件分发引擎146
6.4 通过代码验证View事件分发机制148
6.4.1 实现一个派生自Button的类148
6.4.2 实现布局149
6.4.3 实现主窗口类149
6.5 单击事件(onClick)是如何被触发的152
6.6 Activity中的dispatchTouchEvent方法154
6.7 小结157
第7章 移动存储解决方案158
7.1 最简单的数据存储方式:SharedPreferences158
7.1.1 使用SharedPreferences存取数据158
7.1.2 数据的存储位置和格式160
7.1.3 存取复杂类型的数据161
7.1.4 设置数据文件的访问权限163
7.1.5 可以保存设置的Activity:PreferenceActivity165
7.2 文件的存储168
7.2.1 openFileOutput和openFileInput方法168
7.2.2 SD卡文件浏览器169
7.2.3 存取SD卡中的图像173
7.2.4 SAX引擎读取XML文件的原理175
7.2.5 将XML数据转换成Java对象175
7.3 SQLite数据库178
7.3.1 SQLite数据库管理工具178
7.3.2 创建数据库和表179
7.3.3 模糊查询181
7.3.4 分页显示记录181
7.3.5 事务181
7.4 在Android中使用SQLite数据库182
7.4.1 SQLiteOpenHelper类与自动升级数据库182
7.4.2 SimpleCursorAdapter类与数据绑定183
7.4.3 带照片的联系人管理系统185
7.4.4 将数据库与应用程序一起发布188
7.4.5 英文词典189
7.5 持久化数据库引擎(db4o)192
7.5.1 什么是db4o192
7.5.2 下载和安装db4o193
7.5.3 创建和打开数据库193
7.5.4 向数据库中插入Java对象194
7.5.5 从数据库中查询Java对象195
7.5.6 高级数据查询195
7.5.7 更新数据库中的Java对象196
7.5.8 删除数据库中的Java对象196
7.6 小结196
第8章 App之间的通信197
8.1 Intent与Activity197
8.1.1 用Intent启动Activity,并在Activity之间传递数据197
8.1.2 调用其他应用程序中的Activity(拨打电话、浏览网页、发E-mail等)200
8.1.3 定制自己的ActivityAction204
8.1.4 将电子词典的查询功能共享成一个ActivityAction205
8.2 接收和发送广播207
8.2.1 接收系统广播208
8.2.2 开机可自动运行的程序208
8.2.3 收到短信了,该做点什么209
8.2.4 显示手机电池的当前电量211
8.2.5 在自己的应用程序中发送广播212
8.2.6 接收联系人系统中发送的添加联系人广播213
8.3 小结214
第9章 服务(Service)215
9.1 Service起步215
9.1.1 Service的生命周期215
9.1.2 绑定Activity和Service218
9.2 系统服务220
9.2.1 获得系统服务220
9.2.2 监听手机来电221
9.2.3 来电黑名单222
9.2.4 在模拟器上模拟重力感应223
9.2.5 手机翻转静音225
9.3 时间服务227
9.3.1 计时器:Chronometer227
9.3.2 预约时间Handler229
9.3.3 定时器Timer230
9.3.4 在线程中更新GUI组件232
9.3.5 全局定时器AlarmManager234
9.3.6 定时更换壁纸234
9.3.7 多次定时提醒237
9.4 跨进程访问(AIDL服务)239
9.4.1 什么是AIDL服务240
9.4.2 建立AIDL服务的步骤240
9.4.3 建立AIDL服务240
9.4.4 传递复杂数据的AIDL服务243
9.5 小结248
第10章 网络技术249
10.1 可装载网络数据的控件249
10.1.1 装载网络数据的原理250
10.1.2 将网络图像装载到ListView控件中250
10.1.3 Google图像画廊(Gallery)253
10.2 WebView控件257
10.2.1 用WebView控件浏览网页257
10.2.2 手机浏览器258
10.2.3 用WebView控件装载HTML代码259
10.2.4 将英文词典整合到Web页中(JavaScript调用Java方法)260
10.3 访问HTTP资源262
10.3.1 提交HTTP GET和HTTP POST请求262
10.3.2 HttpURLConnection类265
10.3.3 上传文件265
10.3.4 远程Apk安装器268
10.3.5 调用WebService270
10.3.6 通过WebService查询产品信息271
10.4 Intemet地址275
10.4.1 Internet地址概述275
10.4.2 创建InetAddress对象276
10.4.3 判断IP地址类型278
10.5 客户端Socket279
10.5.1 Socket类基础280
10.5.2 多种连接服务端的方式282
10.5.3 客户端Socket的超时283
10.5.4 Socket类的getter和setter方法283
10.5.5 Socket的异常289
10.6 服务端Socket290
10.6.1 创建ServerSocket对象290
10.6.2 设置请求队列的长度291
10.6.3 绑定IP地址292
10.6.4 默认构造方法的使用292
10.6.5 读取和发送数据293
10.6.6 关闭连接294
10.7 小结294
第11章 多媒体技术295
11.1 图形295
11.1.1 图形绘制基础296
11.1.2 绘制基本的图形和文本298
11.1.3 绘制位图301
11.1.4 用两种方式绘制位图302
11.1.5 设置颜色的透明度303
11.1.6 可任意改变透明度的位图303
11.1.7 旋转图像304
11.1.8 旋转动画305
11.1.9 扭曲图像306
11.1.10 按圆形轨迹扭曲图像307
11.1.11 拉伸图像310
11.1.12 拉伸图像演示310
11.1.13 路径312
11.1.14 沿着路径绘制文本316
11.1.15 可在图像上绘制图形的画板318
11.2 音频和视频323
11.2.1 使用MediaPlayer播放MP3文件323
11.2.2 使用MediaRecorder录音324
11.2.3 使用VideoView播放视频325
11.2.4 使用SurfaceView播放视频326
11.3 小结327
第12章 Fragment328
12.1 什么是Fragment328
12.2 Fragment的设计原则330
12.3 Fragment初步331
12.3.1 Fragment的使用方法331
12.3.2 实例:一个简单的FragmentApP331
12.4 Fragment的生命周期335
12.4.1 生命周期详解335
12.4.2 实例:Fragment生命周期演示340
12.5 动态创建Fragment343
12.6 Fragment与Activity之间的交互346
12.7 回退栈348
12.8 小结350
第13章 ActionBar351
13.1 ActionBar简介351
13.2 ActionBar基础352
13.2.1 隐藏/显示ActionBar352
13.2.2 Action按钮354
13.3 应用程序图标导航357
13.4 收缩和展开Action View358
13.5 导航标签361
13.6 下拉导航列表366
13.7 小结368
第14章 Android 5.x新特性:质感主题369
14.1 使用不同的质感主题369
14.2 修改质感主题的默认属性值371
14.3 小结372
第15章 Android 5.x新特性:阴影和视图裁剪373
15.1 阴影373
15.1.1 高度和Z轴的位置373
15.1.2 带有阴影的拖动效果376
15.2 视图裁剪377
15.3 小结379
第16章 Android 5.x新特性:列表和卡片控件380
16.1 RecyclerView控件简介380
16.2 用RecyclerView控件实现垂直列表效果381
16.2.1 建立Model381
16.2.2 定制列表项的分隔条382
16.2.3 实现Adapter类383
16.2.4 如何使用RecyclerView控件385
16.2.5 用RecyclerView控件实现增加和删除列表项的效果386
16.3 用RecyclerView控件实现画廊的效果389
16.3.1 为画廊提供数据390
16.3.2 自定义RecyclerView控件391
16.3.3 让RecyclerView控件横屏显示392
16.4 CardView控件393
16.4.1 出现R$styleable没找到错误的原因393
16.4.2 在布局文件中使用CardView395
16.4.3 用Java代码来控制CardView控件396
16.5 小结398
第17章 Android 5.x新特性:Drawable资源399
17.1 着色399
17.2 矢量Drawable资源400
17.3 矢量动画402
17.3.1 指针会动的时钟402
17.3.2 笑脸表情404
17.4 Ripple Drawable资源406
17.5 小结409
第18章 其他Android 5.x新特性410
18.1 以Immersive模式隐藏及显示状态栏和导航条410
18.1.1 什么是Immersive模式410
18.1.2 实现界面的布局411
18.1.3 隐藏和显示411
18.1.4 监听隐藏和显示状态412
18.2 新的通知中心412
18.3 续航与安全性413
18.4 更多的新功能414
18.5 小结414
第19章 2D动画415
19.1 帧(Frame)动画415
19.1.1 AnimationDrawable与帧动画416
19.1.2 通过帧动画方式播放GIF动画417
19.1.3 播放帧动画的子集420
19.2 补间(Tween)动画422
19.2.1 移动补间动画422
19.2.2 循环向右移动的EditText与上下弹跳的球424
19.2.3 缩放补间动画426
19.2.4 跳动的心427
19.2.5 旋转补间动画428
19.2.6 旋转的星系429
19.2.7 透明度补间动画430
19.2.8 投掷炸弹431
19.2.9 振动效果434
19.2.10 自定义动画渲染器(Interceptor)434
19.2.11 以动画方式切换View的控件ViewFlipper436
19.3 小结437
第20章 OpenGL ES编程438
20.1 OpenGLES简介438
20.2 在3D空间中绘图440
20.2.1 绘制3D图形的第一步440
20.2.2 定义顶点442
20.2.3 绘制三角形443
20.2.4 三角形合并法绘制矩形445
20.2.5 顶点法绘制矩形447
20.2.6 顶点的选取顺序448
20.2.7 索引法绘制矩形449
20.2.8 基于OpenGLES的动画原理450
20.2.9 旋转的矩形450
20.3 视图452
20.3.1 有趣的比喻:照相机拍照453
20.3.2 模型变换:立方体旋转454
20.3.3 用gluLookAt方法变换视图457
20.4 颜色458
20.5 小结460
第21章 媒体特效API461
21.1 实现主界面布局461
21.2 初始化主界面463
21.3 媒体特效API演示464
21.3.1 Brightness特效464
21.3.2 反差特效(Contrast)464
21.3.3 Crossprocess特效465
21.3.4 纪录片(Documentary)特效465
21.3.5 双色调(Duotone)特效465
21.3.6 鱼眼(Fish Eye)特效465
21.3.7 垂直翻转特效466
21.3.8 灰度特效467
21.3.9 Lomoish特效467
21.3.10 底片特效467
21.3.11 色调特效467
21.4 让特效生效468
21.5 小结468
第22章 资源、国际化与自适应469
22.1 Android中的资源470
22.1.1 Android怎么存储资源470
22.1.2 资源的种类470
22.1.3 资源文件的命名471
22.2 定义和使用资源471
22.2.1 使用系统资源471
22.2.2 字符串(String)资源473
22.2.3 数组(Array)资源474
22.2.4 颜色(Color)资源476
22.2.5 尺寸(Dimension)资源477
22.2.6 类型(Style)资源479
22.2.7 主题(Theme)资源480
22.2.8 绘画(Drawable)资源482
22.2.9 动画(Animation)资源483
22.2.10 菜单(Menu)资源483
22.2.11 布局(Layout)资源486
22.2.12 属性(Attribute)资源486
22.2.13 改进可显示图标的IconTextView控件488
22.2.14 XML资源490
22.2.15 RAW资源491
22.2.16 ASSETS资源492
22.3 国际化和资源自适应492
22.3.1 对资源进行国际化492
22.3.2 Locale与国际化494
22.3.3 常用的资源配置494
22.4 小结495
第23章 访问Android手机的硬件496
23.1 在手机上测试硬件496
23.1.1 安装Android USB驱动497
23.1.2 在手机上测试程序498
23.1.3 在手机上调试程序499
23.2 录音500
23.3 控制手机摄像头(拍照)500
23.3.1 调用系统的拍照功能501
23.3.2 实现自己的拍照Activity503
23.4 传感器在手机中的应用507
23.4.1 在应用程序中使用传感器507
23.4.2 电子罗盘509
23.4.3 计步器510
23.5 GPS与地图定位511
23.5.1 Google地图511
23.5.2 用GPS定位到当前位置515
23.6 WIFI516
23.7 小结519
第24章 NDK技术520
24.1 AndroidNDK简介520
24.2 安装、配置和测试NDK开发环境521
24.2.1 系统和软件要求521
24.2.2 下载和安装AndroidNDK522
24.2.3 下载和安装Cygwin522
24.2.4 配置Android NDK的开发环境525
24.2.5 编译和运行NDK自带的例子526
24.3 AndroidNDK开发528
24.3.1 JNI接口设计528
24.3.2 编写Android NDK程序的步骤529
24.3.3 将文件中的小写字母转换成大写字母(NDK版本)529
24.3.4 配置Android.mk文件532
24.3.5 AndroidNDK定义的变量533
24.3.6 AndroidNDK定义的函数533
24.3.7 描述模块的变量534
24.3.8 配置Application.mk文件535
24.4 小结536
第25章 蓝牙技术537
25.1 蓝牙简介537
25.2 打开和关闭蓝牙设备538
25.3 搜索蓝牙设备539
25.4 蓝牙数据传输541
25.5 蓝牙通信一定需要UUID吗544
25.6 小结545
第26章 有趣的Android技术546
26.1 手势(Gesture)546
26.1.1 创建手势文件546
26.1.2 通过手势输入字符串547
26.1.3 通过手势调用程序549
26.1.4 编写自己的手势创建器550
26.2 让手机说话(TTS)551
26.3 动态壁纸552
26.4 小结559
第27章 Android App性能调优560
27.1 刷新频率与丢帧560
27.2 开发者选项与查看GPU负载561
27.3 GPU渲染时间与性能调优564
27.4 Overdraw与区域绘制565
27.5 内存抖动与性能566
27.6 小结568
第28章 内存泄露检测569
28.1 造成内存泄露的原因569
28.1.1 非静态内嵌类569
28.1.2 Handler要用静态变量或弱引用570
28.1.3 线程引发的内存泄露571
28.1.4 其他可能会造成内存泄露的情况572
28.1.5 弱引用(WeakReference)和软引用(SoftReference)572
28.2 内存泄露检测工具:Eclipse MAT573
28.3 小结576
第29章 项目实战:超级手电筒577
29.1 手电筒APP简介577
29.2 手电筒的架构578
29.3 手电筒照明579
29.3.1 手电筒的布局579
29.3.2 通过代码调整控制区域位置580
29.3.3 打开和关闭闪光灯580
29.4 警告灯581
29.5 发送莫尔斯密码583
29.6 其他功能的实现585
29.7 小结585
第30章 项目实战:基于XMPP的IM客户端586
30.1 XMPP简介586
30.2 Openfire安装与配置587
30.3 Spark的安装和使用590
30.4 用户登录591
30.5 获取好友信息591
30.6 添加好友594
30.7 发送聊天信息594
30.8 接收聊天信息595
30.9 其他功能596
30.10 小结596