图书介绍
疯狂Android讲义 Kotlin版PDF|Epub|txt|kindle电子书版本网盘下载
- 李刚编著 著
- 出版社: 北京:电子工业出版社
- ISBN:9787121342370
- 出版时间:2018
- 标注页数:737页
- 文件大小:111MB
- 文件页数:755页
- 主题词:移动终端-应用程序-程序设计
PDF下载
下载说明
疯狂Android讲义 Kotlin版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 Android应用和开发环境1
1.1 Android的发展和历史2
1.1.1 Android的发展和简介2
1.1.2 Android 8.x平台架构及特性3
1.2 使用Gradle自动化构建项目5
1.2.1 下载和安装 Gradle5
1.2.2 Gradle构建文件和创建任务6
1.2.3 Gradle的属性定义11
1.2.4 增量式构建14
1.2.5 Gradle插件和java、application等插件15
1.2.6 依赖管理17
1.2.7 自定义任务20
1.2.8 自定义插件22
1.3 搭建Android开发环境24
1.3.1 安装Android Studio24
1.3.2 下载和安装Android SDK29
1.3.3 安装过程中常见的错误31
1.3.4 安装运行、调试环境32
1.4 Android常用开发工具的用法39
1.4.1 使用Monitor进行调试39
1.4.2 Android Debug Bridge的用法41
1.4.3 使用mksdcard管理虚拟SD卡42
1.5 开始第一个Android应用42
1.5.1 使用Android Studio开发第一个Android应用42
1.5.2 通过Android Studio运行Android应用45
1.6 Android应用结构分析46
1.6.1 Android项目结构分析47
1.6.2 自动生成的R.java49
1.6.3 res目录说明50
1.6.4 Android应用的清单文件:AndroidManifest.xml51
1.6.5 应用程序权限说明52
1.7 Android应用的基本组件介绍53
1.7.1 Activity和Viiew53
1.7.2 Service53
1.7.3 BroadcastReceiver54
1.7.4 ContentProvider54
1.7.5 Intent和IntentFilter54
1.8 使用Android 8的签名APK55
1.8.1 使用Android Studio对Android应用签名56
1.8.2 使用Android 8的命令对APK签名57
1.9 本章小结58
第2章 Android应用的界面编程59
2.1 界面编程与视图(Viiew)组件60
2.1.1 视图组件与容器组件60
2.1.2 使用XML布局文件控制UI界面66
2.1.3 在代码中控制UI界面66
实例:用编程的方式开发UI界面66
2.1.4 使用XML布局文件和代码混合控制UI界面67
实例:简单图片浏览器68
2.1.5 开发自定义View69
实例:跟随手指的小球70
2.2 第1组UI组件:布局管理器72
2.2.1 线性布局73
2.2.2 表格布局74
实例:丰富的表格布局75
2.2.3 帧布局77
实例:霓虹灯效果79
2.2.4 相对布局80
实例:梅花布局效果81
2.2.5 网格布局82
实例:计算器界面83
2.2.6 绝对布局84
2.2.7 Android 8的约束布局85
2.3 第2组UI组件:TextView及其子类89
2.3.1 文本框(TextView)和编辑框(EditText)的功能与用法89
实例:功能丰富的文本框93
2.3.2 EditText的功能与用法95
2.3.3 按钮(Button)组件的功能与用法95
实例:按钮、圆形按钮、带文字的图片按钮96
2.3.4 使用9Patch图片作为背景97
2.3.5 单选钮(RadioButton)和复选框(CheckBox)的功能与用法98
实例:利用单选钮、复选框获取用户信息98
2.3.6 状态开关按钮(ToggleButton)和开关(Switch)的功能与用法100
实例:动态控制布局101
2.3.7 时钟(AnalogClock和TextClock)的功能与用法102
实例:手机里的“劳力士”103
2.3.8 计时器(Chronometer)104
2.4 第3组UI组件:hnageView及其子类104
实例:图片浏览器106
实例:强大的图片按钮108
实例:使用QuickContactBadge关联联系人109
2.5 第4组UI组件:AdapterView及子类111
2.5.1 列表视图(ListView)和ListActivity111
实例:改变分隔条、基于数组的ListView112
2.5.2 Adapter接口及实现类113
实例:使用ArrayAdapter创建ListView114
实例:使用SimpleAdapter创建ListViiew116
实例:扩展BaseAdapter实现不存储列表项的ListView119
2.5.3 自动完成文本框(AutoCompleteTextView)的功能与用法120
2.5.4 网格视图(GridView)的功能与用法122
实例:带预览的图片浏览器123
2.5.5 可展开的列表组件(ExpandableListView)125
2.5.6 Spinner的功能与用法128
2.5.7 AdapterViewFlipper的功能与用法129
实例:自动播放的图片库129
2.5.8 StackView的功能与用法132
实例:叠在一起的图片132
2.6 第5组UI组件:ProgressBar及其子类134
2.6.1 进度条(ProgressBar)的功能与用法134
2.6.2 拖动条(SeekBar)的功能与用法137
实例:通过拖动滑块来改变图片的透明度138
2.6.3 星级评分条(RatingBar)的功能与用法139
实例:通过星级改变图片的透明度139
2.7 第6组UI组件:ViewAnimator及其子类140
2.7.1 ViewSwitcher的功能与用法141
实例:仿Android系统的Launcher界面141
2.7.2 图像切换器(ImageSwitcher)的功能与用法145
实例:支持动画的图片浏览器145
2.7.3 文本切换器(TextSwitcher)的功能与用法147
2.7.4 ViiewFlipper的功能与用法147
实例:自动播放的图片库148
2.8 各种杂项组件149
2.8.1 使用Toast显示提示信息框150
实例:带图片的消息提示150
2.8.2 日历视图(CalendarView)组件的功能与用法151
实例:选择您的生日152
2.8.3 日期、时间选择器(DatePicker和TimePicker)的功能与用法153
实例:用户选择日期、时间154
2.8.4 数值选择器(NumberPicker)的功能与用法156
实例:选择您意向的价格范围156
2.8.5 搜索框(SearchView)的功能与用法157
实例:搜索158
2.8.6 选项卡(TabHost)的功能和用法159
2.8.7 滚动视图(ScrollView)的功能与用法160
实例:可垂直和水平滚动的视图160
2.8.8 Android 8的通知和通知Channel161
实例:加薪通知162
2.9 第7组UI组件:对话框164
2.9.1 使用AlertDialog创建对话框164
实例:显示提示消息的对话框165
实例:简单列表项对话框166
实例:单选列表项对话框166
实例:多选列表项对话框167
实例:自定义列表项对话框168
实例:自定义Viiew对话框168
2.9.2 对话框风格的窗口169
2.9.3 使用PopupWindow170
2.9.4 使用DatePickerDialog、TimePickerDialog171
2.9.5 使用ProgressDialog创建进度对话框172
2.10 菜单173
2.10.1 选项菜单和子菜单(SubMenu)173
2.10.2 使用监听器来监听菜单事件176
2.10.3 创建多选菜单项和单选菜单项176
2.10.4 设置与菜单项关联的Activity177
2.10.5 上下文菜单178
2.10.6 使用XML文件定义菜单179
实例:使用XML资源文件定义菜单180
2.10.7 使用PopupMenu创建弹出式菜单183
2.11 使用活动条(ActionBar)184
2.11.1 启用ActionBar184
2.11.2 使用ActionBar显示选项菜单项185
2.11.3 启用程序图标导航187
2.11.4 添加Action Viiew189
实例:“标题”上的时钟189
2.11.5 使用ActionBar实现Tab导航189
实例:ActionBar结合Fragment实现Tab导航190
2.11.6 使用ActionBar实现下拉式导航192
实例:ActionBar结合Fragment实现下拉式导航192
2.12 本章小结194
第3章 Android的事件机制195
3.1 Android事件处理概述196
3.2 基于监听的事件处理196
3.2.1 监听的处理模型196
3.2.2 事件和事件监听器199
实例:控制飞机移动199
3.2.3 内部类作为事件监听器类202
3.2.4 外部类作为事件监听器类202
3.2.5 Activity本身作为事件监听器类203
3.2.6 Lambda表达式作为事件监听器类204
3.2.7 直接绑定到标签204
3.3 基于回调的事件处理205
3.3.1 回调机制与监听机制205
3.3.2 基于回调的事件传播207
3.4 响应系统设置的事件208
3.4.1 Configuration类简介209
实例:获取系统设备状态209
3.4.2 重写onConfigurationChanged方法响应系统设置更改210
实例:监听屏幕方向的改变211
3.5 Handler消息传递机制212
3.5.1 Handler类简介213
实例:自动播放动画213
3.5.2 Handler、Loop、MessageQueue的工作原理214
实例:使用新线程计算质数216
3.6 异步任务(AsyncTask)218
实例:使用异步任务执行下载219
3.7 本章小结220
第4章 深入理解Activity与Fragment221
4.1 建立、配置和使用Activity222
4.1.1 高级Activity222
实例:用LauncherActivity开发启动Activity的列表223
实例:使用ExpandableListActivity实现可展开的Activity224
实例:PreferenceActivity结合PreferenceFragment实现参数设置界面224
4.1.2 配置Activity228
4.1.3 启动、关闭Activity230
4.1.4 使用Bundle在Activity之间交换数据232
实例:用第二个Activity处理注册信息233
4.1.5 启动其他Activity并返回结果235
实例:用第二个Activity让用户选择信息236
4.2 Activity的回调机制238
4.3 Activity的生命周期239
4.3.1 Activity的生命周期演示239
4.3.2 Activity与Servlet的相似性和区别242
4.4 Activity的4种加载模式243
4.4.1 standard模式243
4.4.2 singleTop模式244
4.4.3 singleTask模式245
4.4.4 singleInstance模式246
4.5 Fragment详解248
4.5.1 Fragment概述及其设计初衷248
4.5.2 创建Fragment249
实例:开发显示图书详情的Fragment250
实例:创建ListFragment251
4.5.3 Fragment与Activity通信253
4.5.4 Fragment管理与Fragment事务254
实例:开发兼顾屏幕分辨率的应用255
4.6 Fragment的生命周期258
4.7 本章小结262
第5章 使用Intent和IntentFilter通信263
5.1 Intent对象简述264
5.2 Intent的属性及intent-filter配置265
5.2.1 Component属性265
5.2.2 Action、Category属性与intent-filter配置267
5.2.3 指定Action、Categoty调用系统Activity271
实例:查看并获取联系人电话272
实例:返回系统Home桌面275
5.2.4 Data、Type属性与intent-filter配置275
实例:使用Action、Data属性启动系统Activity281
5.2.5 Extra属性283
5.2.6 Flag属性283
5.3 本章小结284
第6章 Android应用资源285
6.1 应用资源概述286
6.1.1 资源的类型及存储方式286
6.1.2 使用资源287
6.2 字符串、颜色、尺寸资源289
6.2.1 颜色值的定义289
6.2.2 定义字符串、颜色、尺寸资源文件290
6.2.3 使用字符串、颜色、尺寸资源291
6.3 数组(Array)资源293
6.4 使用Drawable资源295
6.4.1 图片资源296
6.4.2 StateListDrawable资源296
实例:高亮显示正在输入的文本框297
6.4.3 LayerDrawable资源298
实例:定制拖动条的外观298
6.4.4 ShapeDrawable资源299
实例:椭圆形、渐变背景的文本框300
6.4.5 ClipDrawable资源301
实例:徐徐展开的风景302
6.4.6 AnimationDrawable资源303
6.5 属性动画(Proper Animation)资源305
实例:不断渐变的背景色306
6.6 使用原始XML资源307
6.6.1 定义原始XML资源307
6.6.2 使用原始XML文件308
6.7 使用布局(Layout)资源309
6.8 使用菜单(Menu)资源310
6.9 样式(Style)和主题(Theme)资源310
6.9.1 样式资源310
6.9.2 主题资源312
实例:给所有窗口添加边框、背景312
6.10 属性(Attribute)资源313
6.11 使用原始资源316
6.12 国际化317
6.12.1 为Android应用提供国际化资源317
6.12.2 国际化Android应用318
6.13 自适应不同屏幕的资源320
6.14 本章小结323
第7章 图形与图像处理324
7.1 使用简单图片325
7.1.1 使用Drawable对象325
7.1.2 Bitmap和BitmapFactoty325
7.2 绘图327
7.2.1 Android绘图基础:Canvas、Paint等327
7.2.2 Path类331
7.2.3 绘制游戏动画334
实例:采用双缓冲实现画图板334
实例:弹球游戏338
7.3 图形特效处理341
7.3.1 使用Matrix控制变换341
7.3.2 使用drawBitmapMesh扭曲图像343
实例:可揉动的图片344
7.3.3 使用Shader填充图形346
7.4 逐帧(Frame)动画347
7.4.1 AnimationDrawable与逐帧动画347
7.4.2 实例:在指定点爆炸349
7.5 补间(Tween)动画351
7.5.1 Tween动画与Interpolator351
7.5.2 位置、大小、旋转度、透明度改变的补间动画352
实例:蝴蝶飞舞354
7.5.3 自定义补间动画356
7.6 Android 8增强的属性动画359
7.6.1 属性动画的API359
7.6.2 使用属性动画361
实例:大珠小珠落玉盘365
7.7 使用SurfaceVi ew实现动画369
7.7.1 SurfaceView的绘图机制369
7.7.2 实例:基于SurfaceView开发示波器372
7.8 本章小结374
第8章 Android数据存储与IO375
8.1 使用SharedPreferences376
8.1.1 SharedPreferences与Editor简介376
8.1.2 SharedPreferences的存储位置和格式377
实例:记录应用程序的使用次数378
8.2 File存储379
8.2.1 openFileOutput和openFileInput379
8.2.2 读写SD卡上的文件381
实例:SD卡文件浏览器384
8.3 SQLite数据库387
8.3.1 SQLiteDatabase简介387
8.3.2 创建数据库和表388
8.3.3 SQLiteOpenHelper类389
8.3.4 使用SQL语句操作SQLite数据库390
8.3.5 使用sqlite3工具392
8.3.6 使用特定方法操作SQLite数据库393
8.3.7 事务396
8.3.8 SQLite数据库最佳实践建议396
8.4 手势(Gesture)397
8.4.1 手势检测397
实例:通过手势缩放图片399
实例:通过手势实现翻页效果400
8.4.2 增加手势402
8.4.3 识别用户手势405
8.5 让应用说话(TTS)407
8.6 本章小结410
第9章 使用ContentProvider实现数据共享411
9.1 数据共享标准:ContentProvider412
9.1.1 ContentProvider简介412
9.1.2 Uri简介413
9.1.3 使用ContentResolver操作数据414
9.2 开发ContentProvider415
9.2.1 ContentProvider与ContentResolver的关系415
9.2.2 开发ContentProvider子类416
9.2.3 配置ContentProvider417
9.2.4 使用ContentResolver调用方法418
9.2.5 创建ContentProvider的说明420
实例:使用ContentProvider共享单词数据421
9.3 操作系统的ContentProvider426
9.3.1 使用ContentProvider管理联系人426
9.3.2 使用ContentProvider管理多媒体内容431
9.4 监听ContentProvider的数据改变434
9.4.1 ContentObserver简介434
9.4.2 实例:监听用户发出的短信435
9.5 本章小结437
第10章 Service与BroadcastReceiver438
10.1 Service简介439
10.1.1 创建、配置Service439
10.1.2 启动和停止Service441
10.1.3 绑定本地Service并与之通信442
10.1.4 Service的生命周期446
10.1.5 使用IntentService447
10.2 跨进程调用Service (AIDL Service)449
10.2.1 AIDL Service简介450
10.2.2 创建AIDL文件450
10.2.3 将接口暴露给客户端451
10.2.4 客户端访问AIDL Service452
实例:传递复杂数据的AIDL Service453
10.3 电话管理器(TelephonyManager)458
实例:获取网络和SIM卡信息458
实例:监听手机来电460
10.4 短信管理器(SmsManager)461
实例:发送短信461
实例:短信群发462
10.5 音频管理器(AudioManager)465
10.5.1 AudioManager简介465
10.5.2 实例:使用AudioManager控制手机音频465
10.6 振动器(Vibrator)466
10.6.1 Vibrator简介466
10.6.2 使用Vibrator控制手机振动467
10.7 手机闹钟服务(AlarmManager)468
10.7.1 AlarmManager简介468
10.7.2 设置闹钟468
实例:定时更换壁纸470
10.8 Android 8的广播接收器472
10.8.1 BroadcastReceiver简介472
10.8.2 发送广播474
10.8.3 有序广播475
实例:基于Service的音乐播放器477
10.9 接收系统广播消息481
实例:Android 8中开机自动运行的限制482
实例:手机电量提示483
10.10 本章小结484
第11章 多媒体应用开发485
11.1 音频和视频的播放486
11.1.1 Android 8增强的MediaPlayer486
11.1.2 音乐特效控制490
实例:音乐的示波器、均衡、重低音和音场491
11.1.3 Android 8新增的VolumeShaper498
11.1.4 使用SoundPool播放音效499
11.1.5 使用VideoViiew播放视频501
11.1.6 使用MediaPlayer和SurfaceView播放视频503
11.2 使用MediaRecorder录制音频506
实例:录制音乐507
11.3 控制摄像头拍照509
11.3.1 使用Camera v2拍照509
实例:拍照时自动对焦510
11.3.2 录制视频短片516
实例:录制生活短片516
11.4 屏幕捕捉520
11.5 本章小结522
第12章 OpenGL与3D开发523
12.1 3D图形与3D开发的基本知识524
12.2 OpenGL和OpenGL ES简介525
12.3 绘制2D图形526
12.3.1 在Android应用中使用OpenGL ES526
12.3.2 绘制平面上的多边形528
12.3.3 旋转534
12.4 绘制3D图形537
12.4.1 构建3D图形537
12.4.2 应用纹理贴图541
12.5 本章小结546
第13章 Android网络应用547
13.1 基于TCP协议的网络通信548
13.1.1 TCP协议基础548
13.1.2 使用ServerSocket创建TCP服务器端549
13.1.3 使用Socket进行通信550
13.1.4 加入多线程553
13.2 使用URL访问网络资源558
13.2.1 使用URL读取网络资源559
13.2.2 使用URLConnection提交请求560
13.3 使用HTTP访问网络565
13.3.1 使用HttpURLConnection565
实例:多线程下载565
13.3.2 使用OkHttp570
实例:访问被保护资源571
13.4 使用WebView进行混合开发575
13.4.1 使用WebView浏览网页575
实例:迷你浏览器575
13.4.2 使用WebView加载HT ML代码577
13.4.3 使用WebView中的JavaScript调用Android方法578
13.5 本章小结580
第14章 管理Android系统桌面581
14.1 改变壁纸582
14.1.1 开发动态壁纸(LiveWallpapers)582
14.1.2 实例:蜿蜒壁纸583
14.2 Android 8的快捷方式587
14.2.1 静态快捷方式587
14.2.2 动态快捷方式588
14.2.3 Andrpid 8的桌面快捷方式(Pinned Shortcut)590
实例:让程序占领桌面591
14.3 管理桌面控件592
14.3.1 开发桌面控件592
实例:液晶时钟594
14.3.2 显示带数据集的桌面控件596
14.4 本章小结599
第15章 传感器应用开发600
15.1 利用Android的传感器601
15.2 Android的常用传感器603
15.2.1 方向传感器603
15.2.2 陀螺仪传感器604
15.2.3 磁场传感器604
15.2.4 重力传感器604
15.2.5 线性加速度传感器605
15.2.6 温度传感器605
15.2.7 光传感器605
15.2.8 湿度传感器605
15.2.9 压力传感器605
15.2.10 心率传感器605
15.2.11 Android 8的离身检查传感器605
15.3 传感器应用案例609
实例:指南针609
实例:水平仪611
15.4 本章小结614
第16章 GPS应用开发615
16.1 支持GPS的核心API616
16.2 获取LocationProvider618
16.2.1 获取所有可用的LoeationProvider618
16.2.2 通过名称获得指定LocationProvider619
16.2.3 根据Criteria获得LocationProvider619
16.3 获取定位信息620
16.3.1 通过模拟器发送GPS信息620
16.3.2 获取定位数据620
16.4 临近警告622
16.5 本章小结624
第17章 整合高德Map服务625
17.1 调用高德Map服务626
17.1.1 获取Map API Key626
17.1.2 高德地图入门628
17.2 根据GPS信息在地图上定位632
17.3 执行定位638
17.3.1 地址解析与反向地址解析638
17.3.2 根据地址执行定位641
17.4 GPS导航643
17.5 本章小结647
第18章 合金弹头648
18.1 合金弹头游戏简介649
18.2 开发游戏界面组件649
18.2.1 游戏界面分析649
18.2.2 实现“怪物”类650
18.2.3 实现怪物管理类657
18.2.4 实现“子弹”类661
18.2.5 实现“角色”类663
18.3 实现绘图工具类668
18.4 加载、管理游戏图片673
18.5 实现游戏界面676
18.5.1 实现游戏Activity676
18.5.2 实现主视图678
18.6 本章小结686
第19章 电子拍卖系统687
19.1 系统功能简介和架构设计688
19.1.1 系统功能简介688
19.1.2 系统架构设计689
19.2 JSON简介690
19.2.1 使用JSON语法创建对象691
19.2.2 使用JSON语法创建数组692
19.2.3 Android的JSON支持693
19.3 发送请求的工具类693
19.4 用户登录695
19.4.1 处理登录的接口695
19.4.2 用户登录客户端696
19.5 查看流拍物品704
19.5.1 查看流拍物品的接口704
19.5.2 查看流拍物品客户端705
19.6 管理物品种类709
19.6.1 浏览物品种类的接口710
19.6.2 查看物品种类710
19.6.3 添加种类的接口714
19.6.4 添加物品种类715
19.7 管理拍卖物品716
19.7.1 查看自己的拍卖物品的接口717
19.7.2 查看自己的拍卖物品717
19.7.3 添加拍卖物品的接口721
19.7.4 添加拍卖物品721
19.8 参与竞拍727
19.8.1 选择物品种类727
19.8.2 根据种类浏览物品的服务器端接口728
19.8.3 根据种类浏览物品729
19.8.4 参与竞价的服务器端接口730
19.8.5 参与竞价731
19.9 权限控制736
19.10 本章小结737