1

存储数据并从所有活动中访问数据的最佳方式是什么?我读过有两种可能:

  • 使用单例类
  • 使用扩展应用程序类的类

两种解决方案是否存在任何已知问题?(翻转设备,应用进入后台,接听电话)

4

2 回答 2

0

我通常使用单例方法。

通常当应该有每个人都可以访问的数据时,应该有人来管理它是合理的,所以我会创建一个名为 [Something]Manager 的 Singleton 类来管理该数据并允许访问与其他类相关的任何内容。

你说的这些我都没有遇到过问题:翻转设备、app进入后台、接听电话

于 2013-07-04T11:04:48.453 回答
0

我总是为此使用 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();
于 2013-07-04T11:05:32.543 回答