共有設定からブール値を読み込もうとしています。最初の起動時には、Shared Preferencesに保存したことがないので、TRUEにする必要があります。しかし、私は何とか間違っています。共有設定が正しく取得されていません
以下のコードを参照してください。
settings = context.getSharedPreferences(SAVED_PREFERENCES, 0);
isFirstLaunch = settings.getBoolean(FIRST_LAUNCH, true);
Log.d(TAG, "loadIsFirstLaunch: " + isFirstLaunch);
p.s.共有設定で100%より前にFIRST_LAUNCHの値を保存していません。
UPD1私は空のプロジェクトをダブルチェックしました - コードが正しく動作しています。共有プリファレンスは、booleanプリミティブ型ではなくブールクラスを使用します。したがって、デフォルトではbooleanはfalseではありません。また、デバッグによれば、私の共有設定には、起動時にFIRST_LAUNCHの値が何らかの形で含まれています。それで、どうやってそこに着きましたか。
UPD2私はついに詰まりました。 FirstLaunchのすべての言及を削除しましたが、他の値を読み込むための別の呼び出しが行われたときにSharedPreferencesに何らかの形で現れます。だから質問は - どのように私は共有の設定で保存された値を取り除くことができますです。 http://take.ms/Rr0Xf
UPD3保存された設定ファイルに名前が変更されました。問題は、アプリケーションのクリーンインストール後にも、保存された環境設定の情報を保持しているSOMEHOWデバイスでした。 PFM。
は、プリファレンスデータの挿入と読み取りのための完全なコードを共有します。 –
デフォルト値はtrueでなければなりません。 –
十分なソースコードの問題に関する十分な情報を提供するまで、誰も助けてくれません。 –