Android 10 Kotlin编程通俗演义

0
(0)

Android 10 Kotlin编程通俗演义

作者:牛搞

出版社:清华大学出版社

出版年:2020-6-1

定价:89

装帧:平装

ISBN:9787302552741

内容简介
······

Google已经将Kotlin列为Android开发第一开发语言。Kotlin与Java无缝兼容,同时Kotlin作为一门新语言,其语法极其简洁精练,稍微熟悉之后,开发效率立即会有明显提升。 本书分为20章,严格参考Android 10官方开发文档,全面讲解利用Kotlin开发Android应用的各种技术,章节精心安排、循序渐进,内容准确、翔实、全面而又通俗易懂,绝不是术语的罗列,也绝不是不知所云的翻译。 本书既适合Android应用开发初学者、转向Kotlin编程的Android应用开发人员阅读,也适合高等院校和培训学校计算技术相关专业的师生参考。

作者简介
······

牛搞,软件开发从业15年编程实战经验,流媒体技术专家,高性能服务器专家。CSDN知名博主。现为IOS、Adroid、C++高级培训讲师。著有图书《Android 9编程通俗演义》。

目录
······

第1章 Kotlin快速入门 1

1.1 开发环境配置 1

1.1.1 安装JDK 1

1.1.2 安装IDE 2

1.1.3 创建第一个Kotlin工程 3

1.1.4 工程组织结构 5

1.1.5 添加代码 6

1.1.6 运行程序 6

1.2 大道至简 8

1.3 万变不离其宗 10

1.4 新式语法特征 11

1.5 Kotlin独特语法 17

1.6 作用域函数 23

1.6.1 let() 24

1.6.2 run() 24

1.6.3 apply() 25

1.6.4 also() 25

1.6.5 with() 26

1.7 新式语法特点总结 26

第2章 Android系统简介 27

第3章 Android开发环境搭建 29

3.1 下载Android Studio 29

3.2 安装Android Studio 30

3.3 配置Android SDK 31

3.4 四项原则 34

第4章 第一个Kotlin App 35

4.1 运行App 37

4.1.1 在真实设备上调试 38

4.1.2 配置虚拟机 40

4.2 虚拟机加速 42

4.2.1 在BIOS中开启虚拟化

支持 43

4.2.2 安装HAXM 43

4.3 App的样子 44

4.4 工程里面有什么 44

第5章 UI资源与Layout 46

5.1 Layout 46

5.2 改动Layout 49

5.2.1 添加图像资源 52

5.2.2 文件或文件夹改名 53

5.2.3 显示自己的图像 53

5.2.4 XML小解 56

5.2.5 Layout源码解释 57

5.3 ConstraintLayout 58

5.3.1 ConstraintLayout的原理 59

5.3.2 子控件在ConstraintLayout

中居左或居右 60

5.3.3 子控件在ConstraintLayout

中横向居中 61

5.3.4 子控件在ConstraintLayout

中居中偏左 62

5.3.5 子控件A在子控件B的

上面 62

5.3.6 子控件A与子控件B左边

对齐 63

5.3.7 设置子控件的宽和高 64

5.3.8 子控件的宽和高保持一定

比例 65

5.4 设计登录页面 67

5.4.1 添加用户名输入控件 67

5.4.2 添加密码输入控件 69

5.4.3 添加登录按钮 70

5.4.4 完成收工 70

5.5 让内容滚动 72

5.5.1 添加ScrollView作为最外层

容器 73

5.5.2 禁止旋转 75

5.5.3 为横屏和竖屏分别创建Layout 76

5.5.4 让内容居中 77

5.6 添加新的Layout资源 77

第6章 各种Layout控件 79

6.1 FrameLayout 79

6.2 LinearLayout 79

6.2.1 纵向LinearLayout中子控件

横向居中 80

6.2.2 子控件均匀分布 81

6.2.3 子控件按比例分布 81

6.2.4 用LinearLayout实现登录

界面 83

6.3 GridLayout 85

6.4 TableLayout 87

第7章 操作控件 89

7.1 在Activity中创建界面 89

7.1.1 类R 90

7.1.2 类Activity 90

7.1.3 四大组件 90

7.2 在代码中操作控件 91

7.2.1 获取控件 91

7.2.2 响应View的事件 93

7.2.3 添加依赖库 93

7.2.4 显示提示 95

7.2.5 完成收工 97

第8章 Activity导航 98

8.1 创建注册页面 98

8.2 启动注册页面 100

8.2.1 修改页面标题 100

8.2.2 MainActivity源码 101

8.3 设计注册页面 102

8.4 响应注册按钮进行注册 106

8.5 获取页面返回的数据 107

8.5.1 避免常量重复出现 108

8.5.2 日志输出 110

8.5.3 将返回的数据设置到

控件中 111

8.6 ActionBar上的返回图标 111

8.6.1 原生Action Bar与MaterailDesign Action

Bar 112

8.6.2 登录页面显示返回图标 112

8.6.3 注册页面显示返回图标 114

8.7 ScrollView与软键盘 114

8.8 源码 115

8.8.1 MainActivity 115

8.8.2 RegisterActivity.kt 117

第9章 Theme 119

第10章 Fragment 121

10.1 弄巧成拙的Activity 121

10.2 使用Fragment 123

10.3 改造登录页面 125

10.3.1 添加layout文件 125

10.3.2 改变layout文件的

内容 126

10.3.3 添加Fragment类 126

10.3.4 将Fragment放到

Activity中 130

10.3.5 创建注册Fragment 132

10.3.6 显示RegisterFragment 133

10.3.7 通过AppBar控制页面

导航 133

10.3.8 实现RegisterFragment的

逻辑 134

10.3.9 从LoginFragment中读出

用户名和密码 136

10.3.10 Fragment的生命周期 137

10.3.11 Fragment状态保存与

恢复 137

10.3.12 总结 138

10.4 对话框 141

10.4.1 创建子类 142

10.4.2 显示对话框 143

10.4.3 响应返回键 144

第11章 菜单 145

11.1 添加菜单资源 145

11.2 重写onCreateOptionsMenu() 147

11.3 嵌套菜单 148

11.4 菜单项分组 149

11.5 响应菜单项 150

11.6 其他菜单类型 151

第12章 动画 152

12.1 动画原理 152

12.2 三种动画 153

12.3 视图动画 154

12.3.1 绕着中心转 155

12.3.2 不要反向转 155

12.3.3 举一反三 156

12.3.4 动画组 157

12.4 属性动画 158

12.4.1 旋转动画 158

12.4.2 动画组 159

12.5 动画资源 163

12.6 Layout动画 165

12.6.1 向Layout控件添加

子控件 165

12.6.2 ViewGroup 167

12.6.3 设置排版动画 167

12.7 转场动画 169

12.7.1 使用默认转场动画 169

12.7.2 自定义转场动画 169

第13章 自定义控件 174

13.1 创建一个Custom View 175

13.2 Custom View类 176

13.2.1 构造方法 176

13.2.2 onDraw()方法 177

13.2.3 init()方法 179

13.2.4 自定义属性 182

13.2.5 作画 184

13.3 创建圆形图像控件 185

13.3.1 将Drawable转成

Bitmap 188

13.3.2 变换矩阵 189

13.3.3 自定义属性的改动 190

13.3.4 类的所有代码 191

第14章 RecyclerView 197

14.1 基本用法 197

14.2 显示多条简单数据 198

14.2.1 添加新页面 198

14.2.2 创建Adapter子类 200

14.2.3 设置RecyclerView 202

14.2.4 用集合保存数据 203

14.3 让子控件复杂起来 204

14.3.1 创建行Layout资源 204

14.3.2 应用条目Layout资源 206

14.3.3 明显区分每一行 207

14.3.4 使用音乐信息类 209

14.4 增删改 210

14.4.1 增加一条数据 210

14.4.2 其他操作 212

14.5 局部刷新 212

14.6 响应条目选择 213

14.7 显示不同类型的行 214

14.7.1 添加新条目数据类 214

14.7.2 添加条目Layout 215

14.7.3 创建新的ViewHolder

类 216

14.7.4 区分不同的View Type 216

第15章 模仿QQ App界面 218

15.1 创建新的Android项目 218

15.2 设计登录页面 218

15.2.1 创建登录Fragment 219

15.2.2 设计登录界面 220

15.2.3 UI代码 221

15.2.4 显示登录历史 224

15.2.5 设计历史菜单项 228

15.2.6 实现显示历史的代码 229

15.2.7 selector资源 229

15.2.8 layer_list资源 230

15.2.9 定制控件背景 231

15.2.10 动画显示菜单 231

15.2.11 让菜单消失 233

15.2.12 响应选中菜单项 234

15.3 QQ主页面设计 235

15.3.1 设置导航栏 237

15.3.2 设置Tab栏 239

15.3.3 改变Tab Item图标 241

15.3.4 为ViewPager添加

内容 242

15.3.5 ViewPager与TabLayout

联动 245

15.3.6 使用SpannableString显示

图像 247

15.3.7 禁止ViewPager滑动

翻页 251

15.3.8 创建“消息”页 252

15.3.9 显示气泡菜单 258

15.3.10 抽屉效果 271

15.3.11 创建“联系人”页 286

15.3.12 创建“动态”页 303

15.3.13 实现搜索功能 304

第16章 实现聊天界面 313

16.1 原理分析 313

16.2 创建聊天Activity 313

16.2.1 activity_chat.xml 313

16.2.2 类ChatActivity 316

16.2.3 显示消息的Layout 318

16.3 启动ChatActivity 320

16.4 模拟聊天 321

第17章 多线程 323

17.1 线程与进程的概念 323

17.2 创建线程 324

17.3 创建线程的另一种方式 325

17.4 多个线程操作同一个对象 326

17.5 单线程中异步执行 329

17.6 多线程间同步执行 330

17.7 在其他线程中操作界面 330

17.8 HandlerThread 333

17.9 线程的退出 333

第18章 网络通信 336

18.1 网络基础知识 336

18.1.1 IP地址与域名 336

18.1.2 TCP与UDP 337

18.1.3 HTTP协议 337

18.2 Android HTTP通信 338

18.3 使用“异步任务” 341

18.3.1 定义异步任务类 341

18.3.2 使用异步任务类 342

18.3.3 完善异步任务类 344

18.3.4 异步任务的退出 349

18.4 使用OkHttp进行网络通信 351

18.4.1 使用OkHttp下载图像 352

18.4.2 创建Web服务端 354

18.4.3 使用OkHttp下载数据 355

18.4.4 JSON转对象 357

18.4.5 使用OkHttp上传文件 358

18.5 使用Retrofit进行网络通信 360

18.5.1 加入Retrofit的依赖项 360

18.5.2 用Retrofit下载文本 361

18.5.3 用Retrofit下载图像 363

18.5.4 用Retrofit上传图像 364

第19章 异步调用库RxJava 366

19.1 小试牛刀 366

19.2 精简发送代码 369

19.3 精简接收代码 370

19.4 map与flatmap 371

19.5 并行map 373

19.6 RxJava与Retrofit合体 374

19.7 RxJava Retrofit合体并行执行 376

19.8 RxJava与Activity的配合 377

第20章 实现聊天功能 378

20.1 添加注册功能 378

20.1.1 创建注册Activity 378

20.1.2 设计注册页面 379

20.1.3 显示Bottom Sheet 381

20.1.4 拍照 384

20.1.5 提交注册信息 392

20.2 改进登录功能 399

20.2.1 创建Retrofit相关实例 399

20.2.2 添加Fragment回调

接口 400

20.2.3 发出登录请求 401

20.2.4 保存自己的信息 403

20.2.5 防止按钮重复单击 403

20.2.6 显示进度条 404

20.3 获取联系人 406

20.3.1 修改Retrofit接口 407

20.3.2 使用RxJava定时器 407

20.3.3 添加Fragment回调

接口 408

20.3.4 获取并显示联系人 408

20.3.5 出错重试 410

20.3.6 停止网络连接 411

20.4 发出聊天消息 413

20.4.1 定义承载消息的类 413

20.4.2 在接口中添加方法 414

20.4.3 在ChatActivity中初始化Retrofit 414

20.4.4 上传消息 415

20.4.5 失败重传 416

20.5 获取聊天消息 417

20.5.1 为ChatService增加

方法 417

20.5.2 发出请求 417

点击星号评分!

平均分 0 / 5. 投票数: 0

还没有投票!请为他投一票。

推荐阅读

评论 抢沙发

评论前必须登录!

 

登录

找回密码

注册