2013-10-07 86 views
0

重新安裝應用程序時是否有任何方法刪除或重置共享首選項數據,而無需卸載應用程序並進行安裝?重新安裝時重置共享首選項

我的意思是說,目前我正在開發一個使用共享首選項的應用程序,但由於我仍在開發它,所以在進行更改後,我一直運行並通過Eclipse將應用程序上傳到測試電話。目前,我無法從其預期流程開始時(第一次後)運行該應用程序,而無需卸載舊版本,然後再次上傳應用程序。

+0

是U可以清除烏爾共享PREF – KOTIOS

+0

你能告訴我怎麼可以以編程方式清除它,當我重新安裝應用程序? – SoulRayder

+0

你不能重新安裝應用程序,但清除所有數據並將用戶重定向到主頁 – KOTIOS

回答

1

對於這個檢查共享偏好文件是否存在與否,如果它是存在刪除it.and後來創建它在任何你想.. 可以檢查偏好文件存在或不喜歡這個..

public boolean isFirstTime() { 
     return getDatabasePath("your file name").exists(); 
    } 
+0

這不會被推薦,因爲它假定首選項文件存儲在一個硬編碼路徑,這可能不是真實的Android的未來版本。 – Kuffs

+0

但是android人還沒有發佈任何存儲偏好文件的硬編碼地方的版本。 –

+0

我相信這就是我說的。使用硬編碼路徑是不好的做法,不應該鼓勵。 – Kuffs

0

入住的發射活動是否清除喜好或不與這樣的功能:在你的啓動活動onCreate()方法

SharedPreferences prefs = this.getSharedPreferences("prefs", Context.MODE_PRIVATE); 
    if (!prefs.getBoolean("FirstRun", true)) { 
     // Not the first time so clear prefs 
     prefs.edit().clear().commit(); 
    } else { 
     // Set the value for future runs 
     prefs.edit().putBoolean("FirstRun", false).commit(); 
    } 
1

清除活動,如:

Intent intent = new Intent(this, Login.class); 
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent); 

清除烏爾共享縣:

SharedPreferences pref = this.getSharedPreferences("mypref", Context.MODE_PRIVATE); 
getSharedPreferences("pref", Context.MODE_PRIVATE).edit().clear().commit();