如何在Android应用程序中永久存储数据

时间:2014-12-01 06:55:18

标签: android json database facebook

  1. 在我的应用程序中,我使用Facebook SDK和存储在
  2. 中的数据获取Facebook信息

    变量然后它工作正常。但是如果重新启动移动设备,则所有变量都显示为null(在log-cat中)

    和应用程序无法正常工作。

    1. 我正在将数据传递给服务器

       HttpClient httpclient = new DefaultHttpClient();
          HttpPost httppost = new HttpPost(url);
      
              List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
              nameValuePairs.add(new BasicNameValuePair("firstname",firstname));
              nameValuePairs.add(new BasicNameValuePair("lastname", lastname));
      
             httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
      
              HttpResponse response = httpclient.execute(httppost);
      
    2. 它给出了像这样的回复

      {
            "message": "Successful",
          "data": {
              "user_id": 32,
              "firstname": "myname",
              "lastname": "lastname"
          }
       }
      

      如何从上面的响应或任何其他方式获取user_id。 请告诉我如何解决这些问题。提前谢谢

3 个答案:

答案 0 :(得分:1)

将您的值存储在PreferencesSQLite数据库中。

Preferences

android-preferences-tutorial

Android SQLite

Android SQLite Database

答案 1 :(得分:0)

在首选项中设置值:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("name", "Elena");
 editor.putInt("idName", 12);
 editor.commit();

从首选项中检索数据:

// MY_PREFS_NAME - a static String variable like: 
//public static final String MY_PREFS_NAME = "MyPrefsFile";
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String name = prefs.getString("name", "No name defined");//"No name defined" is the default value.
  int idName = prefs.getInt("idName", 0); //0 is the default value.
}

更多信息:

Using Shared Preferences

Shared Preferences

答案 2 :(得分:0)

  

您好,使用 SharedPreferences 存储数据,您可以通过该应用访问。

     

从初始化开始 prefs 你的类构造函数

SharedPreferences prefs = context.getSharedPreferences("com.namespace.pkg",
                        Context.MODE_PRIVATE);
  

并使用两个函数 getPrefs() 来获取和 setPrefs() 来设置值在sharedPreferences中

                public String getPrefs(String name) {
                    return prefs.getString(name, "");
                }

                public void setPrefs(String key, String value) {
                    prefs.edit().putString(key, value).commit();
                }