(1)教材的基本结构
整本教材共分4篇,17章,遵循TOPCARES-OBE的教学指导原则,本教材由CoffeeStore App的项目构思、设计、实施和运行贯穿始终。内容涵盖Android应用程序的基本工作原理、Android界面技术、组件技术、本地存储技术、网络存储技术、服务与广播、多媒体、传感器、定位与地图、内容提供者及基于Kotlin的Android应用开发入门等方面知识。不仅强调理论,同时也重视应用。本教材的逻辑导学如下图所示。
(2)教材的内容组织
本教材按照TOPCARES的教学理念,以为导引组织教材内容。本教材共分4篇,17章。
第一篇 CoffeeStore项目准备——Android基础开发篇
第1章 Android平台与开发环境,介绍Android开发平台的概述、版本发展历史以及系统架构,搭建Android开发环境。
第2章 第一个Android应用程序,Android程序的基本结构、Android四大组件,以及Android测试环境的搭建和Android Studio开发环境的使用。
第3章 Activity,Activity的基本概念、生命周期和不同Activity之间的传值。
第4章 CoffeeStore项目导学,讲解课程项目CoffeeStore的功能需求、体系结构与原型设计和数据库设计。
第二篇 CoffeeStore的界面开发——Android界面开发篇
第5章 Android界面布局,线性、相对、帧、网格、约束等常用布局管理器的用法。
第6章 Android常用控件,文本类、按钮类、日期与时间类、进度条以及星级控件等基本控件用法、Spinnner、Listview、RecyclerView、ViewPager2、ViewFlipper、ToolBar等高级控件的用法。
第7章 Android资源,值资源、图像资源、动画资源、样式与主题、菜单与对话框资源的用法。
第8章 Fragment与TabLayout,Fragment与TabLayout的基本概念与用法。
第9章 Android人机交互设计,Android事件处理机制,常用事件、手势识别的用法。
第三篇 CoffeeStore的数据存储解决方案——Android数据存储篇
第10章 本地存储技术,介绍了简单数据存储类,Android文件以及SQLite数据库。
第11章 网络编程,介绍了Handler机制,异步任务类、JSON数据格式、HttpUrlConnection的使用以及OkHttp网络框架。
第四篇 Android高级开发篇
第12章 系统服务与广播,使用Intent与PendingIntent实现打电话、发邮件及系统通知的功能。运行时权限,广播的基本概念,广播的实现方式。服务的基本概念,隐式启动与显示启动,服务的生命周期。
第13章 多媒体,音频与视频处理、照相机的使用及Android 2D绘图。
第14章 传感器,传感器的基本概念及常用传感器的用法。
第15章 地图与定位,Android定位API,百度地图开发。
第16章 内容提供器,ContentProvider的概念及用法。
第17章 快速入门Kotlin编程,初步学习Kotlin的语言的基本语法。
第一篇CoffeeStore项目准备——Android基础开发篇
第1章Android平台与开发环境2
1.1Android平台2
1.1.1Android平台介绍2
1.1.2Android已发布的版本3
1.1.3Android平台特点4
1.1.4Android平台架构5
1.2搭建Android开发环境6
1.3课后实践作业9
本章小结9
本章习题9
第2章第一个Android应用程序10
2.1快速创建一个项目验证环境10
2.1.1创建第一个Android项目——Hello World项目10
2.1.2Android项目各目录与文件作用分析14
2.2Android Studio开发环境的使用16
2.3配置Android测试环境20
2.3.1配置Android测试环境20
2.3.2使用真机运行Android程序22
本章小结23
本章习题23
第3章Activity24
3.1Android四大组件24
3.2Activity的生命周期25
3.3Activity各生命周期方法使用26
3.4Activity的启动模式分析28
3.5Activity间信使Intent34
3.6Activity之间的跳转与传值36
本章小结39
本章习题40
第4章CoffeeStore项目导学41
4.1功能描述41
4.2体系结构与知识点42
4.3原型设计43
4.4数据库设计45
本章小结47
本章习题47
第二篇CoffeeStore的界面开发——Android界面开发篇
第5章Android界面布局50
5.1界面布局51
5.1.1线性布局54
5.1.2相对布局59
5.1.3帧布局62
5.1.4网格布局66
5.1.5约束布局69
5.1.6布局文件include的用法70
5.2项目实战:综合运用常用布局实现CoffeeStore
首页界面效果73
5.2.1项目分析73
5.2.2项目实现73
5.2.3项目说明77
本章小结78
本章习题78
第6章Android常用控件80
6.1常用基本控件81
6.1.1文本类控件81
6.1.2按钮类控件89
6.1.3DatePicker96
6.2项目实战:主页底端导航条的实现99
6.2.1项目分析99
6.2.2项目实现100
6.2.3项目说明102
6.3常用高级控件102
6.3.1Spinner下拉列表102
6.3.2ListView列表组件108
6.3.3RecyclerView控件124
6.3.4ViewPager2的使用131
6.3.5ViewFlipper134
6.3.6Toolbar的使用137
6.4项目实战:店铺列表页的实现140
6.4.1项目分析140
6.4.2项目实现140
6.4.3项目说明143
6.5项目实战:店铺详情页的实现144
6.5.1项目分析144
6.5.2项目实现144
6.5.3项目说明147
6.6知识扩展:创建和使用自定义控件148
本章小结151
本章习题151
第7章Android资源156
7.1值资源157
7.1.1字符串资源157
7.1.2颜色资源158
7.1.3数组资源160
7.2菜单160
7.3对话框167
7.3.1带按钮的对话框167
7.3.2列表选项对话框169
7.3.3多选按钮对话框170
7.4动画资源172
7.4.1补间动画172
7.4.2属性动画177
7.5样式与主题181
7.5.1样式181
7.5.2主题183
7.5.3图像状态(State)资源184
7.6项目实战:CoffeeStore项目中各种资源的使用186
7.6.1项目分析186
7.6.2项目实现186
7.6.3项目说明191本章小结191
本章习题192
第8章Fragment与TabLayout194
8.1Fragment简介与应用场合194
8.2创建Fragment195
8.3Fragment生命周期200
8.4Activity与Fragment之间的交互204
8.5TabLayout205
8.6项目实战:CoffeeStore主页的实现208
8.6.1项目分析208
8.6.2项目实现208
8.6.3项目说明211
本章小结212
本章习题212
第9章Android人机交互技术214
9.1常用事件215
9.1.1按键事件215
9.1.2触摸事件218
9.2手势识别220
9.3语音识别技术222
9.4人脸识别技术227
9.5TensorFlow Lite框架230
9.6项目实战:CoffeeStore引导页图片切换的实现233
9.6.1项目分析233
9.6.2项目实现234
9.6.3项目实现238
本章小结238
本章习题238
第三篇CoffeeStore的数据存储解决方案——Android数据存储篇
第10章本地存储技术244
10.1简单数据存储类SharedPreferences245
10.1.1SharedPreferences的使用场合245
10.1.2使用SharedPreferences存取数据245
10.2Android的文件247
10.2.1文件数据的存储与读取248
10.2.2读写资源文件254
10.3SQLite数据库256
10.3.1SQLite数据库存储数据概述256
10.3.2使用SQLiteOpenHelper类对数据库版本进行管理257
10.3.3使用SQLiteDatabase操作数据库260
10.3.4将数据库与应用程序一起发布261
10.4项目实战:CoffeeStore启动页安装信息的存取262
10.4.1项目分析262
10.4.2项目实现262
10.4.3项目说明263
10.5项目实战:读取数据库文件263
10.5.1项目分析263
10.5.2项目实现264
10.5.3项目说明267
10.6项目实战:CoffeeStore项目中本地收藏夹的实现267
10.6.1项目分析267
10.6.2项目实现267
10.6.3项目说明276
本章小结277
本章习题278
第11章网络编程279
11.1Handler机制279
11.2异步任务281
11.2.1异步任务的使用场合281
11.2.2异步任务类282
11.3JSON数据解析285
11.3.1JSON简介285
11.3.2JSON基本语法285
11.3.3JSON的解析286
11.4HttpURLConnection288
11.4.1HTTP通信接口288
11.4.2HttpURLConnection的使用288
11.5利用异步任务读取服务器端图片信息289
11.6OkHttp290
11.6.1使用OkHttp291
11.6.2post请求传递参数的方法总结295
11.6.3对于OkHttp的使用封装298
11.7项目实战:登录功能298
11.7.1项目分析298
11.7.2项目实现298
11.7.3项目说明311
11.8项目实战:新到商品功能实现312
11.8.1项目分析312
11.8.2项目实现312
11.8.3项目说明322
本章小结323
本章习题323
第四篇Android高级开发篇
第12章系统服务与广播326
12.1深入Intent327
12.1.1PendingIntent327
12.1.2Intent过滤器327
12.2运行时权限330
12.3Service组件339
12.3.1Service原理和用途339
12.3.2Service的启动方式340
12.3.3Service的生命周期341
12.4广播组件346
12.4.1广播类型及广播的收发346
12.4.2广播接收器的实现347
本章小结353
本章习题354
第13章多媒体355
13.1音频处理356
13.1.1SoundPool类与播放音频356
13.1.2MediaPlayer357
13.1.3MediaRecorder362
13.2视频处理363
13.3Camera服务369
13.4Android的2D绘图376
13.4.1绘图基本的图形376
13.4.2绘图路径380
13.4.3使用SurfaceView绘图383
本章小结386
本章习题386
第14章传感器388
14.1传感器简述388
14.2传感器框架390
14.3传感器类别及参数值392
本章小结398
本章习题398
第15章地图与定位399
15.1位置服务399
15.2地图的定义与显示400
15.2.1申请地图密钥400
15.2.2地图的显示402
15.3地图的定位及路线规划405
15.3.1定位原理405
15.3.2定位与路线规划406
本章小结419
本章习题419
第16章内容提供器420
16.1内容提供器简介420
16.2访问其他程序中的数据422
16.2.1ContentResolver的基本用法422
16.2.2读取系统联系人422
16.3自定义ContentProvider425
16.3.1创建ContentProvider步骤425
16.3.2UriMatcher与ContentUris429
16.3.3实现跨程序数据共享431
本章小结440
本章习题441
第17章快速入门Kotlin编程442
17.1Kotlin简介442
17.1.1Kotlin发展历史442
17.1.2Kotlin相比于Java的优势443
17.1.3Kotlin工作原理443
17.1.4如何运行Kotlin代码443
17.2Kotlin基本语法443
17.2.1定义变量443
17.2.2数据类型444
17.2.3函数444
17.2.4条件语句446
17.2.5循环语句448
17.2.6Lambda表达式448
17.3Kotlin面向对象编程448
17.3.1类和对象448
17.3.2主构造函数449
17.3.3次构造函数450
17.3.4接口451
17.3.5对象表达式451
17.4Lambda编程452
17.4.1集合的创建与遍历452
17.4.2集合的函数式API452
17.5空指针检查453
本章小结455
本章习题455
附录Ⅰ学习知识点及能力要点456
Ⅰ.1教材的知识要点及掌握程度456
Ⅰ.2实践项目设计459
Ⅰ.3教材的能力要点及重要程度460
附录ⅡRGB颜色对照表461
参考文献466
2016年6月,中国成为国际本科工程学位互认协议《华盛顿协议》的正式会员,这是中国工程教育国际化进程的重要里程碑。“回归工程”、培养学生的“大工程观”是当今国际工程教育的主流理念。《华盛顿协议》对毕业生提出的12条素质要求中,不仅要求工程知识、工程能力,还强调通用能力和品德伦理;在实践上,以学生为中心,以产出为导向,注重对目标达成的支撑及持续改进,与CDIO工程教育实质等效。
CDIO工程教育是近年来国际工程教育改革的最新成果,以“预期学习结果”集合来驱动课程内容、教学方法、教育文化的设计,重视营造工程教育文化,其注重工程能力培养和基于工程项目全生命周期的一体化设计思想,对于国内工程类和相关专业的建设具有重要的实施价值。
作为承载了教学改革思想的载体,融入CDIO工程教育理念的高品质教材,东软CDIO工程教育教材在注重理实结合的同时,也注重对学生八大能力的培养,即:技术知识与推理能力,开放式思维与创新,个人职业能力,沟通表达与团队合作,态度与习惯,责任,价值观,实践构思、设计、实现和运行对社会的贡献。
CDIO工程教育教材是 CDIO教育教学改革在教学实施过程中的集中体现,它不仅承载着课程和项目的教学内容,而且贯穿和体现了CDIO工程教育的理念、思想与方法,是在系统化理论的指导下,将知识、能力、素质培养进行一体化设计,有机融合在教材体系中。教材的编写以能力培养为主线,以案例教学为引导,以项目为载体,充分体现“做中学”和“学中做”的思想,具有以下优势:
(1)以能力培养为主线,培养学生专业知识学习能力和工程实践能力。
(2)以案例为驱动,在做案例的过程中学习新知识,充分体现了“做中学”。
(3)以项目为载体,基于工程化教育方法,按照分析、设计、实施、运行展开项目及知识点的讲解。
(4)围绕专业知识结构和能力体系设计教材,实现同一专业下不同教材紧密的关联性。
(5)内容编排循序渐进,符合人的认知规律。
(6)适应柔性化教学变革,构建一体化、立体化教学资源。
CDIO工程教育教材可供以应用型人才为培养目标的高等院校以及职业培训机构作为教材使用。
目前,CDIO工程教育教材的建设还处于探索阶段,是一项创造性的工作,尚需要通过改革的实践不断加以深化和持续改进,任重而道远。