繁体   English   中英

如何获取使用我的应用程序登录的用户的 ID?

[英]How can I get the ID's of user who are login with my apps?

如何获取使用我的应用程序登录的用户的 ID?

我有两个活动。 第一个是登录活动,第二个是注册活动。 我也在使用 JSON。如果用户成功注册,则会创建一个 ID。 我的登录页面需要那个 ID。

注册.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;
    }

登录.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;
    }

您需要先将该 ID 存储在数据库中的某个位置,然后在登录时您需要将该 ID 与用户名和密码一起传递

将其放入您的 Session 经理。

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, "");
}

这在您的登录异步任务 onPostExecute() 中

if (login_result.equals("sucess")) {
id = jsonObject.getString("userId");
SessionManager.saveSession_userid(prefs, id);

并声明:

SharedPreferences prefs;
prefs = PreferenceManager.getDefaultSharedPreferences(this);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM