android开启和关闭activity:
1:在android:中我们要开启和关闭activity按钮首先就要创建两个activity
2:然后在他们的布局文件中添加页面
3:然后使用java代码编写程序实现页面的开启和关闭
在MainActyvity中的java代码:
package com.example.open_and_close_activity;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//第一步想要编写activity的响应式就要先初始化这两个控件,设置的是点击事件的监听器实现的方式是通过接口的方式来进行实现
findViewById(R.id.start).setOnClickListener(this);
findViewById(R.id.finish).setOnClickListener(this);
}
//这就是我们用到的那个接口
@Override
public void onClick(View view) {
//在onactivity中编写点击按钮的代码,它的里面有两个参数,第一个view代表的是被点击的view
// 1:使用switch方法来获取被点击按钮的id
switch(view.getId()){
//使用case语句将两个按钮的id列举出来
case R.id.start: //开启activity的按钮
//编写实现它的代码逻辑创建一个Intent对象,第一个参数表示的是上下文的信息,第二个参数表示的是我们要开启的activity
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
break;
case R.id.finish: //关闭activity的按钮
//关闭activity使用的是Button2方法
finish();
break;
}
}
}
当我们点击查询是就会关闭activity.
接下来就是实现android的页面跳转功能
在android中我们有两种的方式来是按页面的跳转
我们来简单的讲解一下android的意图:
Intent就是称为意图是程序中各个组件进行交互的一种方式
它不仅可以指定当前组件要完成的动作,还可以在不同的组件中
完成数据的传递,
Inetnt一般是用于启动Activity 和Service发送广播等
Intent被分为显式意图和隐式意图:
显式意图指的是可以直接的通过名称开启指定的目标组件
隐式意图指的是通过action和category等属性系统根据这些信息进行分析后寻找到指定的目标Activity:
接下来我们通过代码的实例来演示android中的显式意图和隐式意图:
创建三个不同的页面来实线页面的跳转。
通过显式意图的方式来实现页面的跳转:
package com.example.one;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Switch;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//为跳转的页面设置单机响应事件,使用接口的方式去实现
findViewById(R.id.start).setOnClickListener(this);
findViewById(R.id.start2).setOnClickListener(this);
//在此处设置单机的点击事件完毕
}
@Override
public void onClick(View view) {
//使用switch case的方式去实现activity的开启和关闭
switch(view.getId()) {
case R.id.start://使用显式布局的方式来实现页面的跳转
//使用显示以土地额方式实现页面的跳转也是要创建Intent对象
Intent intent = new Intent(MainActivity.this,SecondActivity.class);
//第一个参数和开启关闭activity一样都是上下文的信息,第二个参数就是要开启的页面
startActivity(intent);
break;
case R.id.start2://使用显式布局的方式来实现页面的跳转
Intent intent1 = new Intent(MainActivity.this,ThreeActivity.class);
startActivity(intent1);
break;
//既然它的run的速度这么慢的话我们就先来了解一些概念性的东西
/*
* Inntent也称为意图可以实现程序中不同的组件中的数据的交互,不仅可以指定当前组件要完成的动作,还可以实现不同组件之间的数据的交互
* 它的意图有显示的意图还有隐式的意图,显示的意图就是直接通过名称的方式来打开指定的activity,隐式的意图就是指通过action和category的方式
* 系统通过分析然后找到指定的activity。
* */
}
}
}
通过隐式意图的方式来实现页面的跳转:
其中涉及到的功能函数有:action和category
我们观察整个页面的分布:
在mainactivity中的代码:
package com.example.hidden;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//接下来文按钮添加点击事件,使用接口的方式去实现
findViewById(R.id.one).setOnClickListener(this);
findViewById(R.id.two).setOnClickListener(this);
}
@Override
public void onClick(View view) {
//使用的是switch case的方法去实现页面的跳转和关闭
switch (view.getId()){
case R.id.one:
//创建intent函数使用隐式意图的方式来实现页面的跳转
Intent intent = new Intent();
//跳转到第二个页面
intent.setAction("android.intent.actiontwo");
startActivity(intent);
break;
case R.id.two:
//还是一样的创建Intent对象
Intent intent1 = new Intent();
//跳转到第三个页面
intent1.setAction("android.intent.action");
startActivity(intent1);
break;
}
}
}
第三个页面: