如何在活动/服务之间共享资源

时间:2011-06-04 17:00:39

标签: android

我想知道在我的Android应用中分享单身的最佳方法是什么。 我有一些不相互依赖的活动,但我希望他们有一个他们可以读/写的单身。

我应该把它放在哪里?

由于

1 个答案:

答案 0 :(得分:8)

您的申请应该是单身人士。它避免了与共享数据或模型相关的许多其他问题。

在manifest.xml中:

<application android:icon="@drawable/icon"
    android:label="@string/app_name" android:debuggable="false"
    android:name="<class of your application see below>" 
            android:launchMode="singleTop">
 ..... all activities/services/receivers/etc... as usual

</application>

你的android:name引用了这个类:

public class MyApp extends Application {
//singleton, but use onCreate more than constructor to build shared resources.
....
}//class

然后,在任何活动中,您可以通过执行以下操作来检索您的单身人士以获取共享资源:

((MyApp)getApplicationContext()).getSharedResources()....

MyApp.getInstance().getSharedResources()....

将单例作为应用程序是android中常用的设计模式,它对于处理设备轮换特别有用(因为它往往会破坏活动并重新创建它们),因为它提供了一个稳定的实体,可以在应用程序生命周期中持久存在。

相关问题