簡體   English   中英

Android 共享首選項

[英]Android sharedpreferences

我一直在關注教程,但我被卡住了。

public class Main extends Activity {

    SharedPreferences mPrefs;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        firstRunPreferences();

        if(getFirstRun())
        {
            Toast.makeText(Main.this, "firstrun", Toast.LENGTH_SHORT).show();
            setRunned();  
        }
        else
        {           
            Toast.makeText(Main.this, "not firstrun", Toast.LENGTH_SHORT).show();
        }

    }

    public boolean getFirstRun() {
        return mPrefs.getBoolean("firstRun", true);
     }
    public void setRunned() {  
        SharedPreferences.Editor edit = mPrefs.edit();
        edit.putBoolean("firstRun", false);
        edit.commit();
     }
    public void firstRunPreferences() {
        Context mContext = Main.this.getApplicationContext();
        mPrefs = mContext.getSharedPreferences("myAppPrefs", 0); 
     }

}`

每次我在 Eclipse 中運行它時,它都會顯示“不是首次運行”。 我猜每次重新安裝應用程序時都會重置首選項,那么代碼有什么問題? 據我記得,我曾經看過一次“firstrun”。

謝謝

我假設您正在使用模擬器來運行您的應用程序。 你在運行之間關閉模擬器嗎?

檢查您是否在 Eclipse 的調試運行配置的目標選項卡中勾選了“擦除用戶數據”復選框。

SharedPreferences 不會被卸載清除。

如果您想在重新安裝后清理某些內容,請在數據庫中放置一個字段。

斯蒂芬妮

我不確定,但我認為 SharedPreferences 在卸載時會被刪除,但在更新應用程序時不會。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM