存储数据并从所有活动中访问数据的最佳方式是什么?我读过有两种可能:
- 使用单例类
- 使用扩展应用程序类的类
两种解决方案是否存在任何已知问题?(翻转设备,应用进入后台,接听电话)
存储数据并从所有活动中访问数据的最佳方式是什么?我读过有两种可能:
两种解决方案是否存在任何已知问题?(翻转设备,应用进入后台,接听电话)
我通常使用单例方法。
通常当应该有每个人都可以访问的数据时,应该有人来管理它是合理的,所以我会创建一个名为 [Something]Manager 的 Singleton 类来管理该数据并允许访问与其他类相关的任何内容。
你说的这些我都没有遇到过问题:翻转设备、app进入后台、接听电话
我总是为此使用 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();