2014-11-06 16 views
0

任何人都可以幫助我我真的需要一個解決方案,我已經搜索過,所以不能成功!保存user_id從JSON響應共享預置

我希望存儲自動生成的,我是從服務器接收在我的共享偏好的JSON響應,然後從股票的偏好再次得到其他活動,併發送作爲參數傳遞給服務器USER_ID

這裏是我的登錄活動我在哪裏的JSON響應發送用戶名時,接收唯一的用戶ID,並傳遞給服務器

public void connect(String useremail, String userpassword) throws JSONException, IOException 
{ 
RestClient1 client = new RestClient1(Constants.serverPath + Constants.loginMethod); 

client.addParam("email", useremail); 
client.addParam("password", userpassword); 
client.addHeader("content-type", "application/json"); 
try 
{ 
String response = client.executePost(); 
JSONObject jsonResponse = new JSONObject(response); 
String jsonData = jsonResponse.getString("code"); 
String jData = jsonResponse.getString("ResponseStatus"); 
jsData = jData; 
if (jsonData.equals("200")) 
{ 
System.out.println("responseStatus =" + jData); 
startActivity(new Intent(LoginMainActivity.this, DashBoardActivity.class)); 
finish(); 
} 



In the "ResponseStatus" I am geting "Login Succsesfull , user_id=1" from server <**<< want to store this response on Share Preference** 

我的基本會話管理器類,它沒有完全構建於JSON存儲應答

public class SessionManager { 
     // Shared Preferences 
     SharedPreferences pref; 

     // Editor for Shared preferences 
     Editor editor; 

     // Context 
     Context _context; 

     // Shared pref mode 
     int PRIVATE_MODE = 0; 

     // Sharedpref file name 
     private static final String PREF_NAME = "Apppersonal"; 

     // All Shared Preferences Keys 

     private static final String KEY_USERID = "user_id";  
     // public static final String KEY_FULLNAME = "fullName";  
     // public static final String KEY_EMAIL = "email"; 
     // public static final String KEY_DOB = "dateofbirth";  
     // public static final String KEY_ADDRESS = "address"; 


     // Constructor 
     public SessionManager(Context context){ 
      this._context = context; 
      pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE); 
      editor = pref.edit(); 
     } 
    public void createloginSession(int user_id) 
     { 
      // Storing id in pref 
      editor.putInt(KEY_USERID, user_id);   

      editor.commit(); 

     } 
     public HashMap<String, String> getPersonalDetails() { 

    HashMap<String, String> userPersonal = new HashMap<String, String>(); 
    userPersonal.put(KEY_FULLNAME, pref.getString(KEY_FULLNAME, null)); 
    userPersonal.put(KEY_DOB, pref.getString(KEY_DOB, null)); 
    userPersonal.put(KEY_EMAIL, pref.getString(KEY_EMAIL, null)); 
    userPersonal.put(KEY_ADDRESS, pref.getString(KEY_ADDRESS, null)); 
    // return user 
    return userPersonal; 
    // TODO Auto-generated method stub 
// return null; 
} 



// Clear session details 
public void logoutUser(){ 
    // Clearing all data from Shared Preferences 
    editor.clear(); 
    editor.commit(); 

    // After logout redirect user to Loing Activity 
    Intent i = new Intent(_context, LoginMainActivity.class); 
    // Closing all the Activities 
    i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 

    // Add new Flag to start new Activity 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 

    // Staring Login Activity 
    _context.startActivity(i); 
} 

} 
+0

存儲值user_id,從JSON到會話管理器, – Mohtashim 2014-11-06 18:38:59

+0

我沒有看到任何問題,只是使用它應該工作的代碼。 – Pedram 2014-11-06 18:42:21

回答

0

得到USER_ID後只要做到以下幾點:

SessionManager mSessionManager = new SessionManager(context); 
mSessionManager.createloginSession(user_id); 
+0

非常感謝您的回覆讓我測試並取回 – Mohtashim 2014-11-06 18:37:08

+0

謝謝我解決了問題 – Mohtashim 2014-11-11 16:00:40

0

把它擴大活動

 SessionManager session; 

後在你的方法把這個

session.createLoginSession(json.getString(user_id)); 
+0

感謝Indra,只是問一件事session.createLoginSession(json.getString(user_id));在SessionManager類中 – Mohtashim 2014-11-06 18:51:24