您的位置:首页 > 理论基础 > 计算机网络

okhttp 登录post请求

2017-05-15 17:09 162 查看
直接上代码,才是重要的

/**

* 登录界面

*/

public class LoginActivity extends BaseActivity {

public static String TAG = “LoginActivity”;

@Bind(R.id.et_username)
EditText etUsername;
@Bind(R.id.et_password)
EditText etPassword;
@Bind(R.id.remembercheckbox)
CheckBox remembercheckbox;
@Bind(R.id.bt_login)
Button btLogin;
private SharedPreferences sp;
private Intent intent;
private OkHttpHelper helper = OkHttpHelper.getInstance();
private Gson gson = new GsonBuilder().serializeNulls().create();
//    private UserService userService;


// private AccontService accontService;

private long exitTime = 0;

@Override
public int getLayoutId() {
return R.layout.activity_login;
}

@Override
public void initView(Bundle savedInstanceState) {
ButterKnife.bind(this);

}

@Override
public void initData() {
sp = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
remembercheckbox = (CheckBox) findViewById(R.id.remembercheckbox);

if (sp.getBoolean("ISCHECK", false)) {
//设置默认是记录密码状态
remembercheckbox.setChecked(true);
etUsername.setText(sp.getString("username", ""));
etPassword.setText(sp.getString("password", ""));
}
remembercheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
sp.edit().putBoolean("ISCHECK", true).commit();
} else {
sp.edit().putBoolean("ISCHECK", false).commit();
}
}
});

}

@OnClick({R.id.remembercheckbox, R.id.bt_login})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.bt_login:
if (etUsername.getText().toString().trim().equals("")) {
Toast.makeText(LoginActivity.this, R.string.account_or_password_is_null, Toast.LENGTH_SHORT).show();
} else if (etPassword.getText().toString().trim().equals("")) {
Toast.makeText(LoginActivity.this, R.string.account_or_password_is_, Toast.LENGTH_SHORT).show();
} else {
login();
}
break;
}
}

private void login() {
//登录请求

String uri = Constant.URL + Constant.LOGIN;
Map<String, String> map = new HashMap<>();
Log.e(TAG, "login: " + uri);
final String loginid;
final String password;
try {
loginid = URLEncoder.encode(etUsername.getText().toString().trim(), "utf-8");
password = URLEncoder.encode(etPassword.getText().toString().trim(), "utf-8");
map.put("loginid", loginid);
map.put("password", password);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
helper.post(uri, map, new BaseCallback<UserBean>() {
@Override
public void onSuccess(Response response, UserBean userBean) throws JSONException, IOException {
if (userBean.isSuccess() != false) {

intent = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(intent);
} else {
Toast.makeText(LoginActivity.this, R.string.account_or_password_error, Toast.LENGTH_SHORT).show();
}
}
});

}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {


// dismissDialog();

if (keyCode == KeyEvent.KEYCODE_BACK

&& event.getAction() == KeyEvent.ACTION_DOWN) {

if ((System.currentTimeMillis() - exitTime) > 2000) {

Toast.makeText(getApplicationContext(), “再按一次退出”, Toast.LENGTH_LONG).show();

exitTime = System.currentTimeMillis();

} else {

finish();

System.exit(0);

}

return true;

}

return super.onKeyDown(keyCode, event);

}


}

布局界面:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: