当前位置:首页 > 工业技术
爱上Android
爱上Android

爱上Android

工业技术

  • 作 者:于连林编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115461759
  • 页数:414 页
  • 更新时间:2023-02-08
图书介绍:
《爱上Android》目录

1章 初识Android 1

.1 Android是什么 1

.2 Android体系架构 1

.3 Android发展史 4

2章 选择您的开发工具 5

.1 准备软件,认识Android Studio 5

.1.1 什么是Android Studio 5

.1.2 为什么使用Android Studio 6

.2 安装Android Studio 6

.2.1 安装配置要求 6

.2.2 下载地址 6

.2.3 安装JDK 7

.2.4 安装Android Studio 7

.2.5 设置JDK和Android SDK目录 14

.3 项目的创建 16

.3.1 创建项目的步骤 16

.3.2 解决错误(没有错误最好) 19

.4 Android Studio界面预览 21

.5 常用设置 22

.5.1 设置主题 22

.5.2 设置字体和格式 22

.5.3 设置文件编码 24

.5.4 设置快捷键 24

.5.5 其他设置 26

.6 常用快捷键 26

.7 Android工程目录 27

.7.1 工程目录介绍 27

.7.2 Gradle使用详解 28

.7.3 app/build.gradle 28

.8 SDK目录介绍 30

.9 调试程序 31

.9.1 创建模拟器 31

.9.2 连接真实手机 33

.9.3 Genymotion模拟器 34

.10 程序启动分析 34

.11 日志和注释 36

.11.1 注释 37

.11.2 日志 37

.11.3 设置Android Studio日志显示颜色 38

.11.4 实际开发中控制日志 39

.11.5 Logger的使用 41

结 42

3章 界面的搭建 43

.1 眼见皆View 43

.2 布局的搭建方式 43

.3 常用的控件和属性 44

.3.1 TextView 44

.3.2 Button 45

.3.3 EditText 46

.3.4 ImageView 47

.3.5 ProgressBar 49

.4 布局的介绍 50

.4.1 LinearLayout(线性布局) 50

.4.2 RelativeLayout(相对布局) 52

.4.3 FrameLayout(帧布局) 55

.4.4 GridLayout(网格布局) 56

.4.5 CoordinatorLayout 58

.4.6 ConstraintLayout(约束布局) 61

.5 提示信息Toast和Snackbar 61

.5.1 Toast使用详解 61

.5.2 修改Toast位置 63

.5.3 自定义Toast布局 63

.5.4 避免内存泄露 65

.5.5 Snackbar 65

.6 点击事件三种写法 68

.6.1 通过匿名内部类或内部类实现 68

.6.2 让类实现接口 69

.6.3 在布局文件中注册事件 70

.7 使用Lambda表达式代替匿名内部类 70

.7.1 什么是lambda呢 70

.7.2 使用Lambda表达式 71

.8 AlertDialog提示对话框 73

.8.1 一般对话框 75

.8.2 Material Design风格的对话框 76

.8.3 列表对话框 78

.8.4 单选按钮对话框 79

.8.5 多选按钮对话框 79

.8.6 自定义AlertDialog 80

.9 ProgressDialog 81

结 83

4章 Activity介绍 84

.1 Activity之间的跳转 84

.1.1 显示意图 84

.1.2 隐式意图 86

.1.3 隐式意图的常见操作 88

.1.4 IntentFilter匹配规则 89

.2 Activity之间传递数据 92

.2.1 通过Intent传递数据 92

.2.2 静态工厂设计模式传递数据 93

.2.3 返回数据给之前的Activity 93

.3 Android 6.0权限的管理 95

.3.1 Android 6.0新的权限机制 96

.3.2 申请权限 96

.3.3 第三方库RxPermissions 100

.4 Activity生命周期 101

.4.1 生命周期的方法 101

.4.2 Activity销毁时保存数据 102

.4.3 锁定横竖屏 103

.4.4 开发时注意事项 104

.5 Activity任务栈 104

.6 Activity启动模式 105

.6.1 standard 105

.6.2 singleTop 106

.6.3 singleTask 106

.6.4 singleInstance 107

.6.5 统一管理Activity 108

.7 Toolbar和Navigation Drawer 109

.7.1 AppBar的简介 109

.7.2 创建菜单 111

.7.3 Toolbar 112

.7.4 Toolbar遇上Navigation Drawer 114

.8 主题样式设置 118

结 120

5章 数据存储 121

.1 SharedPreference 121

.2 MD5加密 123

.3 文件存储数据 124

.3.1 保存到手机内存(Internal Storage) 124

.3.2 SD卡存储(External Storage) 127

.4 SQLite存储 132

.4.1 创建数据库 132

.4.2 升级数据库 135

.4.3 数据库增删改查(CURD) 137

.4.4 SQLite数据库的事务操作 144

.5 常见的数据库框架 146

结 146

6章 网络编程 148

.1 HTTP协议 148

.1.1 URL简介 148

.1.2 HTTP简介 149

.1.3 GET和POST对比 151

.2 HttpURLConnection 151

.2.1 为什么废弃HttpClient 151

.2.2 使用HttpURLConnection联网 152

.3 多线程编程 154

.3.1 线程的同步和异步 154

.3.2 AsycTask 158

.3.3 RxJava 161

.4 网络请求实例 164

.5 JSON解析 168

.5.1 使用Android原生方式解析JSON 169

.5.2 Gson的使用 170

.5.3 插件GsonFormat快速实现JavaBean 174

.5.4 完成请求实例 176

.6 网络请求框架——Retrofit 179

.6.1 使用Retrofit 179

.6.2 常用的注解 181

.6.3 完成请求案例 181

.6.4 RxJava和Retrofit结合 183

.7 WebView 184

.7.1 WebView配置 186

.7.2 WebViewClient方法 187

.7.3 设置WebChromeClient 189

.7.4 WebView常用的方法 190

.7.5 WebView模板代码 191

结 196

7章 图片的处理 197

.1 Bitmap和Drawable 197

.2 大图的加载 199

.3 图片加水印 202

.4 图片特效,Matrix 205

.4.1 缩放 205

.4.2 倒影、镜面 207

.4.3 旋转 208

.4.4 位移 208

.5 图片颜色处理——打造自己的美图秀秀 209

.5.1 颜色过滤器ColorMatrixColorFilter 209

.5.2 实现图片美化功能 210

.6 案例——随手涂鸦 214

.7 加载网络图片 217

.7.1 网络图片的缓存策略 217

.7.2 图片加载库Picasso的使用 218

结 219

8章 复杂控件的使用 220

.1 ListView 220

.1.1 初识ListView 221

.1.2 定制ListView条目的界面 222

.1.3 优化ListView 225

.1.4 ListView的点击事件 226

.1.5 ListView常用的属性 228

.2 GridView 229

.3 RecyclerView 231

.3.1 初识RecyclerView 231

.3.2 使用RecyclerView 232

.3.3 不同的布局排列方式 234

.3.4 RecyclerView添加点击事件 236

.3.5 RecyclerView添加删除数据 237

.3.6 下拉刷新SwipeRefreshLayout 237

.4 CardView 239

.5 ViewPager 241

.6 BottomNavigationView(底部导航) 243

.7 TabLayout 246

.7.1 TabLayout使用 246

.7.2 TabLayout自定义条目样式 249

结 250

9章 探索Fragment 251

.1 使用Fragment 252

.1.1 Fragment的生命周期 252

.1.2 创建Fragment 252

.1.3 向Activity添加Fragment 254

.1.4 管理片段 256

.1.5 Fragment的向下兼容 257

.2 FragmentTabHost实现底部标签 257

.3 ViewPager和Fragment结合 259

结 273

10章 广播接收者 274

0.1 广播简介 274

0.2 实现一个BroadcastReceiver 275

0.3 发送自定义广播 279

0.4 桌面快捷方式 283

结 285

11章 Service介绍 286

1.1 服务的基本用法 286

1.1.1 创建服务 286

1.1.2 启动和停止服务 287

1.1.3 绑定服务 289

1.1.4 服务的生命周期 292

1.2 IntentService 292

1.3 Service和BroadCastReceiver结合使用的案例(兼容Android 7.0) 294

1.3.1 Android 7.0错误原因 297

1.3.2 使用FileProvider 298

结 300

12章 动画 301

2.1 补间动画(Tween Animation) 301

2.2.1 AlphaAnimation(透明度动画) 302

2.2.2 ScaleAnimation(缩放动画) 304

2.2.3 TranslateAnimation(平移动画) 305

2.2.4 RotateAnimation(旋转动画) 306

2.2 逐帧动画(Frame Animation) 308

2.3 属性动画 310

结 313

13章 新特性 314

3.1 Android 7.0分屏开发 314

3.1.1 如何分屏呢 315

3.1.2 多窗口生命周期 315

3.1.3 针对多窗口进行配置 316

3.1.4 多窗口模式中运行应用注意事项 316

3.1.5 在多窗口模式中启动新Activity 317

3.1.6 支持拖放 318

3.2 Android 7.0快速设定 318

3.3 约束布局ConstraintLayout 321

3.3.1 ConstraintLayout简介 321

3.3.2 添加约束布局 322

3.3.3 使用约束布局 322

3.3.4 添加约束 323

3.3.5 使用自动连接和约束推断 325

3.3.6 快速对齐Align 326

3.4 使用Kotlin语言开发Android 326

结 330

14章 性能优化 331

4.1 性能检测 331

4.1.1 检测内存泄露 331

4.1.2 LeakCanary 334

4.1.3 追踪内存分配 335

4.1.4 查询方法执行的时间 335

4.2 过度绘制(OverDraw) 336

4.2.1 过度绘制概念 336

4.2.2 追踪过度绘制 336

4.2.3 去掉不合理背景 337

4.2.4 不合理的XML布局对绘制的影响 338

4.3 避免ANR 338

4.3.1 ANR分析 339

4.3.2 ANR解决方式 341

结 341

15章 屏幕适配 342

5.1 Android屏幕适配出现的原因 342

5.2 相关重要概念 344

5.2.1 屏幕尺寸 344

5.2.2 屏幕分辨率 344

5.2.3 屏幕像素密度 344

5.2.4 屏幕尺寸、分辨率、像素密度三者关系 344

5.2.5 dip 345

5.2.6 sp 345

5.3 尺寸适配解决方案 346

5.3.1 “布局”适配 346

5.3.2 尺寸(size)限定符 347

5.3.3 最小宽度(Smallest-width)限定符 348

5.3.4 使用布局别名 349

5.3.5 屏幕方向(Orientation)限定符 350

5.3.6 “布局组件”匹配 352

5.3.7 Layout_weight详解 352

5.3.8 “图片资源”匹配 355

5.3.9 .9的制作 355

5.3.10 “用户界面流程”匹配 357

5.4 屏幕密度适配 359

5.4.1 “布局控件”适配 359

5.4.2 百分比布局 360

5.4.3 约束布局 362

结 362

16章 自定义控件 363

6.1 自定义控件简介 363

6.2 View的生命周期 364

6.2.1 构造函数 365

6.2.2 onAttachedToWindow 369

6.2.3 onMeasure 370

6.2.4 onLayout 372

6.2.5 onDraw 372

6.2.6 View更新 373

6.2.7 动画 374

结 374

17章 JNI/NDK开发 375

7.1 NDK配置(最新的CMake方式) 375

7.1.1 下载 376

7.1.2 创建项目 376

7.1.3 运行项目 378

7.1.4 手动添加native方法 379

结 380

18章 开发一个真实的项目 381

8.1 项目需求分析 381

8.2 创建项目 382

8.3 界面实现 383

8.3.1 启动界面 383

8.3.2 引导页面 385

8.3.3 主界面 388

8.3.4 列表界面 390

8.4 请求网络 395

8.5 新闻列表和详情 400

8.6 完成整个项目 409

结 412

返回顶部