欢迎来到课桌文档! | 帮助中心 课桌文档-建筑工程资料库
课桌文档
全部分类
  • 党建之窗>
  • 感悟体会>
  • 百家争鸣>
  • 教育整顿>
  • 文笔提升>
  • 热门分类>
  • 计划总结>
  • 致辞演讲>
  • 在线阅读>
  • ImageVerifierCode 换一换
    首页 课桌文档 > 资源分类 > DOCX文档下载  

    Kotlin移动应用开发技术教学大纲.docx

    • 资源ID:1230828       资源大小:65.08KB        全文页数:30页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Kotlin移动应用开发技术教学大纲.docx

    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的基本程序单元954九Android的后台服务与广播743十Android的数据存储与共享1064十一Android的多媒体与传感器1284十二Android的HTTP网络通信844十三Android的快速开发套件844十四粉色辣椒全流程开发171163.课程教学目的与要求:本课程是XX学院XX专业必修课/选修课。本课程讲授了基于Kotlin语言开发Android移动应用的基础知识,使学生掌握KotIin语法、面向对象编程、Android的基本控件和组件、Android的多媒体开发、Android的HTTP通讯、Android的常用快速开发套件,并通过粉色辣椒全流程开发使学生深入了解移动应用开发。4 .本门课程与其它课程关系:学生在修完计算机理论基础、C语言、计算机网络等课程,具备相关理论与计算机知识后方可进行本课程学习。5 .推荐教材及参考资料:推荐教材:Kotlin开发Android移动应用程序参考资料:Kotlin核心编程水滴技术团队人机械工业出版社第一行代码Android第3版郭霖人民邮电出版社Kotlin移动和服务器端应用开发布雷特麦克劳克林清华大学出版社6 .课程教学方法与手段:多媒体教学7 .课程考试方法与要求:综合设计成绩(50%)、实验成绩(40%)与平时成绩(10%)相结合。二、教学内容纲要第一章Android的概述(2学时)1、教学目标了解Android的发展历史,掌握开发环境的创建、工程的创建以及工程的结构。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、教学目标了解类、重写与重载、包的概念,掌握类声明和实例化、抽象类和抽象方法、封装和访问控符、接口、委托、属性的延迟初始化的使用方法,使学生建立面向对象编程的思维方式。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协程第五章AndrOid的基础控件(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相对布局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. 1Activity组件8. 2Fragment组件第九章AndrOid的后台服务与广播(4学时)1、教学目标了解Service组件的生命周期,掌握Service组件的开启、停止、绑定和数据传递,以BroadCaStRCCeiVer组件的显式和隐式接收广播、发送标准广播和有序广播。2、主要内容9. 1Service组件9. 2BroadcastReceiver组件第十章AndrOid的数据存储与共享(6学时)1、教学目标了解URl、数据交换原理和JSON数据结构,掌握SharedPreferences组件读写本地数据和SQLi组件创建并使用本地数据库的方法,使用ContentProvicier组件在不同应用之间数据访问,够熟练使用JSONObjeCt类合成和解析数据。2、主要内容10. 1SharedPreferences组件10.2SQLite组件10.3ContentProvicler组件10.4JSONObject类第十一章AndrOid的多媒体与传感器(8学时)1、教学目标掌握使用系统相机进行拍照和录像,并将照片和视频保存在相册中,能够分别使用AudioRecc和MediaReCOrder录音。了解运动类传感器、位置类传感器和环境类传感器的使用方法,使LoCation组件获取当前位置的经纬度。2、主要内容11.1 系统相机和相册11.2 拍摄照片和录制视频11.3 录制音频11.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控件、SwipeRefreshLayout组件、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 项目介绍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文件的方法。2、实验内容(1) AndroidStudio的下载和安装打开网址(https:(2) 更新Gradle打开Gradle网址(http:/services.gradle.org/distributions/)使用迅雷等软件通过手动下载的方进行更新。把下载的新版本Gradle解压到gradle更新文件夹内(如错误!未找到引用源。所示然后在AndroidStudio中,选择【File】-【Sellings】命令。在打开的对话框中,选择左侧的“Grad选项。然后选择右侧的“Uselocalgradledistribution”单选项,单击“Gradlehome”后面的路径选按钮,选择刚才解压的gradle文件夹,单击“OK”按钮。(3) 新建Android项目单击菜单中的(File-New-NewPreject命令,打开“CreateNewProjeCt”对话框,进工程创建的向导。工程创建向导的第1页用于选择工程的类型,选择“EmptyActivity”进行手项目的App开发。单击“Next”按钮,进入工程创建向导的第2页,进行“Name”、“Packagename“Savelocation“、"Language"、“MinimumSDK”等配置。单击“OK”按钮,再单击“Finish”按钮成工程的创建向导,然后显示AndroidStudio的界面。(4) 生成签名的APK文件选择BuildGenerateSignedBundleZAPK.命令。JTJFt4GenerateSignedBundleorAP对话框后,选择“APK”单选按钮,然后单击“Next”按钮进入下一个页面。单击“Createnew./钮,打开“NewKeyStore”对话框,设置签名文件密码、签名密码、有效年限和证书内容,然单击“0K”按钮完成签名文件的创建。创建签名文件后,在“GenerateSignedBundleOrAPK”对框中会自动填入签名路径、签名路径密码、签名别名和签名密码,点击“Next”按钮,进入下个页面。“BuildVariants”选项选择"release","SignatureVersions”勾选"V2(FullAPKSignature复选框,单击“Finish”按钮生成签名的APK文件。实验二KotIin的基础语法1学时1、实验目的(1) 理解并掌握高阶函数的使用方法。(2) 理解并掌握匿名函数的使用方法。(3) 掌握Lambda表达式的基本形式,以及参数的省略形式。(1)高阶函数高阶函数是作为另一个函数参数或返回值的函数。参考C0223工程,创建一个高阶函数并作作为数据类型和返回值使用。(2)匿名函数匿名函数是指没有函数名称的函数,可以直接赋值给变量,然后通过变量名调用。参C0224工程,创建计算圆形面积的匿名函数,并进行调用。1.ambda表达式1.ambda表达式的本质是匿名函数,多作为高阶函数使用,也可以直接使用。参考C0225工程,创建以Lambda表达式作为返回值的计算面积的函数,并进行调用。参考C0226工程,仓IJ建repeatDoWn()函数,使用LambCIa表达式实现递减功能repeat语句功能,并使用了三种等价形式调用了该函数。实验三KOtIin的面向对象基础1学时1、实验目的(1) 理解并掌握抽象类和抽象方法的使用方法。(2) 理解访问控制符的作用域,合理使用访问控制符。(3) 理解属性的延迟初始化的作用,并其掌握使用方法。2、实验内容(1)抽象类和抽象方法抽象类是一种特殊的类,声明了抽象方法,通常用于继承。抽象类不能实例化对象,而是必须实例化其具体的子类。参考C0307工程,创建抽象类和抽象方法,并使用。(2)访问控制符访问控制有4种类型:public>privateprotected和internal,默认缺省访问控制符是publico参考C0309工程,新建Car包,在Car包内新建Cai类,然后为Car类添加两个属性和三个方法。在Car包内新建BUS类,使其继承Car类,并为其添加主构造方法的初始化块和三个方法。(3)属性的延迟初始化属性需要在声明时或构造方法中初始化,否则会报错。如果不需要在声明时或构造方法中初始化就需要设置延迟初始化。有两种延迟初始化的方式:Iateinit和byIazyo参考C0313工程,使用Iateinit延迟初始化属性的使用方法。参考C0314工程,使用byIazy延迟初始化属性的使用方法。实验四Kotlin的面向对象进阶2学时1、实验目的(1) 理解并掌握伴生对象的使用方法。(2) 掌握三种不同类型集合的使用方法。(3) 掌握泛型类和泛型方法的使用方法。(4) 掌握异常处理的使用方法。(5) 理解多线程的原理,并掌握使用方法。(6) 理解协程的原理,并掌握使用方法。2、实验内容(1)伴生对象伴生对象用于在普通类中实现静态属性和静态方法的功能,使用companionobject)语句创建伴生对象。伴生对象内,方法中不能使用在伴生对象外声明的属性,只能使用伴生对象内声明的属性,而伴生对象外声明的方法可以调用伴生对象内声明的属性。参考C0404工程,创建伴生对象,并调用伴生对象内的态属性和静态方法。(2)集合集合通常包含相同类型的对象,集合中的对象称为元素。集合分为可变集合和不可变集合,可变集合可以增减元素,而不可变集合不可以增加元算。Set类用于存储不重复的同一类型数据的集合,提供了size属性用于获取元素数量。参考C0407工程,创建Set集合和MUIableSel集合的实例,并调用其常用属性和方法。1.ist类用于也可以存储不重复的同一类型数据的集合,但是元素都有对应的顺序索引,因此允许使用重复元素,可以通过索引来访问指定位置的集合元素。参考C0408工程,创建LiSt集合和MutableList集合的实例,并调用其常用属性和方法。Map类使用键名和键值保存同一类型数据,键名不能重复,键值可以重复。参考C0409工程,创建MaP和MUlableM叩集合的实例,并调用其常用属性和方法。(3)泛型类和泛型方法泛型是一种特殊的类型,可以接收不同类型的数据。泛型的本质是参数化类型,泛型并不是变量,所操作的数据类型被指定为一个参数。参考C0410工程,声明并调用泛型类。参考C0412工程,声明并调用泛型方法。(4)异常处理异常处理是指对程序运行中的错误或问题的处理机制。参考C0413工程,使用基本形式捕获异常。(5)多线程进程中包含两个或两个以上的线程被称为多线程,多线程能更好地利用CPU资源,但是对内存的消耗也会更多。每个线程都有独立的生命周期,包含新建状态、运行状态、就绪状态、阻塞状态和死亡状态等五种状态。参考C0416工程,创建自定义多线程类,并实例化后启动多线程。参考C0417工程,通过实现RUnnable接口的类并调用重写的run()抽象方法开启多线程。参考C0418工程,通过CalIabIe接口重写的call()方法实现多线程。(6)协程协程是一种轻量级的异步解决方案。协程不是进程也不是线程,而是一个特殊的函数,这个函数可以在某个地方挂起,并且可以重新在挂起处外继续运行。*!未找时用协程依赖于线程,一个线程中可以创建多个协程,但是协程挂起时不需要阻塞线程,消耗内存更少,几乎不会引起OoM异常。参考C0421工程,调用GIobalSCoPe.launch。方法开启全局域协程。参考C0422工程,在CorOUtineSeOPe.launch。方法开启协程内使用IaUnCh()方法开启子协程。参考C0423工程,在主线程上使用runBlocking()函数开启协程及其子协程。参考C0424工程,使用WithCOnteXt()函数和使用suspend关键字自定义的挂起方法。实验五Android的基础控件2学时1、实验目的(1) 掌握TextView控件的使用方法。(2) 掌握EditText控件的使用方法。(3) 掌握Button控件的使用方法。(4) 掌握ImageView控件的使用方法。(5) 掌握RadiOBUtton控件的使用方法。(6) 掌握AlertDialog控件的使用方法。(7) 掌握DatePicker控件的使用方法。(8) 掌握ScrollView控件的使用方法。(9) 掌握Notification控件的使用方法。2、实验内容(1) TextView控件TextView控件是用于显示文本信息的控件。参考C0501工程,使用两种方法创建TeXtVieW控件。第个TeXtVieW控件使用标签创建,使用SetTeXt()方法修改文本内容;第二个TeXtVieW控件通过代码动态创建,使用代码设置内容、字号大小、布局等属性。(2) EditTeXt控件EditTeXt控件是用于输入和编辑文本内容的控件。参考C0502工程,创建三种不同效果的EdilTeXt控件。第一个EditTeXI控件输入的字符超过ems属性设置的长度后,之前输入的字符会被推后隐藏起来,第二个EditText控件输入的字符超过maxEms属性设置的长度后,会在maxLength属性设置的范围内自动延长控件的长度,第三个EditText控件输入换行后,控件会在maxLines属性设置的范围内自动增加一行。(3) Button控件Button控件是按钮的控件。参考C0503工程,创建Button控件及其点击监听事件,单击“获取当前系统时间”按钮,在其上方的TeXtVieW控件中显示出当前的系统时间。(4) ImageView控件ImageView控件是用显示图片的控件。参考C0504工程,使用ImageVieW控件显示图像的三种缩放匹配效果。第一张图片是等比例最大化居中显示;第二张图片是原始尺寸在左上角显示;第三张图片是完全填充显示,可能会导致图片被拉伸变形。(5) RadioButton控件RadioBUtton控件是单选框的控件。参考C0506工程,使用RadiOBUttOn控件选择性别,单击改变选择的选项或提交按钮时,会在控制台中输出相应的信息。(6) AlertDiaIOg控件AIertDiaIog控件是用于显示对话框的控件。参考C0510工程,创建默认AIertDiaIog控件和自定义AIertDialog控件。单击“默认对话框”按钮显示默认AlertDiaIOg控件,单击AIertDiaIog控件以外的区域可以直接关闭对话框。单击“自定义对话框”按钮显示自定义AIertDiaIog控件,然后输入框自动获取焦点后弹出虚拟键盘,此时单击该控件以外的区域不会关闭对话框。(7) DatePiCker控件DatePiCker控件是用于选择日期的控件。参考C0511工程,创建SPinner外观样式的DatePiCker控件。滑动DatePiCker控件可以修改年月日。单击“重置”按钮,会将DatePiCker控件的日期设置为“2020年1月1日”。单击“确定”按钮,会获取DatePiCker控件设置的日期。(8) SCroIIVieW控件ScroIIView控件是可滚动的用于显示其他控件的控件。参考C0513工程,创建ScrollView控件并添加子控件,子控件超出显示范围时通过滚动的方式进行显示。ScroIIView控件先向下滑动到100O像素,然后单击其下方的四个按钮实现不同位置的滑动。(9) NotifiCaIion控件NOMfiCatiOn控件是显示通知的控件。参考C0514工程,创建弹出式状态栏通知和自定义视图状态栏通知,单击“关闭状态栏通知”关闭通知。实验六Android的布局组件2学时1、实验目的(1) 掌握LinearLayout组件的使用方法。(2) 掌握RelativeLayout组件的使用方法。(3) 掌握TabIeLayout组件的使用方法。(4) 掌握GridLayout组件的使用方法。(5) 掌握FrameLayout组件的使用方法。(6) 掌握ConstraintLayout组件的使用方法。2、实验内容1.inearLayout组件1.inearLayoUt组件是进行水平或垂直排列布局的容器组件。参考C0601工程,创建水平和垂宜两种线性布局以及嵌套布局,整体使用垂直线性布局,局部使用了多重嵌套的线性布局。(1) RelativeLayout组件ReIativeLayout组件是相对排列布局的容器组件。参考C0602工程,创建九个相对布局,“中”“顶端”“底端”“左端”和“右端”是相对于父标签的相对布局,“上”“下”“左”和“右”是相对于“中”的相对布局。(2) TabIeLayout组件TabIeLayout组件是使用表格的形式布局的容器组件。参考C0603工程,创建表格布局显示登录界面,“登录”按钮占用了两个单元格,其余控件各占用一个单元格。(3) GridLayOUt组件GridLayOUt组件是网格形式排列布局的容器组件。参考C0604工程,创建网格布局显示计算器的界面,第一行的控件占用了4列网格,第二行的控件各占用2列网格。(4) FrameLayout组件FrameLayout组件是依次堆叠形式排列布局的容器组件。参考C0605工程,创建帧布局叠加显示图像片,文字和汽车图像包含透明区域,透明区域直接显示出背景图像。(5) ConStraintLayOUt组件COnStraintLayoUt组件是依次堆叠形式排列布局的容器组件。参考C0606工程,创建约束布局模仿朋友圈顶部的效果,背景图像与其父标签进行约束,头像图像与背景图像进行约束,昵称文本与头像图像进行约束。实验七AndrOid的进阶控件与适配绑定2学时1、实验目的(1) 掌握LiStVieW控件的使用方法。(2) 掌握GirVieW控件的使用方法。(3) 掌握PopupWindow控件的使用方法。(4) 掌握VieWPager控件的使用方法。(5) 理解并掌握视图绑定的使用方法。(6) 理解并掌握数据绑定使用方法。2、实验内容1.istView控件1.iStVieW控件是可以滚动显示列表信息的控件。参考C0701工程,从资源文件中获取字符串数组显示到LiStVieW控件,并为LiStVieW控件添加顶部视图,单击列表项后显示相应的提示信息。(1) GirVieW控件GirVieW控件是以滚动网格形式显示信息的控件。参考C0703工程,创建GirVieW控件分两行排列商品类别,每个类别都配有文字和图片,单击后显示相应的提示信息。(2) PopupWindow控件PoPUPWindoW控件是悬浮显示的控件。参考C0705工程,创建POPLIPWindOW控件,单击按钮显示POPUPWindoW控件,单击悬浮框内的按钮后显示提示信息且PopupWindow控件消失,POPUPWindOW控件显示和消失的过称中使用动画效果。当POPUPWindOW控件显示时,单击POPUPWindOW控件以外的区域悬浮框会消失,且不会触发点击区域控件的事件。(3) VieWPager控件VieWFliPPer控件是多视图轮转的控件。参考C0606工程,创建VieWFIiPPer控件,轮转显示图片,单击图像后通过提示信息显示当前子视图的索引号,当子视图开始执行显示动画时当前子视图索引号就会改变。(5)视图绑定ViewBinding是通过为xml布局自动生成个绑定类,将控件的id转换为绑定类的属性,通过绑定类的实例直接调用控件的操作方式。参考C0708工程,使用视图绑定的方式改造“欢迎引导页”,实现精简代码。(6)数据绑定DataBinding是通过为xml布局自动生成一个绑定类(和ViewBinding共用个绑定类),将布局文件中控件的属性与数据类的属性或方法进行关联,通过对数据类的实例间接修改控件属性或处理控件事件的操作方式。参考C0709工程,使用数据绑定的方式改造“欢迎引导页”,实现对控件属性的单向数据绑定和双向数据绑定。点击第四个分页的“开始”按钮,通过双向绑定获取控件的text属性值,并使用通知显示出来。实验八Android的基本程序单元4学时1、实验目的(1) 掌握Activity创建和删除的使用方法。(2) 掌握Activity启动和关闭的使用方法。(3) 理解ACtiVity的生命周期。(4) 掌握AetMty的启动模式,并能够正确使用。(5) 掌握Activity之间的数据传递方法。(6) 掌握Fragment的使用方法,能够实现导航分页功能。2、实验内容(1) ACtiVity的创建和删除创建工程后,新建ACtiVity,并设置的配置参数。然后删除创建的ACtiVity,并删除配置参数。(2) ACtiVity的启动和关闭参考C0802工程,使用8种方式打开ACtMty,其中2个为显式的方式启动,1个为自定义隐式的方式启动和5个为使用预设隐式的方式启动。(3) Activity的生命周期Activity的生命周期主要包含7个方法和6个状态(Created、Started、Resumed、Paused、Stoped、Destroyed)o完整生命周期从回调OnCreateO方法开始,到回调OnDeStroy()方法结束。可见生命周期从回调OnStart()方法开始,到回调OnStoP()方法结束。前台生命周期从回调OnReSUme()方法开始,到同调OnPaUSe()方法结束。参考C0803工程,重写MainActivity的7个生命周期方法,观察生命周期的执行顺序。(4) ACtiVity的启动模式ACtiVity启动模式木质区别在于任务栈的分配,共有四种启动模式:standard.SingIeTop>singleTaskSinglelnstance0启动模式需要在AndroidManifeSt.xml文件中,设置android:launchMode属性进行设置,默认值是Standard0参考C0804工程,启动standard标准模式的AetiVity时,创建一个新的实例,放置在启动该AetiVity的任务栈顶部。参考CO805工程,启动SingleTOP栈顶复用模式模式的ACtMty处于当前栈的顶部时,不会创建新的实例,而是直接启动该ACtiVity.参考C0806工程,任务栈中存在SingleTaSk栈内复用模式的Activity时,再次启动该Activity时,栈内该Activity上面的所有Activity全部出栈,并且会回调该实例的OnNeWlntent()方法。参考C0807工程,Singlelnstance单例模式的ActiVity除了具有SingIeTaSk模式特性外,还具有全局唯一性。系统中只能存在一个实例且单独占用一个任务栈,被该AetMty开启的其他ACtMty会分配到其他任务栈内。首次启动该ACtMty时,会新建任务栈存放该ACtMty实例。再次启动该ACtiVity时,除非该ACtiVity实例已经销毁,否则不会新栈内创建新的实例;重用该AetMty实例,不会调用OnCreat()方法,会调用OnNeWlntento方法。(5) ACtiVity的数据传递启动和关闭ACtiVity可以通过Intent对象传递数据。参考C0808工程,简单数据类型的数据通过Intent对象在各Activity之间进行传递,Intent类的PUtEXtra()方法提供了丰富的重载方法,可以传递不同类型的数据。关闭ACtiVity时,还可以回传数据。(6)导航分页的主界面Fragment是嵌入到ACtMty的程序单元,必须依赖于ACtMty,不能独立存在的。有独立的生命周期,能接收输入事件,ACtMty可以动态添加或删除Fragment。一个ACtiVity里可以包含多个Fragment,可以实现分页导航功能。参考C0809工程,底部包含5个导航按钮,第5个按钮上默认显示数字圆点提示。单击导航按钮后,显示数字圆点提示会消失,顶部的标题会相应改变,并且中间的区域会显示相应的Fragmento每个Fragment都包含一个'显示TAB圆点”按钮,单击后相应的导航按钮会显示数字圆点提示。实验九AndrOid的后台服务与广播3学时1、实验目的(1) 掌握Service开启和停止的方法。(2) 掌握SerViCe绑定和数据传递的方法。(3) 掌握Service显示Notification的方法。(4) 掌握显式和隐式接收广播的方法。(5) 掌握发送标准广播和有序广播的方法。2、实验内容(1) SerViCe的开启和停止参考C0901工程,创建SerViCe类,命名为MySerVice。单击“启动SERVlCE”按钮启动MyService类实例在后台运行,单击“停止SERVICE”按钮停止MyService类实例的运行。(2) SerViCe的绑定和数据传递参考C0902工程,创建Service类,命名为MyService,重写声明周期方法,声明getSecond()方法用于获取运行时间。单击“启动SUbACtMty”按钮启动SubActivityo在SUbACtiVity中,单击"启动SerViCe”按钮启动MySerViCe实例,单击"绑定SerViCe”按钮绑定MyService实例,再单击“获取Service运行时间按钮”会通过提示信息显示Service己经运行的时间。未停止SerViCe时,关闭SLlbACtiVity会停止运行SerViCe。(3) Service显示Notification参考C0903工程,使用SerViCe显示前台通知。单击“启动前台通知服务”按钮,会在状态栏显示通知图标,将状态栏下拉后会看到通知。单击“停止前台通知服务”按钮会关闭通知,否则即使关闭该APP通知依然不会消失。(4)显式和隐式接收广播参考C0904工程,通过BrOadCaStReCeiVer组件实现显式和隐式接收广播。单击“注册广播接收器”按钮,不但能够对网络、屏幕和电量等隐式广播进行接收,还能对自定义的显式广播进行接收。(5)发送标准广播和有序广播参考C0905工程,新建两个自定义广播接收器类:MyBroadcastReceiverI和MyBrOadcastReceiver2,用于接收有序广播。创建三个按钮,分别发送标准广播、连续有序广播和单次有序广播。实验十Android的数据存储与共享4学时1、实验目的(1) 掌握SharcdPreferences接口保存本地数据,实现用户保存登录数据。(2) 掌握SQLite组件创建并使用本地数据库,实现自定义通讯录数据的保存。(3) 掌握ContentProvider组件向所在的App提供数据,以及向其他App提供数据。(4) 掌握JSoNObjeCt类合成和解析数据。2、实验内容(1)用户登陆SharedPreferenCeS接口主要用于获取共享偏好设置数据。参考CIOol工程,APP常用的登录功能,登陆后保存用户的登录数据,再次打开APP时会自动登录。登陆后单击“退出”按钮,可以清除用户登录数据,然后再次打开APP时需要登录。(2)自定义通讯录SQljte组件是一个轻量级的关系型数据库,无服务器端,零配置,运算速度快,占用资源少,支持大部分标准SQL语法。参考ClO02工程,使用SQLite进行存储数据的通讯录,顶部使用LiStVieW控件显示通讯录中的联系人,单击后在底部的EditTeXt控件中显示该联系人的信息,可以通过底部的按钮对该联系人进行相应的操作或显示其所有联系人。(3)自定义内容提供者ContentProvider组件不但可以向所在的App提供数据,还可以向其他APP提供数据。参考Cl003工程和CIOo4工程,两个APP之间的数据访问和修改,模仿了系统通讯录提供内容服务的方式。(4)合成和解析JSoN数据JSON(JavaScriptObjectNotation)是种轻量级的数据交换方法,是基于JaVaSCript的一个子集,主要用于网络或程序之间传递数据。参考CIOo6工程,模拟发布朋友圈或微博动态前合成JSON,对JSON数据进行解析后显示。单击“合成单行”或“合成多行”按钮,会在下方显示合成后的单行或多行JSON字符串。单击“清空”按钮,清空顶部EcHtTeXt控件的内容。然后单击“解析”按钮,将合成的JSON数据解析后显示在顶部相应的EditTeXt控件内。实验H一,Android的多媒体与传感器4学时1、实验目的(1) 掌握获取权限调用内置相机拍照和录制视频,并保存在相册内的方法。(2) 掌握AudioRecord类读取麦克风采集的音频数据流的方法。(3) 掌握调用运动类传感器的使用方法,并实现摇一摇的功能。(4) 掌握调用位置类传感器的使用方法,并实现指南针的功能。2、实验内容(1

    注意事项

    本文(Kotlin移动应用开发技术教学大纲.docx)为本站会员(夺命阿水)主动上传,课桌文档仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知课桌文档(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-1

    经营许可证:宁B2-20210002

    宁公网安备 64010402000986号

    课桌文档
    收起
    展开