如何获取使用我的应用登录的用户ID?
我有两个活动。第一个是登录活动,第二个是注册活动。我也在使用json。如果用户成功注册,那么它会创建一个id.I需要我的登录页面上的id。
先谢谢
Register.java
protected String doInBackground(String... args) {
// TODO Auto-generated method stub
int success;
String firstname = first.getText().toString();
String lastname = last.getText().toString();
String emailaddress = emailet.getText().toString();
String username = user.getText().toString();
String password= passet.getText().toString();
try {
List params = new ArrayList();
params.add(new BasicNameValuePair("first_name", firstname));
params.add(new BasicNameValuePair("last_name", lastname));
params.add(new BasicNameValuePair("user_email", emailaddress));
params.add(new BasicNameValuePair("user_name", username));
params.add(new BasicNameValuePair("user_pass", password));
Log.d("request!", "starting");
JSONObject json = jsonParser.makeHttpRequest(LOGIN_URL, "POST", params);
Log.d("Login attempt", json.toString());
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Log.d("User Created!", json.toString());
;
Toast.makeText(getApplicationContext(), json.toString(), Toast.LENGTH_SHORT).show();
finish();
return json.getString(TAG_MESSAGE);
}else{
Log.d("Login Failure!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return null;
}
Login.java
protected String doInBackground(String...args) {
// TODO Auto-generated method stub
int success;
String username = user.getText().toString();
String password = pass.getText().toString();
try {
List params = new ArrayList();
params.add(new BasicNameValuePair("user_email", username));
params.add(new BasicNameValuePair("user_pass", password) );
Log.d("request!", "starting");
JSONObject json = jsonParse.makeHttpRequest(LOGIN_URL, "GET", params);
Log.d("Login attempt", json.toString());
success = json.getInt(TAG_SUCCESS);
if (success == 1) {
Log.d("Login Successful!", json.toString());
return json.getString(TAG_MESSAGE);
}else{
Log.d("Login Failure!", json.getString(TAG_MESSAGE));
return json.getString(TAG_MESSAGE);
}
} catch (Exception e) {
// TODO: handle exception
}
return null;
}
答案 0 :(得分:0)
您需要首先将Id存储在数据库中的某个位置,然后在登录时需要使用用户名和密码传递该ID
答案 1 :(得分:0)
将它放在会话管理器中。
public static void saveSession_userid(SharedPreferences prefs,String value) {
SessionManager.savePreference(prefs, USERID, value);
}
public static String get_session_userid(SharedPreferences prefs) {
return prefs.getString(USERID, "");
}
这在您的登录Asynctask onPostExecute()
中if (login_result.equals("sucess")) {
id = jsonObject.getString("userId");
SessionManager.saveSession_userid(prefs, id);
并声明:
SharedPreferences prefs;
prefs = PreferenceManager.getDefaultSharedPreferences(this);