システム開発のおぼえがき

いろいろと作ってます

Android

Activity間でのデータ連携する方法

2016/09/15

Activity間でのデータ連携する方法としては

1.Intentで渡す方法
2.クラスを定義して渡す方法

があるようだ。

下記は 2.クラスを定義して渡す方法 のサンプルです。

1.マニュフェスト追加
AndroidManifest.xml

<application
 android:name=".Common"
</application>

※コピペした場合は&Lt;などを所定の文字にもどす必要あり

2.CLASS追加
連携用クラス・・・common.java


import android.app.Application;

public class Common extends Application {

int cnt1;

public void CommonInitialize() {
cnt1 = 0;
}
}

3.アクティビティにCLASS定義
 アクティビティのクラスは親側(MainActivity)と子側(SubActivity)に定義して親側の

Activity(MainActivity)


public class MainActivity extends ActionBarActivity {

//グローバル変数
Common cc = new Common ();

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);

//グローバル変数を取得
cc = (Common) this.getApplication();

//初期化
cc.CommonInitialize();

cc.cnt1 = cc.cnt1 + 1; ←これで1

Activity(SubActivity)


public class SubActivity extends ActionBarActivity {

//グローバル変数
Common cc = new Common ();

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);

//初期化
cc.CommonInitialize();

//グローバル変数を取得
cc = (Common) this.getApplication();

//SubActivity側でcc.cnt1で参照できる

TextView tex1 = (TextView)findViewById(R.id.text1);
tex1.setText("カウント. " + cc.cnt1)

環境:Android Studio 1.0.2

-Android