美文网首页Android开发分享Android开发经验谈Android开发
Android随笔:多个Activity共享全局变量

Android随笔:多个Activity共享全局变量

作者: 987edf3ecfa4 | 来源:发表于2019-05-15 16:47 被阅读12次
直接看实现方法吧~

首先新建一个activity用来存放需要共享的全局变量的成员和方法,比如这里我新建一个MyDataActivity

package com.anwensoft.cardvr.activity;
import android.app.Application;
 
public class MyDataActivity extends Application {
    private static byte send_buf[] = {(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00};
 
//    private static byte[] send_buf = new byte[4];
 
//给数组中的某个元素赋值
    public void setBuf(byte data,byte location){
        this.send_buf[location] = data;
    }
 
//获取数组中的某个元素值
    public byte getBuf(byte location){
        return send_buf[location];
    }
 
//获取整个数组
    public byte[] getWholeBuf(){
        return send_buf;
    }
}

然后在AndroidManifest.xml中添加所新建的类 (在application里面)

<application
        android:name=".MyDataActivity">

现在,就可以在多个Activity中访问同一个数据啦。

例如,我在MainActivity中如下设置

public class MainActivity extends AppCompatActivity{
 
MyDataActivity Send_data;
 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
 
    Send_data= (MyDataActivity)getApplicationContext();
       
    Send_data.setBuf((byte)0xA5,(byte)1);    //设置数组第二个元素值为 0xA5;
    }
}

TestActivity

public class TestActivity extends AppCompatActivity {
 
MyDataActivity Send_data;
 
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_test);
 
    Send_data= (MyDataActivity)getApplicationContext();
 
    byte num = Send_data.getBuf((byte)1);    //获取数组中的第二个元素,并且值是 0xA5;
    }
}

这样就实现了同一数据在多个 Activity 中共享。

最后送福利了,现在关注我并且加入群聊可以获取包含源码解析,自定义View,动画实现,架构分享等。 内容难度适中,篇幅精炼,每天只需花上十几分钟阅读即可。 大家可以跟我一起探讨,欢迎加群探讨,有flutter—性能优化—移动架构—资深UI工程师 —NDK相关专业人员和视频教学资料,还有更多面试题等你来拿~ 群号:661841852

资料

点我加入群聊【Android开发行业交流】

相关文章

网友评论

    本文标题:Android随笔:多个Activity共享全局变量

    本文链接:https://www.haomeiwen.com/subject/zrqmaqtx.html