创建一次性活动的共享首选项

334

我有三个活动A、B和C,其中A和B是表单,在填写并保存表单数据到数据库(SQLite)后。我使用从A到B再到C的 intent,我想要的是每次打开我的应用程序时,我想要C作为我的主屏幕而不再是A和B。

我猜这可以使用 shared preferences 来实现,但我找不到一个好的例子来给我一个起点。


10
在Android开发网站上,有一篇名为“使用共享首选项”的文章介绍了如何利用Shared Preferences(共享首选项)进行数据存储。通过该方法,您可以将简单的键值对存储到设备上,并且在应用程序被关闭或重新打开后都可以读取这些数据。Shared Preferences是一个轻量级的数据存储选项,适合存储小量的关键性数据。文章中详细介绍了Shared Preferences的使用方法和示例代码。 - Onik
1
你看过官方教程了吗?链接在http://developer.android.com/guide/topics/data/data-storage.html#pref - AxiomaticNexus
14个回答

1
你也可以看一下我以前为此目的编写的示例项目。它会在本地保存一个名称,并在用户请求或应用程序启动时检索它。
但是,此时最好使用commit(而不是apply)来持久化数据。更多信息在这里

0
        // Create object of SharedPreferences.
        SharedPreferences sharedPref = getSharedPreferences("mypref", 0);

        //now get Editor
        SharedPreferences.Editor editor = sharedPref.edit();

        //put your value
        editor.putString("name", required_Text);

        //commits your edits
        editor.commit();

       // Its used to retrieve data
       SharedPreferences sharedPref = getSharedPreferences("mypref", 0);
       String name = sharedPref.getString("name", "");

       if (name.equalsIgnoreCase("required_Text")) {
          Log.v("Matched","Required Text Matched");
          } else {
               Log.v("Not Matched","Required Text Not Matched"); 
                 }

0
Initialise here..
 SharedPreferences msharedpref = getSharedPreferences("msh",
                    MODE_PRIVATE);
            Editor editor = msharedpref.edit();

store data...
editor.putString("id",uida); //uida is your string to be stored
editor.commit();
finish();


fetch...
SharedPreferences prefs = this.getSharedPreferences("msh", Context.MODE_PRIVATE);
        uida = prefs.getString("id", "");

0

Shared Preferences非常容易学习,所以请看一下这个简单的sharedpreference教程。

import android.os.Bundle;
import android.preference.PreferenceActivity;

    public class UserSettingActivity extends PreferenceActivity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

      addPreferencesFromResource(R.xml.settings);

    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接