【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图

移动软件开发

实验三:活动与意图

一、实验目的

  1. 熟练活动和意图的基本知识和用法;
  2. 掌握通过显式或隐式方式启动活动的方法;
  3. 掌握活动之间数据的传递;
  4. 了解活动生命周期以及活动模式的作用。

二、实验内容

  1. 根据PPT或课本中的提示,练习显式和隐式两种方式启动活动;
显式:

【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第1张图片在second_layout.xml.中输入代码:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第2张图片代码已经自动定义如图:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第3张图片在AndroidManifest.xml中
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第4张图片
在FirstActivity中修改点击触发代码:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第5张图片
运行程序,点击button1:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第6张图片得到结果
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第7张图片

隐式Intent:

在AndroidManifest.xml中添加如下代码:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第8张图片
此时在修改FirstActitvity中的点击事件如下:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第9张图片
重新运行程序:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第10张图片
得到正确结果

  1. 尝试隐式Intent启动网页、系统拨号以及地图;
启动网页:

修改FirstActivity中按钮点击事件的代码:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第11张图片
运行:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第12张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第13张图片

系统拨号:

修改代码如下并运行:
【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第14张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第15张图片

地图:

修改代码如图所示:
在这里插入图片描述【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第16张图片

  1. 根据PPT或课本中的提示,通过例子熟悉活动的生命周期和启动模式;

Activity的生命周期
答:onCreate->onStart->onResume->Activity运行->新的Activity运行->onPause->onStop->onDestroy->Activity销毁

Activity的启动方式
答:四种启动模式,standard, singleTask, singleTop, singleInstance。
standard:标准模式,在当前的任务栈上创建新的Activity,不论之前有没有创建过该Activity。注意:ApplicationContext无法启动standard模式的Activity。

singleTask:栈内复用模式,分两种情况,第一种情况:如果有任务栈里已经创建了该Acitiviy,直接销毁该Acitivity栈上面的所有Acitivity,无须新创建一个Activity;第二种情况:如果没有任务栈里已经创建该Activity,创建一个新的任务栈并在新栈上创建新Activity。注意:该模式下复用Activity,系统会调用Activity的onNewIntent方法。

singleTop:栈顶复用模式,如果该Activity在任务栈栈顶,即当前活动的Acitivty就是要创建的Activity,那么不会创建新的Activity。注意:该模式下复用Activity,系统会调用Activity的onNewIntent方法。

singleInstance:单实例模式,加强版的singleTask,当每次都直接创建一个新的任务栈,再在该新栈上创建新Activity。注意:singleInstance永远是单栈单Activity

  1. 基于所学的Intent和Activity知识,设计一个包含用户登录A、登录后界面B以及注册界面C的简单APP,类似下图的界面,但不局限于下图。实现如下功能:
    (1)三个活动可设置为SingTask模式,A界面为主活动界面;
    (2)A界面开始,输入用户名,密码,点击“登录”按钮,进入界面B,并显示欢迎信息;
    (3)A界面开始,点击注册,进入界面C,输入注册信息后,点击“确定”按钮进入界面B,点击“取消”按钮,回到界面A;
    (4)设计一个OptimMenu,包含退出菜单项,当点击退出菜单项时,直接退出程序;
    (5)结合你用过的APP,看一下你的APP有没有逻辑上的缺陷,如果有,思考一下如何修改。
    【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第17张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第18张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第19张图片
    A B C

【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第20张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第21张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第22张图片【Android Studio&JAVA】移动软件开发实验——实验三:活动与意图_第23张图片

你可能感兴趣的:(JAVA&移动软件开发)