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)