2011-06-04 72 views
2

我想知道在我的android应用程序中共享单身人士的最佳方法是什么。 我有一些不依赖彼此的活动,但我希望他们有一个单身人士,他们都可以读/写。如何在活动/服务之间共享资源

我应该在哪里放置它?

谢谢

回答

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设备:名称指的是这个类:

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

,然后从任何活动中,你可以检索你的单身得到共享

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

:通过这样的资源
MyApp.getInstance().getSharedResources().... 

有一个单作为应用在机器人通常的设计模式,它是特别有用的处理装置的旋转(因为它往往会破坏活动并重新创建它们),因为它的应用程序的生命周期中提供了一个稳定的实体坚持。

+1

我相信'android:launchMode =“singleTop”'是没有必要的,因为launchMode是[activity]的一个属性(http://developer.android.com/guide/topics/manifest/activity-element.html# lmode),而不是[应用](http://developer.android.com/guide/topics/manifest/application-element.html)。 – devconsole 2011-09-18 22:04:19