Androidエッセイ:複数のActivity共有グローバル変数
2128 ワード
実現方法を直接見てみましょう~
まず、共有するグローバル変数を格納するためのactivityのメンバーとメソッドを新規作成します.たとえば、ここでMyDataActivityを新規作成します.
そしてAndroidManifestでxmlに新しいクラスを追加(アプリケーションに)
これで、複数のActivityで同じデータにアクセスできます.
たとえば、MainActivityで次のように設定します.
TestActivityで
これにより,同一データを複数のActivityで共有することが可能となる.
転載先:https://juejin.im/post/5cdbd18fe51d453b5854b8c5
まず、共有するグローバル変数を格納するための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に新しいクラスを追加(アプリケーションに)
".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で共有することが可能となる.
転載先:https://juejin.im/post/5cdbd18fe51d453b5854b8c5