新書推薦:
《
视觉美食家:商业摄影实战与创意解析
》
售價:HK$
132.2
《
中国经济发展的新阶段:机会与选择
》
售價:HK$
99.7
《
DK月季玫瑰百科
》
售價:HK$
210.6
《
为你想要的生活
》
售價:HK$
66.1
《
关键改变:如何实现自我蜕变
》
售價:HK$
77.3
《
超加工人群:为什么有些食物让人一吃就停不下来
》
售價:HK$
99.7
《
历史的教训(浓缩《文明的故事》精华,总结历史教训的独特见解)
》
售價:HK$
62.7
《
不在场证明谜案(超绝CP陷入冤案!日本文坛超新星推理作家——辻堂梦代表作首次引进!)
》
售價:HK$
58.2
編輯推薦:
本书所有程序均采用Android Studio 4.1.1(API Level 30)开发环境调试。
本书特别设置了Java语言和XML的基础知识介绍,帮助没有Java和XML基础的读者学习Android软件开发。
本书内容全面丰富,主要知识点都设置了短小精悍且能独立运行的示例程序,并配有微课视频,非常适合教学讲授、自学或作为工具资料查询。
每章都配有难度适中的练习题,并提供带有详细注释的参考源代码,引导读者巩固和扩展所学知识。
內容簡介:
本书是面向Android初学者的教程,书中介绍了设计开发Android系统应用程序的基础理论和实践方法。全书共11章,内容涵盖Java语言与面向对象编程基础、XML基础、开发环境搭建、Android应用程序的基本组成、事件处理机制和常用UI控件、Fragment、异步线程与消息处理、Intent、Service、BroadcastReceiver、数据存取机制、多媒体和网络应用、地图应用等。本书注重理论与实践相结合,采用Android Studio 2020.3.1.26开发环境,配有丰富的示例程序,讲解深入浅出,可以使读者能够在较短的时间内理解Android系统框架及其应用的开发过程,掌握Android应用程序的设计方法。本书提供所有程序的源代码和电子课件,并配有微课视频。 本书可作为普通高等学校计算机、通信、电子信息类本专科及各类培训机构Android软件开发课程的教材,也可作为Android程序设计爱好者的自学用书。
關於作者:
张雪梅,硕士,副教授。主要研究方向为数据库理论及应用、大数据应用、图形图像处理等。出版了多部教材,担任高级多媒体技术、Android应用程序设计、数据库原理及应用等研究生和本科课程的教学工作。
目錄 :
第1章Android软件开发起步1
1.1智能移动设备及其操作系统1
1.2Android系统的体系结构2
1.2.1Android系统简介2
1.2.2Android系统的总体架构3
1.2.3Android SDK简介5
1.3Java语言与面向对象编程基础6
1.3.1安装和配置Java开发环境6
1.3.2Java程序的调试过程8
1.3.3Java程序的结构8
1.3.4Java的数据类型和运算符10
1.3.5Java的流程控制语句12
1.3.6数组15
1.3.7泛型16
1.3.8面向对象的编程方法17
1.3.9异常处理21
1.4XML基础21
1.4.1XML简介21
1.4.2XML的用途23
1.4.3XML文档的结构24
1.4.4XML语法25
1.4.5XML命名空间29
1.5编写规范的Android代码30
1.6本章小结32
习题32
第2章创建第一个Android应用程序34
2.1搭建Android应用软件开发环境34
2.1.1Android Studio简介34
2.1.2Android Studio的安装34
2.2创建Android应用程序的一般流程37
2.2.1创建Android Studio工程项目37
2.2.2创建和启动Android虚拟设备40
2.2.3编译和运行Android应用程序42
2.3Android Studio工程项目的文件构成43
2.3.1java文件夹43
2.3.2res文件夹45
2.3.3应用配置清单文件46
2.3.4Gradle脚本文件48
2.4Android Studio的更新与设置49
2.5Android应用软件的打包和发布52
2.5.1开发Android应用软件的一般流程52
2.5.2APK文件的签名和打包53
2.6程序调试的常用方法和调试工具56
2.6.1使用Android Studio的调试器56
2.6.2查看工程项目在运行过程中的日志信息57
2.7本章小结59
习题59
〖1〗〖2〗Android软件开发教程(第3版·微课版)〖1〗目录〖2〗第3章Activity和界面布局60
3.1Activity及其生命周期60
3.1.1Android应用的基本组件60
3.1.2什么是Activity61
3.1.3Activity的生命周期63
3.1.4Activity的启动模式66
3.1.5Context及其在Activity中的应用67
3.2布局及其加载68
3.2.1View类和ViewGroup类68
3.2.2XML布局及其加载69
3.2.3在Activity中定义和加载布局70
3.2.4资源的管理与使用71
3.3常用的布局76
3.3.1线性布局LinearLayout76
3.3.2相对布局RelativeLayout80
3.3.3表格布局TableLayout81
3.3.4网格布局GridLayout83
3.3.5帧布局FrameLayout85
3.3.6约束布局ConstraintLayout86
3.4本章小结89
习题89
第4章常用UI控件及其应用90
4.1UI控件概述90
4.2Android的事件处理机制90
4.2.1基于监听接口的事件处理方式91
4.2.2基于回调机制的事件处理方式97
4.2.3直接绑定到XML标签的事件处理方式99
4.3文本的输入和输出100
4.3.1TextView和EditText100
4.3.2AutoCompleteTextView103
4.4按钮和复选框105
4.4.1Button105
4.4.2ToggleButton和Switch106
4.4.3RadioButton和RadioGroup109
4.4.4CheckBox112
4.5日期和时间控件114
4.5.1DatePicker和TimePicker114
4.5.2TextClock和AnalogClock116
4.5.3Chronometer116
4.6列表120
4.7下拉列表框127
4.8本章小结129
习题129
第5章对话框、菜单和状态栏通知131
5.1对话框131
5.1.1提示对话框131
5.1.2日期和时间选择对话框139
5.2菜单141
5.2.1使用XML资源定义菜单项142
5.2.2创建菜单143
5.2.3响应和处理菜单项的选择事件145
5.2.4上下文菜单146
5.3状态栏通知150
5.3.1通知的内容和形式151
5.3.2通知的渠道和重要程度151
5.3.3创建、更新、移除通知152
5.4本章小结158
习题158
第6章Fragment及其应用160
6.1Fragment的基本概念160
6.1.1Fragment简介160
6.1.2Fragment的生命周期161
6.2创建和载入Fragment165
6.2.1创建Fragment165
6.2.2将Fragment加载到Activity中167
6.3利用Fragment实现界面的切换171
6.4利用Fragment实现侧滑菜单175
6.4.1主视图的布局175
6.4.2菜单列表项的布局和菜单事件的响应176
6.5本章小结180
习题181
第7章Intent和多线程182
7.1Intent182
7.1.1Intent概述182
7.1.2Intent对象的属性183
7.1.3Intent解析185
7.2Activity之间的切换和跳转187
7.2.1启动另一个Activity187
7.2.2利用Intent在组件之间传递数据190
7.2.3获取目标Activity的返回值193
7.3Android的多线程机制196
7.3.1进程与线程196
7.3.2创建和操作线程197
7.3.3UI线程199
7.4异步处理和多线程通信201
7.4.1使用Handler实现线程间通信201
7.4.2使用AsyncTask处理异步任务205
7.5本章小结210
习题210
第8章Service与BroadcastReceiver212
8.1Service及其生命周期212
8.1.1Service简介212
8.1.2Service的生命周期213
8.2创建、启动和停止Service215
8.2.1创建Service215
8.2.2启动和停止Service216
8.2.3Activity与Service的通信219
8.2.4将Service绑定到Activity221
8.3Android的广播机制226
8.3.1广播的发送和接收226
8.3.2静态注册BroadcastReceiver228
8.3.3动态注册BroadcastReceiver229
8.3.4有序广播的发送和接收231
8.4本章小结233
习题233
第9章数据的存储与访问235
9.1基于SharedPreferences的数据存取235
9.2数据文件的存取238
9.2.1读取assets文件和raw文件238
9.2.2对内部文件的存取操作240
9.2.3对外部文件的存取操作244
9.3SQLite及其数据管理机制249
9.3.1SQLite概述249
9.3.2SQLiteOpenHelper类、SQLiteDatabase类、Cursor类250
9.3.3创建数据库和数据表251
9.3.4操纵数据库中的数据254
9.4基于ContentProvider的数据存取262
9.4.1ContentProvider概述262
9.4.2定义ContentProvider263
9.4.3通过ContentProvider访问数据264
9.5本章小结268
习题268
第10章多媒体和网络应用270
10.1多媒体应用开发270
10.1.1基于MediaPlayer的音频和视频播放270
10.1.2基于MediaRecorder的音频和视频文件录制274
10.1.3基于Camera的图片摄取279
10.2Web应用开发285
10.2.1基于HTTP的网络资源访问285
10.2.2WebView及其应用288
10.3地图应用开发293
10.3.1百度地图Android SDK293
10.3.2显示地图293
10.3.3切换地图类型296
10.3.4POI检索297
10.4本章小结301
习题301
第11章综合应用实例303
11.1计算器App303
11.1.1功能和界面303
11.1.2应用样式和主题背景304
11.1.3功能类306
11.1.4界面功能的实现307
11.2待办事项提醒小助手311
11.2.1功能和界面311
11.2.2创建数据库314
11.2.3添加新事项316
11.2.4定时推送状态栏通知317
11.2.5长按和点击列表项的处理319
11.3本章小结323
习题323
参考文献325
第1章Android软件开发起步1
1.1智能移动设备及其操作系统1
1.2Android系统的体系结构2
1.2.1Android系统简介2
1.2.2Android系统的总体架构3
1.2.3Android SDK简介5
1.3Java语言与面向对象编程基础6
1.3.1安装和配置Java开发环境6
1.3.2Java程序的调试过程8
1.3.3Java程序的结构8
1.3.4Java的数据类型和运算符10
1.3.5Java的流程控制语句12
1.3.6数组15
1.3.7泛型16
1.3.8面向对象的编程方法17
1.3.9异常处理21
1.4XML基础21
1.4.1XML简介21
1.4.2XML的用途23
1.4.3XML文档的结构24
1.4.4XML语法25
1.4.5XML命名空间29
1.5编写规范的Android代码30
1.6本章小结32
习题32
第2章创建第一个Android应用程序34
2.1搭建Android应用软件开发环境34
2.1.1Android Studio简介34
2.1.2Android Studio的安装34
2.2创建Android应用程序的一般流程37
2.2.1创建Android Studio工程项目37
2.2.2创建和启动Android虚拟设备40
2.2.3编译和运行Android应用程序42
2.3Android Studio工程项目的文件构成43
2.3.1java文件夹43
2.3.2res文件夹45
2.3.3应用配置清单文件46
2.3.4Gradle脚本文件48
2.4Android Studio的更新与设置49
2.5Android应用软件的打包和发布52
2.5.1开发Android应用软件的一般流程52
2.5.2APK文件的签名和打包53
2.6程序调试的常用方法和调试工具56
2.6.1使用Android Studio的调试器56
2.6.2查看工程项目在运行过程中的日志信息57
2.7本章小结59
习题59
〖1〗〖2〗Android软件开发教程(第3版·微课版)〖1〗目录〖2〗第3章Activity和界面布局60
3.1Activity及其生命周期60
3.1.1Android应用的基本组件60
3.1.2什么是Activity61
3.1.3Activity的生命周期63
3.1.4Activity的启动模式66
3.1.5Context及其在Activity中的应用67
3.2布局及其加载68
3.2.1View类和ViewGroup类68
3.2.2XML布局及其加载69
3.2.3在Activity中定义和加载布局70
3.2.4资源的管理与使用71
3.3常用的布局76
3.3.1线性布局LinearLayout76
3.3.2相对布局RelativeLayout80
3.3.3表格布局TableLayout81
3.3.4网格布局GridLayout83
3.3.5帧布局FrameLayout85
3.3.6约束布局ConstraintLayout86
3.4本章小结89
习题89
第4章常用UI控件及其应用90
4.1UI控件概述90
4.2Android的事件处理机制90
4.2.1基于监听接口的事件处理方式91
4.2.2基于回调机制的事件处理方式97
4.2.3直接绑定到XML标签的事件处理方式99
4.3文本的输入和输出100
4.3.1TextView和EditText100
4.3.2AutoCompleteTextView103
4.4按钮和复选框105
4.4.1Button105
4.4.2ToggleButton和Switch106
4.4.3RadioButton和RadioGroup109
4.4.4CheckBox112
4.5日期和时间控件114
4.5.1DatePicker和TimePicker114
4.5.2TextClock和AnalogClock116
4.5.3Chronometer116
4.6列表120
4.7下拉列表框127
4.8本章小结129
习题129
第5章对话框、菜单和状态栏通知131
5.1对话框131
5.1.1提示对话框131
5.1.2日期和时间选择对话框139
5.2菜单141
5.2.1使用XML资源定义菜单项142
5.2.2创建菜单143
5.2.3响应和处理菜单项的选择事件145
5.2.4上下文菜单146
5.3状态栏通知150
5.3.1通知的内容和形式151
5.3.2通知的渠道和重要程度151
5.3.3创建、更新、移除通知152
5.4本章小结158
习题158
第6章Fragment及其应用160
6.1Fragment的基本概念160
6.1.1Fragment简介160
6.1.2Fragment的生命周期161
6.2创建和载入Fragment165
6.2.1创建Fragment165
6.2.2将Fragment加载到Activity中167
6.3利用Fragment实现界面的切换171
6.4利用Fragment实现侧滑菜单175
6.4.1主视图的布局175
6.4.2菜单列表项的布局和菜单事件的响应176
6.5本章小结180
习题181
第7章Intent和多线程182
7.1Intent182
7.1.1Intent概述182
7.1.2Intent对象的属性183
7.1.3Intent解析185
7.2Activity之间的切换和跳转187
7.2.1启动另一个Activity187
7.2.2利用Intent在组件之间传递数据190
7.2.3获取目标Activity的返回值193
7.3Android的多线程机制196
7.3.1进程与线程196
7.3.2创建和操作线程197
7.3.3UI线程199
7.4异步处理和多线程通信201
7.4.1使用Handler实现线程间通信201
7.4.2使用AsyncTask处理异步任务205
7.5本章小结210
习题210
第8章Service与BroadcastReceiver212
8.1Service及其生命周期212
8.1.1Service简介212
8.1.2Service的生命周期213
8.2创建、启动和停止Service215
8.2.1创建Service215
8.2.2启动和停止Service216
8.2.3Activity与Service的通信219
8.2.4将Service绑定到Activity221
8.3Android的广播机制226
8.3.1广播的发送和接收226
8.3.2静态注册BroadcastReceiver228
8.3.3动态注册BroadcastReceiver229
8.3.4有序广播的发送和接收231
8.4本章小结233
习题233
第9章数据的存储与访问235
9.1基于SharedPreferences的数据存取235
9.2数据文件的存取238
9.2.1读取assets文件和raw文件238
9.2.2对内部文件的存取操作240
9.2.3对外部文件的存取操作244
9.3SQLite及其数据管理机制249
9.3.1SQLite概述249
9.3.2SQLiteOpenHelper类、SQLiteDatabase类、Cursor类250
9.3.3创建数据库和数据表251
9.3.4操纵数据库中的数据254
9.4基于ContentProvider的数据存取262
9.4.1ContentProvider概述262
9.4.2定义ContentProvider263
9.4.3通过ContentProvider访问数据264
9.5本章小结268
习题268
第10章多媒体和网络应用270
10.1多媒体应用开发270
10.1.1基于MediaPlayer的音频和视频播放270
10.1.2基于MediaRecorder的音频和视频文件录制274
10.1.3基于Camera的图片摄取279
10.2Web应用开发285
10.2.1基于HTTP的网络资源访问285
10.2.2WebView及其应用288
10.3地图应用开发293
10.3.1百度地图Android SDK293
10.3.2显示地图293
10.3.3切换地图类型296
10.3.4POI检索297
10.4本章小结301
习题301
第11章综合应用实例303
11.1计算器App303
11.1.1功能和界面303
11.1.2应用样式和主题背景304
11.1.3功能类306
11.1.4界面功能的实现307
11.2待办事项提醒小助手311
11.2.1功能和界面311
11.2.2创建数据库314
11.2.3添加新事项316
11.2.4定时推送状态栏通知317
11.2.5长按和点击列表项的处理319
11.3本章小结323
习题323
参考文献325
內容試閱 :
随着移动互联时代的来临,智能手机及其客户端App成为广大用户接入和使用互联网的主要设备和方式之一。由谷歌公司推出的Android系统自2007年问世以来,得到了全球众多厂商和运营商的支持,迅速成为智能手机的主流操作系统,占据了大部分的市场份额。因此,基于Android的移动App开发日益受到广大开发者的关注,一些大学和培训机构也相继开设了基于Android的软件技术培训课程。这不仅合乎时代发展需要,而且有助于学生日后就业,更能满足国内外日益增长的专业需求。
本书在作者撰写的《Android软件开发教程》(第2版)的基础上,采纳了部分任课教师和教材使用者的意见,调整了不适于初学者的部分内容,增加了约束布局、地图应用等内容。同时结合Android软件开发的最新发展,删除了过时的内容,修改了示例程序的代码,在Android Studio 2020.3.1.26开发环境下重新进行了调试。Android Studio 2020.3.1.26是2021年11月发布的IDE版本,其安装文件为androidstudio2020.3.1.26windows.exe,模拟器版本为Android 12.0(API 31)。
作为一本面向初学者的教材,本书延续第2版的写作风格,注重讲解的深入浅出和易学易懂,对于一些较难理解的理论,尽可能使用图示加以说明。对每个知识点都配有示例程序,并力求示例程序短小精悍,既能帮助读者理解知识,又具有启发性和实用性,非常适合教学或自学。每章都配有难度适中的习题,引导读者编写相关功能的实用程序,有助于提高读者学习兴趣。本书特别设置了Java语言和XML的基础知识介绍,同时这部分内容还可以作为Java和XML语法简明手册使用,便于初学者在编程过程中查阅。
由于Android程序设计涉及编程语言、网络通信、硬件控制、多媒体等较多知识内容,因此学习时应该遵循循序渐进、由浅入深的原则。学习的过程中要注重理论的理解,更要强调动手实践,尤其是对于初学者而言,多练习才能掌握设计的方法和技巧。
本书的全部示例代码和课后习题均已在Android Studio 2020.3.1.26开发环境下调试通过。Android Studio自2013年推出以来,在几次更新之后已经成为非常稳定和强大的集成开发环境(Integrated Development Environment,IDE)。与其他编程环境相比,Android Studio具有很多优势。Android Studio以IntelliJ IDEA为基础,整合了Gradle构建工具,为开发者提供了开发和调试工具,包括智能代码编辑、用户界面设计工具、性能分析工具等。Android Studio的界面风格更受程序员欢迎,代码的修改会自动智能保存,自带了多设备的实时预览,具有内置命令行终端、更完善的插件系统和版本控制系统,在代码智能提示、运行响应速度等方面都更出色。
本书共11章。第1章介绍智能移动设备及其操作系统、Android系统的体系结构,以及Java、XML等Android程序设计必要的预备知识。第2章介绍在Windows系统中搭建Android开发平台的主要步骤和集成开发环境的使用方法,并且使读者通过学习创建第一个Android应用程序,了解典型Android应用程序的架构与组成。第3~5章介绍用户界面的设计,主要包括XML布局文件的设计和使用方法、常见的界面布局方式、Android中的事件处理机制、常用的用户界面(User Interface,UI)控件,以及对话框、菜单和状态栏通知的设计方法。第6章介绍Fragment的基本概念、Fragment的加载和切换以及相关应用。第7章介绍Intent的概念及其在组件通信中的应用,以及多线程通信机制。第8章介绍后台服务Service及其启动和停止方法,广播消息的发送和接收等。第9章介绍Android常用的数据存储和访问方法,包括SharedPreferences、文件存取、SQLite数据库存储、内容提供器等。第10章介绍在Android系统中使用音频和视频等多媒体资源的方法、访问Internet资源的方法、地图应用等。第11章介绍两个综合应用实例的设计思路和实现方法,以加深读者对基本知识的理解。
本书第1~6章由张雪梅编写,第7~9章由高凯编写,第10、11章由陶秋红编写,高凯完成了全书的统稿和审阅工作。
本书可作为计算机、通信、电子信息类相关专业教材和工程实训、技能培训用书,也可供工程技术人员参考。本书提供制作精良的教学课件,并提供所有示例和课后习题的源代码,同时各章主要内容都配备了微课。相关资源均在清华大学出版社网站发布,以方便读者自学和实践。
作者在本书的写作与相关科研课题的研究过程中,得到了多方面的支持与帮助。在写作过程中作者参考了相关文献和互联网上众多热心网友提供的素材,在此向这些文献的作者、热心网友以及为本书提供帮助的老师,致以诚挚的谢意和崇高的敬意。在本书写作过程中,作者也得到了清华大学出版社的大力支持和帮助,在此一并表示衷心感谢。
由于作者水平有限,书中难免存在不足之处,恳请广大读者批评指正,共同探讨Android软件开发方面的问题。
作者
2022年2月