栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Andriod intent 用法实例(备忘)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Andriod intent 用法实例(备忘)

适合小白,我就是小白。

Intent是一种运行时绑定(run-time binding)机制,它能在程序运行过程中连接两个不同的组件。通过Intent,你的程序可以向Android表达某种请求或者意愿,Android会根据意愿的内容选择适当的组件来完成请求。比如,有一个Activity希望打开网页浏览器查看某一网页的内容,那么这个Activity只需要发出WEB_SEARCH_ACTION给Android,Android就会根据Intent的请求内容,查询各组件注册时声明的IntentFilter,找到网页浏览器的Activity来浏览网页。
Android的三个基本组件——Activity,Service和Broadcast Receiver——都是通过Intent机制激活的,不同类型的组件有不同的传递Intent方式.

(具体方法百度很多,写的都不错。)

实例:

新建项目(new-project),是空的,还是基本的看自己喜欢。

 项目名称看自己喜欢。

 默认是这两个主要文件,MainActivity.java和content_main.xml,打开的位置看左面:

 

 要增加两个文件,实现intent跳转进行数据传递:

 基本文件准备完成,要修改androidmanifest.xml增加SecondActivity文件,不然无法跳转,我开始就卡要这里了。没加,程序执行不了。增加也很简单,基本都可以自动生成。

 下面就是代码:

MainActivity.java代码,第一行不要复制,除非我们起的名字一样,这里有些库可能用不取,我懒的改,反正多了也没事:

package com.example.intent;

import android.content.Intent;
import android.os.Bundle;

import com.google.android.material.floatingactionbutton.FloatingActionButton;
import com.google.android.material.snackbar.Snackbar;

import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    //声明控件对象
    private EditText editText1;
    private EditText editText2;
    private Button button;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //获取控件的对象
        editText1 = findViewById(R.id.edit_1);
        editText2 = findViewById(R.id.edit_2);
        button = findViewById(R.id.button);

        //为Button绑定监听器
        button.setonClickListener(new View.onClickListener() {
            @Override
            public void onClick(View v) {
                //获取文本输入框中的内容
                String editTextStr1 = editText1.getText().toString();
                String editTextStr2 = editText2.getText().toString();
                //创建intent对象,参数分别为上下文、要跳转的Activity类
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                //将要传递的值附加到Intent对象中暂时保存
                intent.putExtra("extra_data1", editTextStr1);
                intent.putExtra("extra_data2", editTextStr2);
                //启动该intent对象,实现Activity跳转
                startActivity(intent);
            }
        });
    }
}

content_main.xml代码,就把三个控件的代码复制过去就行了,其他不动:

    

    

    

secondActivity.java内容,依然不要复制第一行。

package com.example.intent;

import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;

import androidx.appcompat.app.AppCompatActivity;

public class SecondActivity extends AppCompatActivity {

    //声明TextView对象
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);

        //获取TextView控件对象
        textView = findViewById(R.id.text_view);

        //获取启动该Activity的Intent对象
        Intent intent = getIntent();

        //获取Intent中暂存的数据
        String data1 = intent.getStringExtra("extra_data1");
        String data2 = intent.getStringExtra("extra_data2");

        //将MainActivity中两个输入框的输入的内容一同在SecondActivity的TextView控件中显示出来
        textView.setText(data1 + " " + data2);
    }
}

activity_second.xml文件,只有一个控制,加进去就行了,其他不动。

 

运行结果:

 点击button后的结果:

 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490563.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号