私のアプリケーションを再インストールすると、私のSharedPreferencesエントリがまだ作成されていないにもかかわらず、if文内のコードにアクセスしています。私はeclipseでエミュレータを使用していますが、データを再インストールする以外の方法でクリアする必要はありますか?ありがとう再インストール時にSharedPreferencesエントリがクリアされないのはなぜですか?
prefs = getSharedPreferences("appData", 0);
Gson gson = new Gson();
String gsonStr = prefs.getString("playerString", null);
if(gsonStr != null)
{
//This code is being accessed on the apps first onCreate() call prior to being reinstalled
Player[] tempArray = gson.fromJson(gsonStr, Player[].class);
Log.d("First Player", "" + tempArray[0]);
}
protected void onPause()
{
super.onPause();
if(savedPlayers != null)
{
Gson gson = new Gson();
String gsonStr = gson.toJson(savedPlayers.toArray());
prefs = getSharedPreferences("appData", 0);
SharedPreferences.Editor editor = prefs.edit();
//editor().clear();
Log.d("GSONString",gson.toString());
editor.putString("playerString", gsonStr);
editor.putInt("ArraySize", savedPlayers.size());
editor.commit();
}
}
RunConfigurations>ワイプユーザーデータがジョブを処理します。 – Deco
Achは文がまだ私を過ぎ去らせてしまうのであれば、何か気になるものでなければなりません。 – Deco
どのようなAPIレベルのエミュレータを使用していますか? – ootinii