在应用设置中保存用户信息

时间:2012-04-18 12:55:26

标签: android

我在我的应用中创建登录。用户输入他的信息我将其发送到Web服务以检查并获取他的ID。现在我需要将它保存在我的应用程序中,我可以检查他是否登录。

那么应该保存这些信息?我知道每个应用都有它的设置所以应该有这个信息?也许有人可以给我更多信息,以及它是如何做的。

感谢。

我发现这篇文章: What is the most appropriate way to store user settings in Android application

我相信我的问题是重复的。但如果你有更多的东西要分享,那就太好了。

4 个答案:

答案 0 :(得分:59)

首先保存用户信息,例如uname&使用此代码的SharedPreferences中的密码。

SharedPreferences settings = getSharedPreferences("UserInfo", 0);
SharedPreferences.Editor editor = settings.edit();
editor.putString("Username",txtUname.getText().toString());
editor.putString("Password",txtPWD.getText().toString());
editor.commit();

然后从代码

获取SharedPreferences
SharedPreferences settings = getSharedPreferences("UserInfo", 0);
txtUname.setText(settings.getString("Username", "").toString());
txtPWD.setText(settings.getString("Password", "").toString());

答案 1 :(得分:26)

答案使用应用程序类或共享首选项

我假设您可以轻松搜索Application ClassSharedPreferencesSQLite Database

的示例

所以我提到我在哪里使用哪个选项

Application Class

当我得到任何东西(var,数组,列表,对象)只存储应用程序的LifeTime时...当它接近时(对于Android Force Close)我使用Application Class。

SharedPreferences

当我得到一些简短的信息,如id,token,username,flags时,我会使用它,只要应用程序停留在Device中,我想存储它,并且每次启动Application时都需要使用这些信息。

SQLite Database

当记录格式(行 - 列)中存在批量数据时,我将其用于存储在数据库中,以便于存储,检索和操作。

答案 2 :(得分:7)

您可以使用SharedPreferences

引用中的一些代码(taken from documentation):

public class Calc extends Activity {
    public static final String PREFS_NAME = "MyPrefsFile";

    @Override
    protected void onCreate(Bundle state){
       super.onCreate(state);
       . . .

       // Restore preferences
       SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
       boolean silent = settings.getBoolean("silentMode", false);
       setSilent(silent);
    }

    @Override
    protected void onStop(){
       super.onStop();

      // We need an Editor object to make preference changes.
      // All objects are from android.context.Context
      SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
      SharedPreferences.Editor editor = settings.edit();
      editor.putBoolean("silentMode", mSilentMode);

      // Commit the edits!
      editor.commit();
    }
}

答案 3 :(得分:2)

如果用户从设置中清除应用程序数据 - >应用程序管理器 - >你的申请 - >清晰的数据

然后将删除共享首选项中保存的所有数据