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

Activity转换并进行静态数据传输-Android Studio(Java)

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

Activity转换并进行静态数据传输-Android Studio(Java)

Activity转换并进行静态数据传输
  • 前言
  • 步骤
    • 一、总步骤
      • 1.新建一个Activity
        • 1.绑定包
        • 2.Activity(1)
          • 导入
        • 3.Activity(2)
          • 导入
      • 2.创建xml控件
        • Activity(1)
        • string.xml文件
        • Activity(2)
      • 3.创建控件变量
        • Activity(1)
        • Activity(2)
  • Intent方式
    • 二、正向传输
      • 逻辑:
      • 1.传入数据
      • 2.得到数据
        • 定义Tag,方便测试
        • onCreate方法内
    • 三、反向传输
      • 逻辑:
      • 1.请求数据,发送请求码
      • 2.返回数据,发送返回码
      • 处理数据
        • 定义Tag,方便测试
        • 主类中重写onActivityResult
  • 注意
  • 最后
    • 学习笔记,仅供参考

前言

Activity转换并进行静态数据传输的正向传输和反向传输实例

步骤 一、总步骤 1.新建一个Activity 1.绑定包
package com.example.test2;
//包名
2.Activity(1) 导入
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.nfc.Tag;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import com.google.android.material.bottomnavigation.BottomNavigationView;
//导入
3.Activity(2) 导入
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.nfc.Tag;
import android.os.Bundle;
import android.util.Log;
import android.view.View;

import com.google.android.material.bottomnavigation.BottomNavigationView;

import java.util.Arrays;

2.创建xml控件 Activity(1)
    
        
        
    
string.xml文件

    test2
    touch

Activity(2)
 
3.创建控件变量 Activity(1)
	BottomNavigationView getBtn;
    //创建控件变量
Activity(2)
    BottomNavigationView returnBtn;
    //创建控件变量
Intent方式 二、正向传输 逻辑:

Activity(1)主动传入数据到 Activity(2), Activity(2)得到数据并且log出来

1.传入数据
//第一个activity传入
        getBtn.findViewById(R.id.getBtn);
        //变量绑定layout控件id
        getBtn.setOnClickListener(new View.OnClickListener() {
            //设置onclick点击监听
            @Override
            public void onClick(View v) {
                //onclick监听方法
                Intent intentTest = new Intent(MainActivity.this,intentActivity.class);
                //传输数据,putExtra方法
                intentTest.putExtra("key_data1","hello");
                //数据key,数据类型
                intentTest.putExtra("key_data2",2021);
                //数据key,数据类型
                startActivity(intentTest);
                //跳转
            }
        });
2.得到数据 定义Tag,方便测试
    final static String Tag = "hello";
    //设置一个最终静态的string类型的Tag的默认值,方便日志打印的调用
onCreate方法内
//得到数据
        Intent intentTestGet = getIntent();
        //getIntent方法得
        String[] dataS = intentTestGet.getStringArrayExtra("key_data1");
        //变量dataS储存Intent的getStringArrayExtra方法得到的String数据
        int dataI = intentTestGet.getIntExtra("key_data2",0);
        //变量dataI储存Intent的getIntExtra方法得到Int的数据
        //使用数据
        Log.e(Tag, Arrays.toString(dataS));
        Log.e(Tag,String.format("dataI:%d",dataI));
        
三、反向传输 逻辑:

Activity(1)主动请求 Activity(2)的数据,且发送请求码, Activity(2)设置静态数据返回,且发送返回码

1.请求数据,发送请求码
        getBtn.findViewById(R.id.getBtn);
        //变量绑定layout控件id
        getBtn.setOnClickListener(new View.OnClickListener() {
            //设置onclick点击监听
            @Override
            public void onClick(View v) {
                //onclick监听方法
                //显性跳转
                Intent intentTest = new Intent(MainActivity.this,intentActivity.class);
                startActivityForResult(intentTest,100);
                //可以不用intent方式
                //startActivityForResult请求得到数据,设置请求码100
                startActivity(intentTest);
                //跳转
            }
        });
2.返回数据,发送返回码
 //返回数据
        returnBtn.findViewById(R.id.returnBtn);
        returnBtn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intentReturn = new Intent();
                //创建新的intent对象
                intentReturn.putExtra("key_1","hello,我返回啦");
                //设置数据
                setResult(RESULT_OK,intentReturn);
                //返回数据,设置结果码RESULT_OK
                finish();
                //从被请求数据方返回到请求数据方

            }
        });
处理数据 定义Tag,方便测试
    final static String Tag = "hello";
    //设置一个最终静态的string类型的Tag的默认值,方便日志打印的调用
主类中重写onActivityResult
   @Override
    //重写父类的onActivityResult方法用于得到数据
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        //请求码和结果码被传回,回调函数
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 100) {
            //比对请求码
            if (resultCode == RESULT_OK) {
                //判断结果码
                assert data != null;
                //不为空
                String dataGet = data.getStringExtra("key_1");
                //设置变量获取参数data调用的getStringExtra方法得到的key_1数据
                Log.e(Tag, dataGet );
                //使用数据
            }
        }
    }
注意

测试请分开测试,两者同时运行,会发生占用错误

最后 学习笔记,仅供参考
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/489224.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

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

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