存储数据并从所有活动访问数据的最佳方式是什么?我读到有两种可能:
- 使用Singleton类
- 使用扩展Application类的类
这两种解决方案是否存在已知问题?(翻转设备,应用程序进入后台,接收呼叫)
我通常使用Singleton方法。
通常,当应该有每个人都可以访问的数据时,有人应该管理它是合理的,所以我会创建一个名为[Something]Manager的Singleton类,它管理这些数据,并允许访问与其他类相关的任何内容。
我在你提到的事情上没有遇到任何麻烦:翻转设备,应用程序进入后台,接收呼叫
我一直使用android.app.Application。
在您的清单中定义
<application
android:name="GlobalApplication">
<activity....
然后创建一个类似的类GlobalApplication
public class GlobalApplication extends Application
{
/** The current latitude. */
private double latitude;
/** The current longitude. */
private double longitude;
/**
* @return the latitude
*/
public double getLatitude()
{
return latitude;
}
/**
* @param latitude the latitude to set
*/
public void setLatitude(double latitude)
{
this.latitude = latitude;
}
/**
* @return the longitude
*/
public double getLongitude()
{
return longitude;
}
/**
* @param longitude the longitude to set
*/
public void setLongitude(double longitude)
{
this.longitude = longitude;
}
}
最后,你可以从所有的活动中调用这些方法:
longitude = ((GlobalApplication) this.getApplication()).getLongitude();