Android studio Intent

Intent的使用

2021/3/16

实验目的

加深安卓逻辑和视图分离的编程理念;熟悉和使用Intent

实验内容

1.为原本为空的Activity添加一个按钮,并使按钮的点击响应为一个提示,提示内容为自己的学号和姓名。

(1)创建一个空Activity

(2)添加一个按钮

在layout的activity_main.xml中添加一个button,id为button_1

在这里插入图片描述

在java下的MainActivity下声明这个按钮

在这里插入图片描述

新建一个按钮点击的方法

onClick(View v) :点击之后的动作

设置按钮的点击事件指向我们新建的点击方法

setOnClickListener:设置点击之后触发的动作

现在我们在onClick里添加弹出对话框的代码。

AlertDialog:一个对话框类。

MainActivity.this:对话框显示的位置。

setTitle:设置标题。

setMessage:设置内容。

setPositiveButton:设置对话框的按钮。

show():显示对话框。

在这里插入图片描述

最终效果

在这里插入图片描述

在这里插入图片描述

2.两个Activity之间的跳转

(1)通过按钮显示跳转 new Intent(context, toActivity)

创建一个新的空白activity(SecondActivity)

创建对应的layout下的xml文件,添加一个TextView(内容为 欢迎来到新页面!)

在这里插入图片描述

在SecondActivity下声明TextView

在这里插入图片描述

接下来在MainActivity中声明第二按钮,在activity_main.xml添加第二个按钮(id=button_2),过程与内容1中一样

在这里插入图片描述

新建一个按钮点击的方法

button_2.setOnClickListener(new View.OnClickListener() {
@Override

        public void onClick(View v) {

            Intent intent=new Intent(MainActivity.this,SecondActivity.class);

            startActivity(intent);
        }
    });

在manifests下的AndroidManifest.xml中声明SecondActivity

在这里插入图片描述

最终效果(如果无法显示也可见附件1 1.gif)

在这里插入图片描述

(2)通过action和category隐式地跳转

原理:隐式跳转不指明我们具体要跳转到的activity,而是需要在new Intent()中填写参数,该参数对应你要隐式跳转到的activity的标签下action属性的值,两者需要保持一致,同时还必须添加category属性。

同上,先在mainactivity上创建一个按钮 (id=button_3)

注意,传入的参数不是MainActivity.this和SecondActivity,而是我们自定义的一个参数(也就是这个参数可以随便定义,但是这个自定义是基于SecondActivity的基础上,也就是说,这个参数必须对应我们所要跳转的ActivityManifest.xml的属性)

在mainactivity中添加以下代码

在这里插入图片描述

在manifest .SecondActivity上面添加以下代码

在这里插入图片描述

最终效果(如果无法显示也可见附件 2.gif)

在这里插入图片描述

(3)跳转到浏览器

和上面一样,继续创建一个按钮 (id=button_4)

在mainactivity上添加以下代码

在这里插入图片描述

uri:通用资源标志符(Universal Resource Identifier, 简称"URI")。Uri代表要操作的数据,Android上可用的每种资源 (图像、视频片段、网页等) 都可以用Uri来表示。从概念上来讲,URI包括URL。

最终效果(如果无法显示也可见附件 3.gif)

在这里插入图片描述

3.附加题(启动页面停留5秒,自动跳转下一个页面)

因为文件冲突,我又新建了一个empty activity

在mainactivity上添加以下代码

在这里插入图片描述

这边用到了timer timerTask

timer为定时器

多个TimerTask是可以共用一个Timer的,通过调用Timer的schedule方法可以创建一个线程,并且调用一次schedule后TimerTask是无限的循环下去的

最终效果(如果无法显示也可见附件 4.gif)

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_44956841/article/details/115036297