IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Andriod intent 用法实例(备忘) -> 正文阅读

[移动开发]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代码,就把三个控件的代码复制过去就行了,其他不动:

    <EditText
        android:id="@+id/edit_1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/edit_2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button"
        android:textAllCaps="false" />

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文件,只有一个控制,加进去就行了,其他不动。

 <TextView
        android:id="@+id/text_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="50dp"
        android:text="TextView" />

运行结果:

?点击button后的结果:

?

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-11-14 21:50:06  更:2021-11-14 21:51:18 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 2:55:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码