Kotlin移动应用开发技术教学大纲.docx
《Kotlin移动应用开发技术教学大纲.docx》由会员分享,可在线阅读,更多相关《Kotlin移动应用开发技术教学大纲.docx(30页珍藏版)》请在课桌文档上搜索。
1、Kotlin开发Android移动应用程序课程教学大纲课程编码:XXOOOl课程总学时(理论总学时/实践总学时):108(68/40)周学时(理论学时/实践学时):6学分:6一、课程说明1 .课程性质:专业必修课/专业选修课2 .适用专业与学时分配:适用于软件工程/计算机科学与技术专业。教学内容与时间安排表章次内容总课时理论课时实践课时Android的概述321二Kotlin的基础语法321三Kotlin的面向对象基础54I四Kotlin的面向对象进阶862五Android的基础控件642六Android的布局组件532七Android的进阶控件与适配绑定752八Android的基本程序单元9
2、54九Android的后台服务与广播743十Android的数据存储与共享1064十一Android的多媒体与传感器1284十二Android的HTTP网络通信844十三Android的快速开发套件844十四粉色辣椒全流程开发171163.课程教学目的与要求:本课程是XX学院XX专业必修课/选修课。本课程讲授了基于Kotlin语言开发Android移动应用的基础知识,使学生掌握KotIin语法、面向对象编程、Android的基本控件和组件、Android的多媒体开发、Android的HTTP通讯、Android的常用快速开发套件,并通过粉色辣椒全流程开发使学生深入了解移动应用开发。4 .本门课
3、程与其它课程关系:学生在修完计算机理论基础、C语言、计算机网络等课程,具备相关理论与计算机知识后方可进行本课程学习。5 .推荐教材及参考资料:推荐教材:Kotlin开发Android移动应用程序参考资料:Kotlin核心编程水滴技术团队人机械工业出版社第一行代码Android第3版郭霖人民邮电出版社Kotlin移动和服务器端应用开发布雷特麦克劳克林清华大学出版社6 .课程教学方法与手段:多媒体教学7 .课程考试方法与要求:综合设计成绩(50%)、实验成绩(40%)与平时成绩(10%)相结合。二、教学内容纲要第一章Android的概述(2学时)1、教学目标了解Android的发展历史,掌握开发环
4、境的创建、工程的创建以及工程的结构。2、主要内容1 .1Android的发展历史2 .2Android的开发环境1.3Android的工程创建1. 4AndrOid的工程结构第二章Kotlin的基础语法(2学时)1、教学目标了解变量的概念、基本数据类型、字符串,掌握运算符和位运算、分支语句、循环语句、数2函数和Lalnbda表达式的使用方法。2、主要内容2. 1变量2.2 数据类型2.3 运算符和位运算2.4 字符串2.5 分支语句2.6 循环语句2.7 数组3 .8函数和Lambda表达式第三章Kotlin的面向对象基础(4学时)1、教学目标了解类、重写与重载、包的概念,掌握类声明和实例化、
5、抽象类和抽象方法、封装和访问控符、接口、委托、属性的延迟初始化的使用方法,使学生建立面向对象编程的思维方式。2、主要内容3.1 类3.2 重写与重载4 .3抽象类和抽象方法4.1 包4.2 封装和访问控制符4.3 接口4.4 委托第四章KOtlin的面向对象进阶(6学时)1、教学目标掌握数据类、密封类、对象类的创建和调用方法,以及伴生对象、枚举、三种不同类型集合泛型的使用方法,能够恰当使用异常处理方法捕捉异常,合理使用多线程和协程。2、主要内容4.5 数据类4.6 密封类4.7 象类5 .4伴生对象6 .5枚举7 .6集合8 .7泛型9 .8异常处理10 9多线程4.10协程第五章AndrOi
6、d的基础控件(4学时)1、教学目标了解控件的概念,掌握文本视图、输入框、按钮、图片视图、图像按钮、单选按钮、复选框开关按钮、提示信息、对话框、日期选择器、时间选择器、滚动条视图、通知等控件的使用法。2、主要内容5.1 控件5.2 文本视图5.3 输入框5.4 按钮5.6图像按钮5.7单选按钮5.8复选框5.9开关按钮5.10提示信息5.11对话框5.12日期选择器5.13时间选择器5.14滚动条视图5.15通知第六章AndrOid的布局组件(3学时)1、教学目标掌握线性布局、相对布局、表格布局、网格布局、帧布局和约束布局的使用方法,并能够灵运用布局的嵌套。2、主要内容6.1线性布局6.2相对布
7、局6.3表格布局6.4网格布局1.5 帧布局1.6 约束布局第七章AndrOid的进阶控件与适配绑定(5学时)1、教学目标了解数据适配的原理,掌握列表视图、网格视图、悬浮框、翻转视图、分页视图的使用方法了解视图绑定和数据绑定的区别,能够针对不同情况恰当使用。2、主要内容71数据适配原理72列表视图73网格视图74悬浮框75翻转视图76分页视图77视图绑定78数据绑定第八章AndrOid的基本程序单元(5学时)1、教学目标了解Activity的生命周期和启动模式和Fragment的生命周期,掌握ACtiVity和Fragment创建方法,能够使用Fragment制作导航分页。2、主要内容8. 1
8、Activity组件8. 2Fragment组件第九章AndrOid的后台服务与广播(4学时)1、教学目标了解Service组件的生命周期,掌握Service组件的开启、停止、绑定和数据传递,以BroadCaStRCCeiVer组件的显式和隐式接收广播、发送标准广播和有序广播。2、主要内容9. 1Service组件9. 2BroadcastReceiver组件第十章AndrOid的数据存储与共享(6学时)1、教学目标了解URl、数据交换原理和JSON数据结构,掌握SharedPreferences组件读写本地数据和SQLi组件创建并使用本地数据库的方法,使用ContentProvicier组件
9、在不同应用之间数据访问,够熟练使用JSONObjeCt类合成和解析数据。2、主要内容10. 1SharedPreferences组件10.2SQLite组件10.3ContentProvicler组件10.4JSONObject类第十一章AndrOid的多媒体与传感器(8学时)1、教学目标掌握使用系统相机进行拍照和录像,并将照片和视频保存在相册中,能够分别使用AudioRecc和MediaReCOrder录音。了解运动类传感器、位置类传感器和环境类传感器的使用方法,使LoCation组件获取当前位置的经纬度。2、主要内容11.1 系统相机和相册11.2 拍摄照片和录制视频11.3 录制音频11
10、.4 传感器11.5 位置服务第十二章Android的HTTP网络通信(4学时)1、教学目标了解HttpURLConnection类的属性和方法,能够使用HttpURLConnection类加载存储在服务端的图片,并且能够使用POST方式和GET方式向服务器端发送数据和接收服务器端的数据。2、主要内容1.1 1HttpURLConnection类1.2 2实例工程:加载网络图片(带缓存)1.3 3实例工程:发布动态(POST方式)1.4 4实例工程:动态列表(GET方式)第十三章Android的布局组件(4学时)1、教学目标了解Jetpack,能够正确使用RecyclerView控件、Swip
11、eRefreshLayout组件、Biometric组彳Lifecycle组件、ViewModel组件和LiveData组件提高开发效率。2、主要内容13. 1Jetpack简介14. 2ReCyClerVieW控件15. 3SWiPeRefreShLayOUl组件16. 4Biomctric组件17. 5Lifecycle组件18. 6VieWModel组件19. 7LiVeData组件第十四章粉色辣椒全流程开发(11学时)1、教学目标了解开发流程和粉色辣椒的开放平台,掌握设置启动图标的方法,对数据模型进行封装能够使用MVVU模式进行开发,完成粉色辣椒的全流程开发。2、主要内容14.1 项目
12、介绍14.2 开发流程14.3 4启动图标14.5 数据模型14.6 欢迎模块14.7 注册模块组14.8 首页模块组114.9 8发布动态模块14.10 10MVVM模式14.11 首页模块组214.12 回复动态模块14.13 关注和粉丝列表模块14.14 搜索动态模块14.15 15私信模块14.16 设置模块组14.17 应用程序发布三、实验教学内容实验一Android开发环境1学时1、实验目的(1) 掌握AndroidStUdiO的下载和安装方法。(2) 学会更新Gradle的方法。(3) 学会新建AndrOid项目,了解AndrOid项目的工程结构。(4) 掌握生成带签名的APK文
13、件的方法。2、实验内容(1) AndroidStudio的下载和安装打开网址(https:(2) 更新Gradle打开Gradle网址(http:/services.gradle.org/distributions/)使用迅雷等软件通过手动下载的方进行更新。把下载的新版本Gradle解压到gradle更新文件夹内(如错误!未找到引用源。所示然后在AndroidStudio中,选择【File】-【Sellings】命令。在打开的对话框中,选择左侧的“Grad选项。然后选择右侧的“Uselocalgradledistribution”单选项,单击“Gradlehome”后面的路径选按钮,选择刚才解
14、压的gradle文件夹,单击“OK”按钮。(3) 新建Android项目单击菜单中的(File-New-NewPreject命令,打开“CreateNewProjeCt”对话框,进工程创建的向导。工程创建向导的第1页用于选择工程的类型,选择“EmptyActivity”进行手项目的App开发。单击“Next”按钮,进入工程创建向导的第2页,进行“Name”、“Packagename“Savelocation“、Language、“MinimumSDK”等配置。单击“OK”按钮,再单击“Finish”按钮成工程的创建向导,然后显示AndroidStudio的界面。(4) 生成签名的APK文件选择
15、BuildGenerateSignedBundleZAPK.命令。JTJFt4GenerateSignedBundleorAP对话框后,选择“APK”单选按钮,然后单击“Next”按钮进入下一个页面。单击“Createnew./钮,打开“NewKeyStore”对话框,设置签名文件密码、签名密码、有效年限和证书内容,然单击“0K”按钮完成签名文件的创建。创建签名文件后,在“GenerateSignedBundleOrAPK”对框中会自动填入签名路径、签名路径密码、签名别名和签名密码,点击“Next”按钮,进入下个页面。“BuildVariants”选项选择release,SignatureVe
16、rsions”勾选V2(FullAPKSignature复选框,单击“Finish”按钮生成签名的APK文件。实验二KotIin的基础语法1学时1、实验目的(1) 理解并掌握高阶函数的使用方法。(2) 理解并掌握匿名函数的使用方法。(3) 掌握Lambda表达式的基本形式,以及参数的省略形式。(1)高阶函数高阶函数是作为另一个函数参数或返回值的函数。参考C0223工程,创建一个高阶函数并作作为数据类型和返回值使用。(2)匿名函数匿名函数是指没有函数名称的函数,可以直接赋值给变量,然后通过变量名调用。参C0224工程,创建计算圆形面积的匿名函数,并进行调用。1.ambda表达式1.ambda表达
17、式的本质是匿名函数,多作为高阶函数使用,也可以直接使用。参考C0225工程,创建以Lambda表达式作为返回值的计算面积的函数,并进行调用。参考C0226工程,仓IJ建repeatDoWn()函数,使用LambCIa表达式实现递减功能repeat语句功能,并使用了三种等价形式调用了该函数。实验三KOtIin的面向对象基础1学时1、实验目的(1) 理解并掌握抽象类和抽象方法的使用方法。(2) 理解访问控制符的作用域,合理使用访问控制符。(3) 理解属性的延迟初始化的作用,并其掌握使用方法。2、实验内容(1)抽象类和抽象方法抽象类是一种特殊的类,声明了抽象方法,通常用于继承。抽象类不能实例化对象,
18、而是必须实例化其具体的子类。参考C0307工程,创建抽象类和抽象方法,并使用。(2)访问控制符访问控制有4种类型:publicprivateprotected和internal,默认缺省访问控制符是publico参考C0309工程,新建Car包,在Car包内新建Cai类,然后为Car类添加两个属性和三个方法。在Car包内新建BUS类,使其继承Car类,并为其添加主构造方法的初始化块和三个方法。(3)属性的延迟初始化属性需要在声明时或构造方法中初始化,否则会报错。如果不需要在声明时或构造方法中初始化就需要设置延迟初始化。有两种延迟初始化的方式:Iateinit和byIazyo参考C0313工程,
19、使用Iateinit延迟初始化属性的使用方法。参考C0314工程,使用byIazy延迟初始化属性的使用方法。实验四Kotlin的面向对象进阶2学时1、实验目的(1) 理解并掌握伴生对象的使用方法。(2) 掌握三种不同类型集合的使用方法。(3) 掌握泛型类和泛型方法的使用方法。(4) 掌握异常处理的使用方法。(5) 理解多线程的原理,并掌握使用方法。(6) 理解协程的原理,并掌握使用方法。2、实验内容(1)伴生对象伴生对象用于在普通类中实现静态属性和静态方法的功能,使用companionobject)语句创建伴生对象。伴生对象内,方法中不能使用在伴生对象外声明的属性,只能使用伴生对象内声明的属性
20、,而伴生对象外声明的方法可以调用伴生对象内声明的属性。参考C0404工程,创建伴生对象,并调用伴生对象内的态属性和静态方法。(2)集合集合通常包含相同类型的对象,集合中的对象称为元素。集合分为可变集合和不可变集合,可变集合可以增减元素,而不可变集合不可以增加元算。Set类用于存储不重复的同一类型数据的集合,提供了size属性用于获取元素数量。参考C0407工程,创建Set集合和MUIableSel集合的实例,并调用其常用属性和方法。1.ist类用于也可以存储不重复的同一类型数据的集合,但是元素都有对应的顺序索引,因此允许使用重复元素,可以通过索引来访问指定位置的集合元素。参考C0408工程,创
21、建LiSt集合和MutableList集合的实例,并调用其常用属性和方法。Map类使用键名和键值保存同一类型数据,键名不能重复,键值可以重复。参考C0409工程,创建MaP和MUlableM叩集合的实例,并调用其常用属性和方法。(3)泛型类和泛型方法泛型是一种特殊的类型,可以接收不同类型的数据。泛型的本质是参数化类型,泛型并不是变量,所操作的数据类型被指定为一个参数。参考C0410工程,声明并调用泛型类。参考C0412工程,声明并调用泛型方法。(4)异常处理异常处理是指对程序运行中的错误或问题的处理机制。参考C0413工程,使用基本形式捕获异常。(5)多线程进程中包含两个或两个以上的线程被称为
22、多线程,多线程能更好地利用CPU资源,但是对内存的消耗也会更多。每个线程都有独立的生命周期,包含新建状态、运行状态、就绪状态、阻塞状态和死亡状态等五种状态。参考C0416工程,创建自定义多线程类,并实例化后启动多线程。参考C0417工程,通过实现RUnnable接口的类并调用重写的run()抽象方法开启多线程。参考C0418工程,通过CalIabIe接口重写的call()方法实现多线程。(6)协程协程是一种轻量级的异步解决方案。协程不是进程也不是线程,而是一个特殊的函数,这个函数可以在某个地方挂起,并且可以重新在挂起处外继续运行。*!未找时用协程依赖于线程,一个线程中可以创建多个协程,但是协程
23、挂起时不需要阻塞线程,消耗内存更少,几乎不会引起OoM异常。参考C0421工程,调用GIobalSCoPe.launch。方法开启全局域协程。参考C0422工程,在CorOUtineSeOPe.launch。方法开启协程内使用IaUnCh()方法开启子协程。参考C0423工程,在主线程上使用runBlocking()函数开启协程及其子协程。参考C0424工程,使用WithCOnteXt()函数和使用suspend关键字自定义的挂起方法。实验五Android的基础控件2学时1、实验目的(1) 掌握TextView控件的使用方法。(2) 掌握EditText控件的使用方法。(3) 掌握Button
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Kotlin 移动 应用 开发 技术 教学大纲

链接地址:https://www.desk33.com/p-1230828.html