0

奇妙な問題があり、解決策を見つけることができませんでした。共有設定エディターを作成し、行ったすべての変更をコミットしてから数分後に、SharedPreferences が消えます。次に、使用する SharedPreferences 値を取得します。

settings = getSharedPreferences("settings", 0);

if(settings.contains("accesstoken")){

    // create a string that stores the accesstoken from our settings.
    String str_access = settings.getString("accesstoken", null);

    if(accesstoken_file_data != null){
        str_access = accesstoken_file_data;
    }

しばらくすると、SharedPreferences に保存されている他のすべてのデータと一緒に保存したアクセス トークンが存在しないように見えます...それは、電話を数分間放置した場合です。HTC One X で開発しています。

このメソッドを使用して値を追加しています:

                            String accesstoken = "someVal";

                            SharedPreferences.Editor editor = settings.edit();

                            editor.putString("accesstoken", accesstoken);
                            editor.commit();

私はまだこれに対する実行可能な解決策を見つけていません...誰かが私を助けたり指示したりできるなら、それは素晴らしい感謝です...

4

1 に答える 1

0

SharedPreferences は、アプリがクラッシュしたり強制停止された場合にデータを消去する残念な傾向があります-

アプリのデータが設定から消去されると、すべての保存方法 (外部ストレージを除く) が消去されます

別の保存方法を使用してデータを保存することもできます。データベース (SQLite)、内部および外部ストレージがあります。最後の 2 つはファイルベースです。

于 2016-07-04T11:09:18.187 に答える