XUtils初體驗,實現一個登錄功能

public class LoginActivity extends BaseActivity implements OnClickListener {    
    private Context context;    
    private EditText username_edit;    
    private EditText password_edit;    
    private CheckBox chk_keep_pwd;    
    private static String url = "http://218.58.71.13:8057/Login/Index";
    @Override    
    protected void onCreate(Bundle savedInstanceState) {        
        super.onCreate(savedInstanceState);        
        setContentView(R.layout.login);        
        context = this;        
        init();    }
    public void init() {        
        ((Button) findViewById(R.id.clearConfig)).setOnClickListener(this);        
        ((Button) findViewById(R.id.signin_button)).setOnClickListener(this);
        username_edit = (EditText) findViewById(R.id.username_edit);        
        password_edit = (EditText) findViewById(R.id.password_edit);        
        chk_keep_pwd = (CheckBox) findViewById(R.id.saveUsernameAndPassword_checkbox);        
        chk_keep_pwd.setChecked(SaveUsernameAndPassword.getInstance(context).IsSavePwd());    
    }
    @Override    
    protected void onResume() {        
        super.onResume();        
        context = this;        
        chk_keep_pwd.setChecked(SaveUsernameAndPassword.getInstance(context).IsSavePwd());        
        if (chk_keep_pwd.isChecked()) {            
            username_edit.setText(SaveUsernameAndPassword.getInstance(context).getLoginName());            
            assword_edit.setText(SaveUsernameAndPassword.getInstance(context).getPassword());        
        }    
    }
    /**     
     * 使用xutils獲取登錄接口數據     
    */    
    private void GetLoginInfo(String UserName, String Password) {
        RequestParams params = new RequestParams();        
        params.addQueryStringParameter("username", UserName);        
        params.addQueryStringParameter("password", Password);
        HttpUtils http = new HttpUtils();       
         http.send(HttpRequest.HttpMethod.POST,url,params,new RequestCallBack<String>() { 
        @Override      
        public void onSuccess(ResponseInfo<String> responseInfo) {                        
        String result = null; 
        //JSON的解析過程                       
        Toast.makeText(LoginActivity.this, responseInfo.result.toString(), Toast.LENGTH_LONG).show();                        
        try {                            
            JSONObject jsonObject = new JSONObject(responseInfo.result.toString());
            result = jsonObject.get("Status").toString();
            if (result.equals("0")) {
                Toast.makeText(LoginActivity.this, "登錄失敗,用戶名或密碼錯誤!", Toast.LENGTH_LONG).show();
            } else if (result.equals("1")) {
                Toast.makeText(LoginActivity.this, "登錄成功!", Toast.LENGTH_LONG).show();
                Intent intent = new Intent(LoginActivity.this, FragmentTabActivity.class);
                startActivity(intent);
                finish();
            }
        } catch (Exception e) {

        }                    }
        @Override                    
        public void onFailure(HttpException error, String msg) {}});
    }

    @Override    
    public void onClick(View v) {        
    switch (v.getId()) {            
    case R.id.clearConfig:               
     new SharedConfig(LoginActivity.this).ClearConfig();                
     Toast.makeText(LoginActivity.this, "成功清除!", 
     Toast.LENGTH_LONG).show();                
     break;            
    case R.id.signin_button:                
     //獲取用戶名、密碼               
      String UserName = username_edit.getText().toString().trim();               
       String Password = password_edit.getText().toString().trim();                
       IfSaveUsernameAndPassword(UserName, Password);                
       GetLoginInfo(UserName, Password);                
     break;            
    case R.id.saveUsernameAndPassword_checkbox:               
    chk_keep_pwd.setChecked(!chk_keep_pwd.isChecked());               
     break;        
    }    
}
    /**
      * 是否保存用戶名、密碼     
    */    
    private void IfSaveUsernameAndPassword(String Username, String Password) {        
        if (chk_keep_pwd.isChecked()) {            
                SaveUsernameAndPassword.getInstance(context).SetLoginName(Username);            
                SaveUsernameAndPassword.getInstance(context).SetPassword(Password);            
                SaveUsernameAndPassword.getInstance(context).SetIsSavePwd(chk_keep_pwd.isChecked());       
            }else {            
                SaveUsernameAndPassword.getInstance(context).SetLoginName("");            
                SaveUsernameAndPassword.getInstance(context).SetPassword("");            
                SaveUsernameAndPassword.getInstance(context).SetIsSavePwd(chk_keep_pwd.isChecked());        
            }
}
相關文章
相關標籤/搜索