版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章校园易App工程创建课时内容校园易App工程创建课时8教学目标了解Android发展史及体系结构。掌握Android开发环境的搭建方法。掌握Android工程创建方法。掌握Android项目结构。理解Activity生命周期。掌握Android程序运行、调试方法。教学重点Android开发环境的搭建Android工程创建方法Android项目结构Activity生命周期教学难点Android体系结构Activity生命周期及回调方法程序调试方法教学设计1.教学思路:介绍Android的发展史和体系结构;通过实机演示讲解AndroidStudio开发环境的搭建和Android模拟器的创建;通过创建校园易App项目讲解Android项目结构和Activity生命周期;通过Logcat和Toast调试案例巩固调试方法。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务1.1认识AndroidAndroid是由Google公司主导开发的开源移动操作系统,基于Linux内核,中文名称为安卓。Android主要用于移动设备,如智能手机。1.1.1了解Android发展史Android最初由安迪·鲁宾(AndyRubin)开发,2005年8月由Google公司收购。2007年11月,Google公司组建开放手机联盟,共同推进Android开发。2008年9月,Google公司正式发布Android1.0。此后Android版本不断迭代,从纸杯蛋糕(1.5)、甜甜圈(1.6)、松饼(2.1)等逐步发展,随后陆续发布Android5.0至Android13。2023年5月发布Android14,2025年Android16正式版发布。1.1.2学习Android体系结构Android采用分层的框架结构,由上至下依次为应用层、应用框架层、本地库、运行时库、硬件抽象层、Linux内核和安全单元。1.应用层:安装在移动终端上的应用程序集合,包括系统自带程序和用户开发的程序。2.应用框架层:提供构建应用程序时用到的各种API,包括内容提供器、活动管理器、通知管理器、资源管理器等。3.本地库:提供3D绘图、浏览器内核等特性支持。4.运行时库:提供Java运行时环境,将字节码转换为处理器专有指令。5.硬件抽象层:为硬件供应商提供标准接口,支持低级驱动程序。6.Linux内核:提供底层驱动及电源、内存、进程管理等功能。7.安全单元:提供私密信息的安全存储、重要程序的安全执行等功能。任务1.2搭建AndroidStudio开发环境开发Android应用需要下载和安装JDK及AndroidSDK,还需要开发工具。AndroidStudio是目前主流的Android应用开发工具,从AndroidStudio2.2开始,安装AndroidStudio时JDK和AndroidSDK会自动安装。1.2.1安装AndroidStudioAndroidStudio是Google公司的官方IDE,支持Java、Kotlin等多种语言开发,可在Linux、Windows、macOS上运行。本节以在Windows操作系统上安装为例。1.安装JDKJDK是Java语言的软件开发工具包。下载所需版本的JDK安装包后,以管理员身份运行,按提示设置安装路径并完成安装。安装完成后,在命令提示符窗口输入"java-version"命令,若出现Java版本信息则说明安装成功。2.下载AndroidStudio打开AndroidStudio官网,下载所需版本(本书使用AndroidStudioGiraffe)的.exe安装文件,适用于Windows10(64位)操作系统。3.安装AndroidStudio初次安装应保持联网状态。以管理员身份运行安装包,依次完成选择部件、设置安装路径、创建启动快捷方式等步骤,单击"Install"按钮开始安装,安装完成后单击"Finish"按钮即可。4.启动AndroidStudio双击快捷方式启动AndroidStudio,按提示完成设置后进入欢迎界面,说明AndroidStudio已启动成功。1.2.2创建Android模拟器Android模拟器(AVD)是运行在计算机上的虚拟设备,可模拟各种Android设备并测试应用程序,具有灵活性、高还原度、速度快等优势。创建步骤如下:(1)在AndroidStudio欢迎界面的"MoreActions"下拉列表中选择"VirtualDeviceManager"选项。(2)单击"CreateDevice"按钮,选择设备类型和型号。(3)选择Android系统镜像(若未下载则先下载),单击"Next"按钮。(4)设置设备名称等属性后单击"Finish"按钮完成创建。创建完成后单击启动按钮即可打开Android模拟器。任务1.3创建第一个Android项目校园易App是一款学生校园助手软件,包括用户登录、班级通告、待办事项、班级照片浏览、娱乐等功能。本任务从校园易App的创建入手,讲解如何编写第一个Android应用程序。1.3.1认识Android项目结构Android工程由多个目录及文件组成,主要目录如下:(1)manifests:存放AndroidManifest.xml项目清单文件,包含项目名称、版本、SDK、权限等配置信息。(2)java:存放所有Java源代码,可创建多个包划分不同功能的源文件。(3)res:资源目录,布局放在layout目录下,字符串放在values目录下,图片放在drawable目录下,应用程序图标放在mipmap目录下。(4)GradleScripts:存放项目创建的相关文件。1.3.2运行Android应用程序运行Android应用程序有两种方法:一是在真实的Android移动终端中运行,需打开开发者模式并允许USB调试;二是通过Android模拟器运行、调试应用程序。启动Android模拟器后,单击运行按钮即可运行应用程序。1.3.3创建校园易App项目1.创建校园易App工程在AndroidStudio菜单栏中选择"File"→"New"→"NewProject"选项,选择"EmptyViewsActivity"模板,单击"Next"按钮进入项目配置界面。设置Name(工程名称)、Packagename(包名)、Savelocation(保存路径)、Language(选择Java)、MinimumSDK(最低支持的Android版本)后,单击"Finish"按钮完成创建。2.认识工程中的文件工程创建成功后,AndroidStudio会自动生成activity_main.xml和MainActivity.java两个默认文件。activity_main.xml是布局文件,使用ConstraintLayout约束布局,默认包含一个显示"HelloWorld!"的TextView组件;MainActivity.java是Java源文件,继承AppCompatActivity基类,在onCreate()方法中通过setContentView(R.layout.activity_main)加载布局。3.Android清单文件AndroidManifest.xml是整个工程的信息描述文件,位于manifests目录下。其根节点<manifest>描述package中的所有内容;<application>包含application级别组件声明;<activity>用来与用户交互,初始页面需包含<intent-filter>节点。工程中定义的四大组件都需要在此注册。任务1.4认识Activity生命周期Android四大组件为Activity、Service、Broadcast、ContentProvider。Activity负责与用户交互,为用户提供可视化界面及操作。Activity生命周期包含五种状态,涉及七个生命周期回调方法。1.4.1学习Activity生命周期五种状态Activity生命周期是指一个Activity从创建到销毁的全过程,Android通过栈管理Activity(先进后出)。Activity生命周期分为五种状态:1.启动状态:过渡状态,很短暂,通常Activity启动后便进入运行状态。2.运行状态:处于栈顶位置,在屏幕最前端,可见且有焦点,可与用户交互。3.暂停状态:Activity可见但失去焦点,用户无法操作。4.停止状态:Activity完全不可见,但保留状态和成员信息。5.销毁状态:用户单击返回键时,Activity被清理。1.4.2掌握Activity生命周期的回调方法Activity生命周期涉及七个回调方法:onCreate()(初次创建,只调用一次)、onStart()(Activity可见但无法交互)、onResume()(进入运行状态,可交互)、onPause()(进入暂停状态)、onStop()(进入停止状态)、onRestart()(停止状态再次启动时调用)、onDestroy()(销毁,只调用一次)。系统依次调用onCreate()→onStart()→onResume()方法,Activity进入运行状态;若被其他Activity完全覆盖,则调用onPause()→onStop()方法进入停止状态;再次回到此Activity时,调用onRestart()→onStart()→onResume()方法。【案例1-1】Activity生命周期。新建ActivityLife工程,在MainActivity类中重写七个回调方法并添加日志。首次运行依次调用onCreate()→onStart()→onResume();单击主页按钮依次调用onPause()→onStop();回到Activity依次调用onRestart()→onStart()→onResume();旋转屏幕依次调用onPause()→onStop()→onDestroy()→onCreate()→onStart()→onResume();单击返回按钮依次调用onPause()→onStop()→onDestroy()。1.4.3掌握程序调试方法1.Logcat调试Logcat用于输出日志信息。日志分为Verbose、Debug、Info、Warn、Error、Assert六级,分别对应Log.v()、Log.d()、Log.i()、Log.w()、Log.e()、Log.a()方法。可在LogcatHeader设置中取消显示不关心的信息,也可在搜索功能中输入关键字进行过滤。2.Toast调试Toast是AndroidStudio中的视图,用来快速显示少量信息。【案例1-2】实现校园易App欢迎界面。新建工程CampusAssistant并添加一个Toast,显示"WelcometoCampusAssistantApp!"。通过makeText()方法创建弹出框,需传递三个参数:当前上下文、要显示的文本信息字符串、显示时间(Toast.LENGTH_LONG表示3.5秒)。小结本模块主要讲解了Android的基础知识,首先介绍了Android的发展史和体系结构;其次讲解了AndroidStudio开发环境的搭建方法,以及如何创建Android模拟器;再次讲解了Android项目结构、运行Android应用程序及创建Android项目;最后讲解了Activity的生命周期,其是Activity在运行过程中所处状态的集合,在Activity不同的阶段会有不同的生命周期回调方法,可以在Activity类中重写这些方法,以做到在不同的生命周期中实现不同的行为。本模块包含Android开发的入门知识,读者需要熟练掌握这些知识,为后续的学习打下良好的基础。练习一、选择题1.在Android生命周期中,()方法是在Activity从前台进入后台时调用的。A.onPause()B.onStop()C.onDestroy()D.onStart()2.Activity布局文件放在()目录下。A.res/layoutB.res/layoutsC.res/xmlD.res/values3.Activity销毁时执行的方法是()。A.onStart()B.onResume()C.onPause()D.onDestroy()4.在Android中,Log.w()用于输出()类型的日志信息。A.DebugB.InfoC.WarnD.Error5.Android中的图片资源文件放在()目录下。A.res/layoutB.res/drawableC.res/xmlD.res/values二、判断题1.2023年11月,Google公司与众多硬件制造商、软件开发商及电信运营商组建了开放手机联盟,一同开发Android。()2.Android实际上是一个针对多种不同设备类型打造的开放源代码的软件开发堆栈,该软件开发堆栈的搭建采用了分层的框架结构。()3.Android是在Linux内核的基础上构建的,Android的核心系统服务依赖于Linux2.6内核。()4.AndroidStudio只支持安装在Windows操作系统上。()5.工程创建成功后,AndroidStudio会自动生成两个默认文件——activity_main.xml和MainActivity.java。()6.Log.e()对应Verbose,用于输出最为琐碎的、意义最小的日志信息。()7.Toast类的makeText()方法需要传递三个参数,其中第一个参数是要显示的文本信息。()8.在使用Logcat调试的过程中,输出日志信息可能包含许多人们并不关心的内容,如日期、线程ID、包名等。()9.在Activity生命周期中,onStart()、onResume()方法成对出现。()三、简答题1.简述Activity的五种状态。2.简述Activity的七个生命周期回调方法。第2章校园易App用户登录功能实现课时内容校园易App用户登录功能实现课时8教学目标熟悉AndroidStudio常用布局。掌握AndroidStudio约束布局。掌握TextView、EditText、Button、ImageView等常用组件。掌握用户登录页面的设计方法。实现校园易App的登录功能。教学重点Android常用布局约束布局Android常用组件登录功能实现教学难点约束布局的相对定位与偏移组件属性配置登录逻辑实现教学设计1.教学思路:介绍Android常用布局和约束布局;讲解常用组件的用法;通过案例演示校园易App登录页面的设计与登录功能实现。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务2.1设计用户登录页面用户登录、注册页面是许多App包含的页面,也是用户必经的页面,因此需要设计一个具有良好用户体验感的校园易App的用户登录页面。Android布局是Android应用程序界面设计的基础。2.1.1掌握常用布局Android提供了5种常用布局,分别为相对布局、线性布局、帧布局、表格布局和网格布局。1.相对布局:以父容器和兄弟组件为参照来确定组件位置的布局方式,使用<RelativeLayout>标签定义。2.线性布局:将放入其中的组件按照垂直或水平方向来布局,使用<LinearLayout>标签定义,排列方式由android:orientation属性控制。3.帧布局:每加入一个组件都将创建一个空白区域(帧),多个组件层叠排序,后面的组件覆盖前面的组件,使用<FrameLayout>标签定义。4.表格布局:以行、列的形式管理组件,使用<TableLayout>标签定义,可添加多个<TableRow>标签。5.网格布局:在Android4.0中提出,使用<GridLayout>标签定义,屏幕被划分为行、列和单元格,组件可跨行或跨列摆放。2.1.2掌握约束布局约束布局具有相对布局的能力,可以将一个组件相对于另一个组件的位置来放置,能减少布局嵌套,提升性能。1.相对定位:通过app:layout_constraintXXX_toXXXOf属性设置组件相对于父容器或兄弟组件的位置。2.边距:通过设置视图的上、下、左、右4个边距来控制视图的位置和间距,如android:layout_marginStart等。3.居中和偏移:通过app:layout_constraintHorizontal_bias和app:layout_constraintVertical_bias属性设置偏移量,值为0~1.0,实现更灵活的界面适配。任务2.2学习Android常用组件本任务介绍Android常用组件,包括TextView组件、EditText组件、Button组件和ImageView组件。2.2.1学习TextView组件TextView是文本显示组件,用于在屏幕上显示文本信息,起提示和说明的作用。常用XML属性包括android:text(文本内容)、android:textColor(文本颜色)、android:textSize(文本大小)等。【案例2-1】更改TextView组件的显示文本信息为"姓名+学号",可通过XML的android:text属性、Java代码的setText()方法或在strings.xml中定义字符串三种方法实现。2.2.2学习EditText组件EditText是文本输入组件,允许用户在界面中输入文本信息。常用属性包括android:hint(提示信息)、android:inputType(输入类型,如数字、密码等)、android:maxLength(最大输入长度)等。2.2.3学习Button组件Button是按钮组件,继承自TextView,用于响应用户的单击操作。通过为Button设置onClick属性或在Java代码中调用setOnClickListener()方法实现单击事件处理。2.2.4学习ImageView组件ImageView是图像视图组件,用于在界面中显示图片。通过android:src属性指定图片资源,android:scaleType属性控制图片的缩放类型。任务2.3实现校园易App的登录功能本任务综合运用布局和组件知识,实现校园易App的登录页面布局和登录功能。2.3.1实现登录页面的布局登录页面主要包括用户名输入框、密码输入框和登录按钮。使用约束布局或线性布局进行设计,通过EditText组件接收用户输入,Button组件触发登录操作。2.3.2实现登录功能在MainActivity中为登录按钮设置单击事件监听器,获取用户输入的用户名和密码,进行合法性校验。若校验通过,使用Toast弹出框显示登录成功提示;若校验失败,提示用户重新输入。【案例2-2】实现校园易App登录功能。在登录按钮的onClick事件中,通过findViewById()获取EditText组件,调用getText().toString()获取输入内容,与预设账号密码比对后用Toast显示结果。小结本模块主要讲解了校园易App用户登录功能的设计与实现。首先介绍了Android常用布局和约束布局;然后讲解了TextView、EditText、Button、ImageView等常用组件的用法;最后通过案例实现了校园易App的登录页面布局和登录功能。练习一、选择题1.下列选项中,设置TextView中文本内容的属性是()。A.android:textValueB.android:textC.android:textColorD.android:textSize2.若要为一个TextView组件设置红色字体,则应该使用()。A.setTextColor(0xffff0000)B.setColor("0xffff0000")C.setTextColor("0xffff0000")D.setColor("red")3.在Activity中需要找到一个id属性是bookName的TextView组件,正确的是()。A.TextViewtv=this.findViewById(R.id.bookName)B.TextViewtv=(TextView)this.findViewById(R.id.code)C.TextViewtv=(TextView)this.findViewById(R.id.bookName)D.TextViewtv=(TextView)this.findViewById(R.string.bookName)4.在Android应用程序中,图片应放在()目录下。A.rawB.valuesC.layoutD.drawable二、判断题1.TextView组件通常用于在界面上显示文字信息。()2.EditText组件可以用于输入文字,且可以通过inputType属性控制输入的内容只能是数字或者字母等。()3.android:hint属性用于设置EditText编辑框中的提示信息。()4.设置TextView字体的属性是android:typeface。()三、简答题1.Android常用布局有哪些?第3章校园易App高级功能实现课时内容校园易App高级功能实现课时10教学目标理解Android适配器的概念。掌握GridView组件的用法。掌握Spinner、ListView、RecyclerView组件的用法。实现校园易App系统主窗体及各高级功能。理解并实现Android触摸事件。教学重点适配器的概念与使用GridView、ListView、RecyclerView组件Spinner组件触摸事件处理教学难点适配器与组件的绑定RecyclerView的使用触摸事件分发机制教学设计1.教学思路:介绍适配器概念;讲解GridView、Spinner、ListView、RecyclerView组件;通过案例实现校园易App各高级功能及触摸事件。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务3.1实现校园易App系统主窗体系统主窗体是校园易App的核心界面,本任务通过GridView组件和适配器实现功能图标的网格展示。3.1.1认识适配器适配器是数据和视图之间的桥梁,负责将数据源中的数据填充到UI组件中显示。Android常用适配器包括ArrayAdapter(数组适配器)、SimpleAdapter(简单适配器)和BaseAdapter(基础适配器)。ArrayAdapter通常用于将数组或List中的数据填充到ListView、Spinner等组件;SimpleAdapter用于将Map列表数据填充到复杂布局;BaseAdapter可自定义数据填充逻辑。3.1.2学习GridView组件GridView组件用于以网格形式展示数据,按行列方式排列子组件。常用属性包括android:numColumns(列数)、android:horizontalSpacing(水平间距)、android:verticalSpacing(垂直间距)等。通过setAdapter()方法为GridView设置适配器。3.1.3实现系统主窗体系统主窗体使用GridView展示功能图标,每个图标对应一个功能模块。通过自定义BaseAdapter,将功能名称和图标图片数据填充到GridView中。任务3.2实现校园易App新增待办事项功能本任务通过Spinner组件实现新增待办事项时的事务类型选择功能。3.2.1学习Spinner组件Spinner组件提供下拉列表式的输入方式,可以有效节省屏幕显示空间。通过android:entries属性或setAdapter()方法设置下拉列表数据,通过setOnItemSelectedListener()方法监听选择事件。3.2.2实现新增待办事项功能在新增待办事项页面,使用EditText输入事项内容,Spinner选择事项类型,Button保存数据。通过ArrayAdapter为Spinner填充事项类型数据。任务3.3实现校园易App班级通告信息浏览功能本任务通过ListView组件实现班级通告信息的列表浏览功能。3.3.1学习ListView组件ListView组件以垂直滚动列表的形式展示数据。通过setAdapter()方法设置适配器,常用ArrayAdapter或自定义BaseAdapter填充数据。通过setOnItemClickListener()方法监听列表项单击事件。3.3.2实现班级通告信息浏览功能使用ListView展示通告列表,自定义适配器将通告标题、时间等数据填充到列表项布局中,实现信息浏览功能。任务3.4实现校园易App班级照片浏览功能本任务通过RecyclerView组件实现班级照片的列表浏览功能。3.4.1学习RecyclerView组件RecyclerView是Android5.0推出的高级列表组件,相比ListView更加强大和灵活。使用RecyclerView需要定义Adapter、LayoutManager(布局管理器,如LinearLayoutManager、GridLayoutManager)和ViewHolder。RecyclerView支持横向和纵向滚动、网格布局、瀑布流布局等。3.4.2实现班级照片浏览功能使用RecyclerView展示班级照片,自定义Adapter继承RecyclerView.Adapter,通过GridLayoutManager设置网格布局,在ViewHolder中绑定图片资源。任务3.5实现触摸事件触摸事件是Android用户交互的重要方式,本任务讲解触摸事件的处理机制。3.5.1学习触摸事件Android触摸事件涉及三个核心方法:onTouchEvent()(处理触摸事件)、onInterceptTouchEvent()(拦截触摸事件)和dispatchTouchEvent()(分发触摸事件)。触摸事件类型包括ACTION_DOWN(按下)、ACTION_MOVE(移动)和ACTION_UP(抬起)。3.5.2实现触摸功能通过重写onTouchEvent()方法,获取触摸坐标并处理相应的触摸逻辑,实现自定义的触摸交互效果。小结本模块主要讲解了校园易App高级功能的实现。首先介绍了适配器的概念和GridView组件,实现了系统主窗体;然后通过Spinner、ListView、RecyclerView组件分别实现了新增待办事项、班级通告信息浏览和班级照片浏览功能;最后讲解了Android触摸事件的处理机制。练习一、选择题1.下列选项中,把数组中的数据填充在ListView组件上的适配器是()。A.DefaultAdapterB.ArrayAdapterC.BaseAdapterD.SimpleAdapter2.关于GridView组件的使用,下列说法错误的是()。A.GridView组件会生成以表格进行布局的列表B.GridView组件内置了分页、排序等功能C.为GridView组件设置数据源时,可以指定该组件的DataSourceIDD.为GridView组件设置DataSource属性后,必须调用DataBind()方法二、判断题1.Android中ListView组件和TextView组件显示数据的方法一样。()2.ListView组件通常用于在界面上显示一个垂直滚动的列表。()3.ArrayAdapter通常用来把数组中的数据填充在ListView组件上。()4.Spinner组件提供下拉列表式的输入方式,可以有效节省手机屏幕上的显示空间。()三、简答题1.简述GridView组件的用法。2.Android提供了几种常见的适配器?第4章校园易App系统功能实现课时内容校园易App系统功能实现课时8教学目标掌握AndroidIntent通信机制。掌握Intent显式启动方法。掌握Intent隐式启动方法。掌握Android广播机制。实现校园易App注册、帮助及班级新消息提示功能。教学重点Intent显式启动Intent隐式启动Intent数据传递Android广播机制教学难点IntentFilter配置广播的注册与接收Intent数据传递机制教学设计1.教学思路:介绍Intent通信机制;讲解显式启动和隐式启动方法;通过案例实现注册、帮助和班级新消息提示功能。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务4.1获取注册页面信息Intent是Android中组件之间通信的消息传递对象,可用于启动Activity、传递数据等。本任务通过Intent实现页面跳转和数据传递,完成用户注册功能。4.1.1使用Intent实现跳转Intent分为显式Intent和隐式Intent两种。显式Intent通过直接指定目标Activity类名实现跳转,语法格式为:Intentintent=newIntent(当前Activity.this,目标Activity.class);startActivity(intent);。【案例4-1】实现校园易App用户登录成功跳转页面功能。在登录按钮的单击事件中,校验通过后创建显式Intent,调用startActivity()方法跳转到系统主窗体。4.1.2使用Intent实现数据传递Intent可通过putExtra()方法传递数据到目标Activity。发送方:intent.putExtra("key",value);。接收方:在目标Activity的onCreate()方法中调用getIntent().getStringExtra("key")获取数据。支持传递String、int、boolean等多种数据类型。4.1.3实现用户注册功能注册页面包含用户名、密码、确认密码等输入框。用户填写信息后点击注册按钮,通过Intent将注册信息传递回登录页面,登录页面获取数据后完成注册逻辑。任务4.2实现帮助功能本任务通过隐式Intent实现帮助页面的跳转功能。4.2.1使用Intent实现隐式启动隐式Intent不直接指定目标Activity类名,而是通过指定action和category来匹配目标Activity。目标Activity需在AndroidManifest.xml中配置<intent-filter>标签,声明可响应的action和category。语法格式为:Intentintent=newIntent("action名称");startActivity(intent);。4.2.2实现帮助功能在AndroidManifest.xml中为帮助Activity配置<intent-filter>,声明action。在主窗体中通过隐式Intent启动帮助页面,展示App的使用说明和帮助信息。任务4.3实现校园易App班级新消息提示功能Android广播机制用于组件间的通信。本任务通过广播实现班级新消息的提示功能。4.3.1学习Android广播机制广播是Android四大组件之一,用于应用程序间或应用内组件间的通信。广播分为普通广播和有序广播。发送方通过sendBroadcast()方法发送广播,接收方需继承BroadcastReceiver类并重写onReceive()方法接收广播。广播的注册方式有两种:静态注册(在AndroidManifest.xml中配置<receiver>标签)和动态注册(在代码中调用registerReceiver()方法注册,需在onDestroy()中调用unregisterReceiver()注销)。4.3.2实现班级新消息提示功能当有新消息时,通过sendBroadcast()发送广播,在主窗体中动态注册BroadcastReceiver接收广播,收到消息后通过Notification或Toast显示新消息提示。小结本模块主要讲解了校园易App系统功能的实现。首先介绍了Intent通信机制,通过显式Intent实现页面跳转和数据传递,完成用户注册功能;然后通过隐式Intent实现帮助功能;最后介绍了Android广播机制,实现了班级新消息提示功能。练习一、选择题1.Intent在组件之间传递信息时,一般需要设置()。A.发送方B.接收方C.数据D.以上都是2.Intent根据使用方式可分为()。A.显式Intent和隐式IntentB.静态Intent和动态IntentC.主动Intent和被动IntentD.以上都不对3.下列代码通过()启动Activity。Intentintent=newIntent();intent.setAction("cn.itscast.xxx");startActivity(intent);A.显示意图B.显式意图C.隐式意图D.隐示意图4.继承BroadcastReceiver会重写()方法。A.OnReceiver()B.onUpdate()C.onCreate()D.onStart()二、判断题1.Intent是一个消息传递对象。()2.Intent需要调用startActivity()方法启动Activity。()3.广播接收器有优先级。()三、简答题1.什么是Intent?2.Intent启动模式有哪两种?3.简述Android的广播机制。4.简述广播的两种注册方式。第5章校园易App娱乐功能实现课时内容校园易App娱乐功能实现课时8教学目标掌握Android线程的概念。理解Handler通信机制。掌握线程的创建与使用方法。掌握游戏开发的基本思路。实现乒乓球对打游戏和消灭害虫游戏。教学重点Android多线程Handler通信机制游戏界面设计游戏逻辑实现教学难点子线程与主线程的通信Handler消息处理机制游戏碰撞检测与动画教学设计1.教学思路:介绍Android多线程和Handler通信机制;通过案例讲解乒乓球对打游戏和消灭害虫游戏的设计与实现。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务5.1认识Android多线程Android多线程是开发娱乐功能和处理耗时操作的基础。本任务介绍线程的概念和Handler通信机制。5.1.1认识线程线程是系统能够进行运算调度的最小单位。Android中创建线程有两种方式:继承Thread类并重写run()方法;实现Runnable接口并实现run()方法。通过调用start()方法启动线程。Android规定子线程不能更新UI,所有UI操作必须在主线程(UI线程)中执行。若子线程需要更新UI,需通过Handler通信机制实现。线程休眠使用Thread.sleep()方法。5.1.2掌握Handler通信机制Handler是Android中用于子线程与主线程通信的机制。Handler通过Message(消息)对象传递数据。使用步骤:在主线程创建Handler对象并重写handleMessage()方法处理消息;在子线程中创建Message对象,通过handler.sendMessage()发送消息。Message类的常用属性包括what(消息标识)、arg1/arg2(整型数据)、obj(对象数据)。通过这些属性可将子线程的数据传递到主线程,在handleMessage()方法中更新UI。任务5.2设计乒乓球对打游戏乒乓球对打游戏是经典的休闲游戏,本任务通过多线程和Handler实现游戏逻辑。5.2.1分析乒乓球对打游戏乒乓球对打游戏包含球拍、球和分数显示。游戏规则:玩家通过触摸屏幕控制球拍移动,球碰到球拍反弹,球落地则对方得分。游戏要素包括:球的位置坐标、球的运动速度、球拍位置、分数统计。5.2.2实现乒乓球对打游戏游戏实现思路:使用自定义View绘制游戏界面;在子线程中不断更新球的位置并检测碰撞;通过Handler发送消息更新界面。碰撞检测包括球与球拍碰撞、球与边界碰撞。球与球拍碰撞后反弹,球落地则更新分数并重置球的位置。任务5.3设计消灭害虫游戏消灭害虫游戏是触摸交互类游戏,综合运用多线程和触摸事件知识。5.3.1分析消灭害虫游戏消灭害虫游戏规则:害虫随机出现在地洞中,玩家点击害虫得分,限时内得分越高越好。游戏要素包括:地洞位置(二维数组存储)、害虫出现逻辑、点击检测、计时器、分数统计。5.3.2实现消灭害虫游戏游戏实现思路:使用二维数组存储地洞坐标;在子线程中随机选择地洞显示害虫;通过onTouchEvent()监听触摸事件,判断点击位置是否命中害虫;使用Timer实现倒计时;通过Handler更新界面和分数。小结本模块主要讲解了校园易App娱乐功能的实现。首先介绍了Android多线程的概念和Handler通信机制;然后通过乒乓球对打游戏和消灭害虫游戏两个案例,讲解了游戏开发的基本思路和实现方法,包括碰撞检测、触摸事件处理、计时器使用等。练习一、选择题1.在Handler通信中,处理消息的代码应写在()方法中。A.handleMessage()B.onCreate()C.onResume()D.start()2.子线程启动后要做的事情需要写在()方法中。A.start()B.run()C.onCreate()D.handleMessage()3.线程休眠就是让线程暂停一定时间后再运行,使用()方法实现。A.sleep()B.time()C.run()D.start()4.Message类中用来表示信息的是()属性。A.arg1B.arg2C.whatD.obj二、判断题1.在Android中,子线程可以更新UI。()2.子线程创建后不需要显式启动即可在系统中运行。()3.在Android中,耗时的操作需要交给主线程来做。()4.线程是系统能够进行运算调度的最小单位。()三、简答题1.简述进程和线程的关系。2.Android中利用Handler实现消息传递分为哪几个步骤?3.简述创建线程的两种方法。4.线程的生命周期分为哪几种状态?第6章校园易App音乐播放器实现课时内容校园易App音乐播放器实现课时6教学目标掌握AndroidService的概念。理解Service的生命周期。掌握Service的启动与停止方法。掌握MediaPlayer类的使用。实现校园易App的MP3播放器功能。教学重点Service的创建与配置Service的启动与停止MediaPlayer类的使用音乐播放器功能实现教学难点Service两种启动方式的区别Service与Activity的通信播放进度控制教学设计1.教学思路:介绍Service的概念和生命周期;讲解Service的启动与停止;通过MediaPlayer类实现音乐播放器功能。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务6.1掌握Service相关知识Service是Android四大组件之一,用于在后台执行长时间运行的操作。本任务介绍Service的概念和启动停止方法。6.1.1认识ServiceService是一种可在后台执行长时间运行操作而没有用户界面的应用组件。Service可分为两种类型:启动式Service(通过startService()启动,独立于启动它的组件)和绑定式Service(通过bindService()绑定,允许组件与Service交互)。Service生命周期涉及onCreate()(创建)、onStartCommand()(启动)和onDestroy()(销毁)等回调方法。Service需要在AndroidManifest.xml中通过<service>标签注册。6.1.2启动与停止Service启动Service:通过startService(newIntent(this,MyService.class))启动。停止Service:通过stopService(newIntent(this,MyService.class))停止,或在Service内部调用stopSelf()停止。绑定式Service通过bindService()绑定,通过unbindService()解绑。任务6.2实现校园易App多媒体播放功能本任务通过MediaPlayer类实现音乐播放功能,包括背景音乐和MP3播放器。6.2.1了解MediaPlayer类MediaPlayer是Android提供的多媒体播放类,支持播放音频和视频。常用方法:create()(创建MediaPlayer)、start()(开始播放)、pause()(暂停)、stop()(停止)、release()(释放资源)、setDataSource()(设置数据源)、prepare()(准备播放)。6.2.2实现乒乓球对打游戏背景音乐配置在游戏Activity中创建MediaPlayer对象,调用create()方法加载背景音乐资源,调用start()方法开始播放。在Activity的onPause()或onDestroy()方法中调用release()释放资源,避免内存泄漏。6.2.3实现音乐播放器的进度控制功能通过Timer和TimerTask定时获取MediaPlayer的当前播放位置(getCurrentPosition())和总时长(getDuration()),通过Handler更新进度条。使用SeekBar组件显示播放进度,通过setOnSeekBarChangeListener()监听用户拖动进度条事件。6.2.4实现校园易App的MP3播放器功能MP3播放器功能包括:播放、暂停、停止、上一首、下一首和进度控制。通过Service在后台播放音乐,Activity通过bindService()与Service通信控制播放状态。播放列表使用List存储音乐文件信息。小结本模块主要讲解了校园易App音乐播放器的实现。首先介绍了Service的概念、生命周期和启动停止方法;然后通过MediaPlayer类实现了乒乓球对打游戏背景音乐配置、播放进度控制和MP3播放器功能,掌握了Android多媒体开发的基本方法。练习一、选择题1.Service生命周期涉及的回调方法不包括()。A.onCreate()B.onStartCommand()C.onDestroy()D.onResume()2.以startService()方式开启服务时,以下说法正确的是()。A.服务一旦被开启,就会在后台长期运行B.服务开启后,只有关机后才能关闭C.服务不需要在清单文件中注册D.服务停止时会调用onStop()方法3.Android中绑定一个Service的方法是()。A.bindService()B.startService()C.unBindService()D.onBind()二、判断题1.在Android中,要想创建一个服务,需要定义一个继承Service的类,并需要在清单文件中注册。()2.通过bindService()方式开启服务时,服务被成功绑定后会调用服务的onBind()方法。()3.Service在onCreate()方法中进行初始化工作,在onDestroy()方法中释放残留的资源。()4.服务只有一种开启方式,即startService()。()三、简答题1.什么是Service?2.Service按启动方式可分为哪两种类型?3.简述创建并配置本地Service的基本步骤。第7章校园易App数据存储与共享实现课时内容校园易App数据存储与共享实现课时8教学目标熟悉AndroidSharedPreferences存储技术。熟悉Android文件存储技术。掌握SQLite数据库的创建与操作方法。了解ContentProvider数据共享机制。实现校园易App的数据存储与共享功能。教学重点SharedPreferences存储文件存储SQLite数据库操作ContentProvider数据共享教学难点SQLite数据库的创建与操作SQLiteOpenHelper的使用ContentProvider的创建与使用教学设计1.教学思路:介绍Android数据存储技术(SharedPreferences、文件存储);讲解SQLite数据库的创建与操作;介绍ContentProvider数据共享机制。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务7.1认识Android数据存储Android提供了多种数据存储方式,本任务介绍SharedPreferences和文件存储两种轻量级存储方式。7.1.1掌握数据存储之SharedPreferencesSharedPreferences是Android提供的轻量级数据存储方式,以键值对形式保存数据,适合存储简单的配置信息。使用步骤:通过Context.getSharedPreferences()获取SharedPreferences对象;通过edit()获取Editor对象;通过putString()/putInt()等方法存入数据;通过commit()或apply()提交数据。读取数据通过getString()/getInt()等方法。7.1.2掌握数据存储之Files文件存储是将数据以文件形式保存在设备内部或外部存储中。Android提供了openFileOutput()和openFileInput()方法用于内部存储的文件读写。文件存储适合存储较大量、结构不固定的数据。需注意在AndroidManifest.xml中声明存储权限。任务7.2创建与操作校园易App数据库SQLite是Android内置的轻量级关系型数据库,本任务讲解SQLite的创建与操作方法。7.2.1认识SQLite及其使用方法SQLite是轻量级嵌入式数据库,支持SQL语法,无需独立的服务器进程。SQLite支持NULL、INTEGER、REAL、TEXT和BLOB五种数据类型,既支持AndroidAPI操作,也支持SQL语句进行增、删、改、查操作。7.2.2掌握SQLite常用类及方法SQLiteOpenHelper是SQLite数据库的辅助类,用于管理数据库的创建和版本更新。常用方法:onCreate()(创建数据库时调用)、onUpgrade()(数据库版本升级时调用)、getWritableDatabase()(获取可写数据库对象)、getReadableDatabase()(获取可读数据库对象)。SQLiteDatabase类提供execSQL()(执行SQL语句)和rawQuery()(查询数据)等方法。7.2.3创建校园易App数据库创建继承SQLiteOpenHelper的子类,在onCreate()方法中编写建表SQL语句(CREATETABLE),在onUpgrade()方法中处理数据库升级。通过getWritableDatabase()获取数据库对象完成数据库创建。7.2.4操作校园易App数据库数据库操作包括增、删、改、查:插入数据使用insert()或execSQL("INSERTINTO...");删除数据使用delete()或execSQL("DELETEFROM...");修改数据使用update()或execSQL("UPDATE...");查询数据使用query()或rawQuery("SELECT..."),返回Cursor对象遍历查询结果。使用完成后需关闭Cursor和数据库。任务7.3认识ContentProvider数据共享ContentProvider是Android四大组件之一,用于不同应用程序间共享数据。本任务介绍ContentProvider的创建和使用方法。7.3.1ContentProvider概述ContentProvider为不同应用程序间共享数据提供统一的接口,通过URI(统一资源标识符)标识数据。ContentProvider将数据封装后对外提供,外部应用通过ContentResolver操作数据,常用方法包括query()、insert()、update()、delete()。7.3.2创建ContentProvider创建ContentProvider需继承ContentProvider类并重写onCreate()、query()、insert()、update()、delete()、getType()六个方法。需在AndroidManifest.xml中通过<provider>标签注册,并配置authorities属性。需定义URI匹配规则(UriMatcher)。7.3.3掌握ContentProvider常用功能通过ContentResolver对象操作ContentProvider提供的数据。获取ContentResolver:getContentResolver()。查询数据:resolver.query(uri,projection,selection,selectionArgs,sortOrder),返回Cursor对象。7.3.4使用ContentProvider查询通信录中的联系人信息通过ContentResolver查询系统通信录,URI为ContactsContract.Contacts.CONTENT_URI。需在AndroidManifest.xml中声明READ_CONTACTS权限。查询结果通过Cursor遍历获取联系人姓名、电话等信息。小结本模块主要讲解了校园易App数据存储与共享的实现。首先介绍了SharedPreferences和文件存储两种轻量级存储方式;然后讲解了SQLite数据库的创建与操作方法;最后介绍了ContentProvider数据共享机制,实现了跨应用数据共享。练习一、选择题1.使用SQLite数据库进行查询后,必须进行的操作是()。A.关闭数据库B.直接退出C.关闭CursorD.使用quit()函数退出2.使用SQLiteOpenHelper类的()方法可以创建一个可写的数据库对象。A.getDatabase()B.getWriteableDatabase()C.getReadableDatabase()D.getAbleDatabase()3.Android中使用的数据库是()。A.OracleB.SQLServerC.MySQLD.SQLite4.在使用SQLiteOpenHelper类时,()方法用于进行版本升级。A.onCreate()B.onUpgrading()C.onUpdate()D.onUpgrade()二、判断题1.SQLite数据库使用完不需要关闭,不关闭也不影响程序性能。()2.SQLite既支持Android的API,又支持使用SQL语句进行增、删、改、查操作。()3.SQLite支持NULL、INTEGER、REAL、TEXT和BLOB五种数据类型。()三、简答题1.简述SharedPreferences的用法。2.简要说明SQLite数据库的特点。3.简述ContentProvider的作用。第8章校园易App综合开发实现课时内容校园易App综合开发实现课时12教学目标熟悉Android软件开发流程。熟悉AndroidStudio布局文件设计方法。掌握系统分析及数据库设计方法。综合运用所学知识实现校园易App完整功能。掌握各功能模块的开发与集成方法。教学重点系统分析与设计数据库设计登录模块设计各功能模块开发与集成教学难点系统整体架构设计数据库表结构设计功能模块间的数据传递与协调教学设计1.教学思路:介绍系统分析与设计思路;讲解数据库设计方法;按步骤实现校园易App各功能模块的开发与集成。2.教学手段:多媒体+计算机3.教学资料:教材、多媒体课件教学内容任务8.1系统分析及设计校园易App是一款综合性校园助手应用,本任务进行系统分析和整体设计。8.1.1需求分析校园易App面向在校学生,提供用户登录、班级通告、待办事项、班级照片浏览、娱乐、我的课表等功能。通过需求调研确定功能模块和数据流程。8.1.2系统目标系统目标是开发一款功能完善、界面友好、运行稳定的校园助手App,满足学生日常学习生活需求。8.1.3系统功能结构系统功能包括:用户登录注册、系统主窗体、学校网站、新增待办事项、工作浏览、班级通告信息浏览、我的课表、班级照片浏览、好听音乐、小游戏、帮助和退出等功能模块。8.1.4系统开发及运行环境开发环境:AndroidStudioGiraffe、JDK17、AndroidSDK。运行环境:Android8.0及以上版本。任务8.2数据库设计数据库设计是系统开发的关键环节,本任务完成校园易App的数据库设计。8.2.1数据库分析根据功能需求,确定需要存储的数据包括:用户信息(用户名、密码)、待办事项(内容、类型、时间)、班级通告(标题、内容、时间)、班级照片等。8.2.2创建数据库创建继承SQLiteOpenHelper的数据库辅助类,在onCreate()方法中编写建表SQL语句,创建各数据表。8.2.3创建数据表主要数据表包括:用户表(user)、待办事项表(todo)、班级通告表(notice)、课表表(schedule)等。每张表根据需求设计字段和类型。任务8.3创建项目在AndroidStudio中创建校园易App项目,配置工程基本信息,搭建项目架构。任务8.4创建数据库在项目中创建数据库辅助类,实现数据库的创建和版本管理,为各功能模块提供数据支持。任务8.5登录模块设计登录模块是用户进入系统的入口,包含登录和注册功能。8.5.1设计登录布局文件登录页面布局包含用户名输入框、密码输入框、登录按钮和注册按钮,使用约束布局设计。8.5.2实现登录功能登录时从数据库查询用户信息,校验用户名和密码。校验通过后通过Intent跳转到系统主窗体。8.5.3实现注册页面注册页面包含用户名、密码、确认密码输入框,使用约束布局设计。8.5.4实现注册功能注册时将用户信息插入数据库用户表,注册成功后返回登录页面。任务8.6系统主窗体设计系统主窗体使用GridView展示功能图标,通过自定义BaseAdapter填充数据。8.6.1设计系统主窗体布局文件主窗体布局包含GridView组件和顶部标题栏,使用线性布局和约束布局组合设计。8.6.2实现系统主窗体显示功能通过自定义BaseAdapter将功能图标和名称填充到GridView,为每个图标设置单击事件,通过Intent跳转到对应功能页面。任务8.7学校网站功能学校网站功能通过WebView组件加载学校官网页面,实现校内资讯浏览。任务8.8新增待办事项功能新增待办事项功能包含事项内容输入和类型选择,通过Spinner选择类型,保存到数据库待办事项表。任务8.9工作浏览功能工作浏览功能通过ListView或RecyclerView展示待办事项列表,从数据库查询数据并显示。任务8.10班级
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮业店长客户满意度与成本控制绩效评定表
- 企业人力资源管理数字化系统建设指南
- 新一代智能社区规划指南
- 生产部门成本控制考核表
- 交规三力考试题库及答案2026
- 2026眼测视力考试题库及答案
- 劳动防护知识竞赛题库含参考答案
- 金融中介公司突发事故应急预案演练脚本
- 关于2026年新增业务合作需求的回复函7篇
- 询问员工报销审批流程回复函8篇
- 人教版高中单词表 高中英语选必一单词(Unit1-5)
- 筏板基础工程监理实施细则
- 2026年应急局机关遴选面试经典题集
- 2026年医疗保险政策试题及答案
- 2026年中央国家机关公开遴选公务员笔试真题及参考答案
- 鲜风生活员工管理模式
- 雨课堂学堂在线学堂云《计算机网络(西北工业)》单元测试考核答案
- 市政污水隐蔽报验全套资料
- 2025江苏苏州地铁招聘34人(第二批次)笔试参考题库附带答案详解
- 信息化项目可行性研究报告编制指南
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)试题附答案
评论
0/150
提交评论