アプリ全体でリソースを共有するには
まず、android.app.Applicationを継承したクラスを作る。
例えば、com.satoshis.hoge.HogeApplicationとする。
package com.satoshis.hoge; import android.app.Application; public class HogeApplication extends Application { }
このクラスに、共有したいリソースを持たせて、getterを用意する。
たとえば、複数の名前を管理するListとか。
package com.satoshis.hoge; import android.app.Application; import java.util.ArrayList; import java.util.List; public class HogeApplication extends Application { private ListnameList; @Override public void onCreate() { super.onCreate(); nameList = new ArrayList (); } public List getNameList() { return nameList; } }
どこかのActivityで使いたいとき。
@Override public void onCreate() { HogeApplication app = (HogeApplication)getApplicationContext(); ListnameList = app.getNameList(); // あーだこーだ }
2012/04/02 追記
マニフェストに書かなきゃいけないって書き忘れてた。
<application android:icon="@drawable/hoge" android:label="@string/app_name" android:name="com.satoshis.hoge.HogeApplication"> : </application>