1

データを保存し、すべてのアクティビティからアクセスできるようにする最善の方法は何ですか? 私はそれが2つの方法で可能であることを読みました:

  • シングルトン クラスの使用
  • Application クラスを拡張したクラスを使用する

両方のソリューションに関する既知の問題はありますか? (デバイスを裏返し、アプリがバックグラウンドになり、電話を受ける)

4

2 に答える 2

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 に答える