我正在开发一个Android应用程序。其中有一些活动(activities)。我需要在所有活动中都能够使用的对象。 有什么想法如何组织它?
可以按照以下方式使用全局的 Application
对象:
package com.yourpackagename;
public class App extends Application {
}
在AndroidManifest.xml
文件中:
<application android:name=".App">
要从Activity
中访问它:
App globalApp = (App) getApplicationContext();
App
类将在应用程序启动时自动实例化。只要应用程序进程仍然存在,它就会一直可用。它可以作为一个全局存储空间,您可以将自己的东西放入其中,并在整个应用程序生命周期内访问它们。
GolbalObject
,但你的使用是 GlobalObject
。 - Ian MacDonaldIntent newActivity = new Intent(CurrentActivity.class, ActivityToLaunch.class);
newActivity.putExtra("object_key", Bundle_With_Your_Object);
如果您对此策略的详细信息感兴趣(特别是如果您不熟悉Bundle类),建议阅读此Android文档。
SharedPreferences prefs = this.getSharedPreferences("Cusom Name", Activity.MODE_PRIVATE);
prefs.edit().putString("your_key", value).commit();
清除:
SharedPreferences prefs = this.getSharedPreferences("Cusom Name", Activity.MODE_PRIVATE);
prefs.edit().clear();
获取值:
SharedPreferences prefs = this.getSharedPreferences("Cusom Name", Activity.MODE_PRIVATE);
String value = prefs.getString("your_key", "");
public class MasterActivity extends Activity
{
public Object mObject;
}
然后,您需要将主活动类扩展为MasterActivity,如下所示:
// your main activity
public class MainActivity extends MasterActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
// you can now use mObject in your main class
mObject.yourmethod();
}
}