Java与Android移动应用开发:技术、方法与实践

Java与Android移动应用开发:技术、方法与实践"

作者:曹化宇
ISBN:9787302505907
定价:¥79
字数:千字
页数:
出版时间:2018.09.01
开本:
版次:1-3
装帧:
出版社:清华大学出版社
简介

本书是一线程序员多年开发经验的结晶之作,深入浅出地讲解Android移动应用开发所需要的几乎全部基础内容,帮助读者快速进入Android应用开发,在项目中灵活应用各种开发技术和方法。

本书共29章,第1章讨论全书的知识架构及在学习和工作中如何使用本书。第2~12章主要讨论Java编程语言基础知识,涉及Java编程语言、数据处理、常用JDK应用与设计模式等内容。第13~29章主要讨论Android移动应用开发知识,首先讨论Android SDK中各种基本组件的应用;然后对Android应用中的一些常用功能开始进行讨论;最后创建一个完整的示例项目,讨论如何应用不同版本的图标、布局、语言等资源,并讨论应用发布所需要做的工作和注意事项。

本书内容安排合理,架构清晰,注重理论与实践相结合,适合作为零基础学习Android移动应用开发的初学者的教程,也适合作为有一定编程基础的程序员的参考用书。

前言

前  言

无论是否有过编程的经历,相信你已经在关注Android应用开发。手机、平板电脑、车载设备等市场中,Android设备的占有率是无法撼动的,所以选择Android平台就是选择了一个巨大的移动应用市场。目标没这么大?没关系,给自己的Android设备开发一些应用也是非常有趣的。

软件开发是充满乐趣和挑战的工作,其中,至少需要掌握一种编程语言和相应的开发资源。在Android平台中,Java语言和Android SDK就是最基本的开发工具。

本书为所有需要进行Android应用开发的读者而准备,无论是编程新手,还是从其他平台转换到Android平台,本书都能帮你顺利进入Android的精彩世界。

本书特点

从技术点到应用开发

本书从基本的Java代码开始,逐渐介绍常用的JDK和Android SDK开发资源,并讨论了软件开发的一些基本方法,通过编程语言、功能介绍、开发流程和完整的项目,综合演示了Android应用开发的方方面面。

突出实用性

书中介绍了大量的Java和Android开发资源,如各种Android组件、SQLite数据库、传感器等方面的应用和开发,从基本的使用方法到功能特点的演示,详尽地展现了开发技术在项目中的综合应用。

精心组织,随时参考

从Java语言、JDK到Android SDK资源,从代码到结构,从技术应用到项目开发,从不同的角度精心组织内容,不但可以帮助读者循序渐进学习,而且在实际开发工作中也能够快速参考相关内容。

读者对象

本书面向Android平台开发者,帮助读者真正零基础起步。无论是初学者,还是正在开发Android应用的朋友,本书都能提供从Java语言、JDK到Android SDK等方面的参考和帮助。重要的是,读者可以从本书开始,迈向无限可能的移动应用开发世界。

如何阅读本书

本书包含了Java编程语言、常用的JDK和大量的Android SDK资源、SQLite数据库、高德地图和百度地图开发,以及项目的综合演示和发布等,第1章分别介绍了后面各章的内容。

Java部分(第2~12章)主要讨论Java编程语言和常用JDK资源的使用,包括数据类型及转换、数据运算、面向对象编程、数组与集合、日期与时间、设计模式等。对于Java初学者,可以从第2章开始,逐渐学习Java编程语言和JDK的应用,并掌握使用设计模式优化代码结构的基本方法;对于已经掌握Java的读者,可以再次熟悉这些知识,并在实际开发工作中随时参考相关内容。

Android部分(第13~29章)详细介绍了Android应用开发的方方面面,包括基本组件、布局、网络应用、SQLite数据库、传感器、高德地图和百度地图SDK的应用、项目综合演示和发布准备等内容。掌握了这些内容,就可以开发并发布实用的Android应用了;对于这部分内容。读者可以系统地学习,也可以在工作中随时参考。

进一步学习建议

通过本书的学习,读者应该能够掌握Java编程语言和Android应用的开发,如果感兴趣,还可以在本书的基础上深入学习更多、更有趣的开发技术和方法。

比如移动游戏的开发,虽然Android SDK中包含了一些图像和音频处理资源,但它们更加接近系统底层的实现。对于游戏开发,还有太多的工作要做,所以建议使用一些成熟的游戏开发框架,如Unity等。

勘误和支持

由于作者水平有限,书中难免会出现一些错误或不太合理的地方,而读者的批评和指正,正是我们共同进步的强大动力。可以将书中的错误或建议与作者直接交流,作者的邮箱是chydev@163.com。

致谢

感谢清华大学出版社编辑老师耐心的交流与指导,使得本书能够顺利地与读者见面。

感谢我的家人,他们为我创造了一个温暖的家、一个安心的工作环境。特别是我的孩子们,他们总是说:“爸爸在工作,我不打扰他。”这些正是我快乐生活和努力工作的力量源泉。

谨以本书献给我的家人,以及热爱软件开发的朋友!

曹化宇

目录

目  录

第1章 导读 1

第2章 Java开发基础 4

2.1 安装JDK和NetBeans 4

2.2 第一个Java程序 6

2.2.1 语句与语句块 8

2.2.2 注释内容 9

2.3 保留字与标识符 10

2.4 基本数据类型 12

2.5 整数 13

2.5.1 算术运算 13

2.5.2 增量与减量运算 14

2.5.3 位运算 14

2.6 浮点数 16

2.7 类型转换 17

2.8 char类型 19

2.9 boolean类型 20

2.10 枚举类型 20

2.11 代码的组织 21

第3章 面向对象编程 23

3.1 类与对象 23

3.1.1 构造函数与对象释放 25

3.1.2 getter()和setter()方法 27

3.1.3 静态成员与静态初始化 28

3.2 方法 30

3.2.1 可变长参数 31

3.2.2 重载 31

3.3 继承 32

3.3.1 java.lang.Object类 34

3.3.2 扩展与重写 34

3.3.3 访问级别 36

3.3.4 instanceof运算符 37

3.3.5 抽象类与抽象方法 37

3.4 数据类型处理 39

3.4.1 基本数据类型与包装类 40

3.4.2 数据的传递 41

3.4.3 类型的动态处理 43

3.5 java.lang.Math类 44

3.6 java.util.Random类 45

第4章 接口 47

4.1 创建接口类型 47

4.2 实现接口 47

4.3 接口的继承 48

4.4 对象复制 50

4.4.1 实现Cloneable接口 50

4.4.2 实现Serializable接口 51

第5章 流程控制 54

5.1 比较运算符 54

5.2 if-else语句和 :运算符 54

5.3 switch语句 56

5.4 循环语句 58

5.4.1 for语句 58

5.4.2 while语句 59

5.4.3 do-while语句 60

5.4.4 break语句与标签 60

5.4.5 continue语句 61

5.5 异常处理 62

5.5.1 异常类 62

5.5.2 try-catch-finally语句 63

5.5.3 throw语句 64

5.5.4 throws关键字 64

5.5.5 try()语句结构 65

第6章 字符串 67

6.1 String类 67

6.1.1 字符串的运算与比较 67

6.1.2 常用方法 67

6.1.3 将字符串转换为其他类型 70

6.2 StringBuffer类 71

6.2.1 基本操作 71

6.2.2 添加内容 72

6.2.3 删除内容 72

6.2.4 查询 73

6.2.5 替换 73

6.2.6 反向排列 73

6.3 StringBuilder类 74

6.4 正则表达式 74

6.5 获取MD5和SHA-1编码 75

6.6 获取GUID 76

第7章 泛型 77

7.1 泛型类 77

7.2 泛型方法 78

7.3 泛型接口 79

7.4 泛型限制 79

第8章 数组与集合 82

8.1 数组 82

8.2 List<E>接口及相关类型 84

8.3 Map<K, V>接口及相关类型 86

第9章 日期与时间 89

9.1 传统的日期和时间处理方法 89

9.1.1 Date类 89

9.1.2 格式化日期和时间 90

9.1.3 Calendar类 91

9.1.4 TimeZone类 92

9.1.5 Locale类 93

9.2 使用java.time包 93

9.2.1 获取本地日期与时间 93

9.2.2 处理年、月、日数据 95

9.2.3 处理时区 95

9.3 封装CDateTime类 96

第10章 输入输出 103

10.1 文件与 103

10.2 文件的读写操作 104

10.2.1 流 104

10.2.2 读写文本内容 105

10.3 使用java.nio资源 107

第11章 多线程与定时器 109

11.1 线程 109

11.2 定时器 110

第12章 设计模式 112

12.1 策略模式 112

12.2 单件模式 115

12.3 访问者模式 116

第13章 Android应用开发基础 119

13.1 Android Studio的安装 119

13.2 项目创建与测试 120

13.2.1 使用AVD测试 122

13.2.2 使用真实设备测试 124

13.2.3 判断Android版本 124

13.3 再看Android Studio开发环境 127

13.3.1 项目资源的组织 127

13.3.2 代码字体设置 128

13.3.3 查看日志 128

13.4 第一次修改应用配置(隐藏标题栏) 129

13.5 Android应用的基本要素 131

第14章 Activity 132

14.1 基本应用 132

14.2 运行周期 135

14.3 Activity的启动与关闭 136

14.3.1 启动Activity 136

14.3.2 Activity返回栈 139

14.3.3 Activity的启动模式 140

14.4 数据传递 142

14.4.1 使用Intent 142

14.4.2 接收返回数据 144

14.4.3 Bundle(数据自动保存与载入) 147

14.5 Intent的更多应用 148

第15章 常用组件 151

15.1 按钮与事件响应 151

15.1.1 响应单击操作 153

15.1.2 响应长按操作并振动 154

15.1.3 响应触摸事件 156

15.2 文本组件 157

15.2.1 TextView 157

15.2.2 EditText 157

15.3 消息与对话框 158

15.3.1 Toast 159

15.3.2 AlertDialog 159

15.3.3 ProgressDialog 161

15.4 菜单 162

15.5 单选按钮 165

15.6 复选框 168

15.7 下拉列表 171

15.8 图像组件 177

15.9 列表 178

15.9.1 绑定列表数据 178

15.9.2 响应列表项单击 180

15.9.3 获取正确的项目索引 182

15.10 进度条 184

15.11 滑块 186

15.12 选择日期和时间对话框 188

15.13 更多组件 191

15.14 图像处理 192

15.14.1 Bitmap和Matrix类 193

15.14.2 缩放 193

15.14.3 旋转 195

15.14.4 扭曲 195

第16章 布局与容器 197

16.1 尺寸单位 197

16.2 线性布局 197

16.3 相对布局 201

16.4 ScrollView和HorizontalScrollView 204

16.5 搜索功能 204

16.6 自定义组件 206

16.6.1 创建布局 207

16.6.2 创建组件类 209

16.6.3 使用9-Patch图片 212

第17章 通知与服务 214

17.1 通知 214

17.1.1 创建简单的通知 214

17.1.2 响应通知操作 216

17.1.3 更多设置 217

17.2 服务 218

17.2.1 Service类 218

17.2.2 IntentService类 222

17.2.3 循环服务(使用AlarmManager) 224

第18章 广播 228

18.1 接收广播(判断网络状态) 228

18.2 发送广播 230

18.3 有序广播 232

18.4 本地广播 234

第19章 网络应用 236

19.1 配置IIS网站 236

19.2 获取网络资源 238

19.2.1 使用HttpURLConnection对象 240

19.2.2 读取文本内容(GET方式) 240

19.2.3 使用参数(GET方式) 242

19.2.4 使用POST方式 243

19.2.5 将获取的内容显示到TextView中 244

19.3 处理JSON数据 245

19.3.1 处理JSONObject对象 246

19.3.2 处理JSONArray对象 248

19.4 处理XML数据 249

19.5 将文件上传到服务器 252

19.5.1 准备接收服务器(ASP.NET) 252

19.5.2 上传文件 253

19.6 封装CHttp类 256

19.6.1 使用GET方式获取文本 256

19.6.2 使用POST方式获取文本 257

19.6.3 获取JSON数据 259

19.6.4 测试 261

第20章 保存数据 263

20.1 使用Context保存数据 263

20.1.1 保存文件 265

20.1.2 读取文件 266

20.2 使用SharedPreferences保存数据 266

20.2.1 保存数据 268

20.2.2 载入数据 269

第21章 SQLite数据库 270

21.1 数据库 270

21.1.1 打开与关闭数据库 272

21.1.2 SQLiteOpenHelper类 272

21.2 数据表与字段 276

21.2.1 字段类型 276

21.2.2 创建表 277

21.2.3 删除表 278

21.2.4 修改表结构 278

21.2.5 索引 279

21.3 添加记录 279

21.3.1 insert语句 279

21.3.2 参数 280

21.3.3 SQLiteDatabase.insert()方法 281

21.4 查询记录 282

21.4.1 select语句 282

21.4.2 SQLiteDatabase.rawQuery()方法 283

21.4.3 使用Cursor类读取数据 285

21.4.4 查询练习 286

21.5 修改记录 287

21.5.1 update语句 287

21.5.2 SQLiteDatabase.update()方法 287

21.6 删除记录 288

21.6.1 delete语句 288

21.6.2 SQLiteDatabase.delete()方法 288

21.7 高级查询 289

21.7.1 函数 289

21.7.2 排序 290

21.7.3 分组 291

21.8 主键与外键 292

21.8.1 创建“一对多”数据结构 292

21.8.2 join关键字 294

21.9 视图 295

21.10 使用DB Browser练习SQL语句 297

第22章 Android SDK定位功能 299

22.1 获取权限与基本位置信息 299

22.2 跟踪位置变化 303

22.3 获取一次最新位置信息 306

第23章 高德地图SDK 307

23.1 准备工作 307

23.2 封装RequestPermission ActivityBase类 312

23.3 定位 315

23.4 显示地图 319

23.5 小结 324

第24章 百度地图SDK 325

24.1 准备工作 325

24.2 定位 329

24.3 显示地图 332

第25章 传感器 338

25.1 传感器对象 338

25.2 加速计(制作水平仪) 339

25.3 陀螺仪 342

25.4 亮度传感器(控制相机闪光灯) 343

第26章 应用之间的数据传递 346

26.1 向其他应用提供数据 (ContentProvider) 346

26.1.1 访问内容的Uri 347

26.1.2 数据初始化——onCreate()方法 349

26.1.3 添加数据——insert()方法 349

26.1.4 更新数据——update()方法 350

26.1.5 删除数据——delete()方法 350

26.1.6 查询数据——query()方法 351

26.1.7 数据类型(MIME)——getType()方法 351

26.2 操作外部数据(ContentResolver) 352

26.3 路径处理 358

26.4 相机和图库 360

26.4.1 保存照片 364

26.4.2 读取照片 364

26.5 播放音频(极简音乐播放器) 366

26.6 播放视频 371

26.7 读取通讯录(打电话与发短信) 373

第27章 资源与本地化 378

27.1 资源应用限定符 378

27.2 应用图标 380

27.3 竖屏与横屏 381

27.4 语言 384

27.5 颜色 385

第28章 项目演示:迷你账本 387

28.1 数据库操作(CAccount类) 389

28.1.1 初始化 389

28.1.2 添加记录 391

28.1.3 删除记录 391

28.1.4 账目查询 391

28.1.5 账目统计 394

28.2 主界面 395

28.2.1 自定义账目显示组件 398

28.2.2 基本查询 401

28.2.3 账目删除 402

28.3 添加账目 403

28.4 查询 407

28.5 统计 412

28.6 其他工作 415

第29章 应用发布 416

29.1 创建Key与APK文件 416

29.2 发布应用的多个版本 419

作者简介

编辑推荐

一线程序员多年开发经验的结晶之作,深入浅出讲解Android移动应用开发所需要的几乎全部基础内容

作者寄语

一线程序员多年开发经验的结晶之作,深入浅出讲解Android移动应用开发所需要的几乎全部基础内容

电子资料

www.luweidong.cn

下一个