最近刚了解网络请求post
android-async-http-1.4.8.jar
AsyncHttpClient cilent;
cilent = new AsyncHttpClient();
.setOnClickListener(View.OnClickListener() {
onClick(View v) {
// 登录监听事件
b_dl.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
{
RequestParams params = RequestParams();
= .getText().toString();
= .getText().toString();
String pwd = MD5Util.();
JSONObject jo = JSONObject();
String deviceName = android.os.Build.+ + android.os.Build.;
jo.put(, );
jo.put(, pwd);
jo.put(, );
jo.put(, );
jo.put(, deviceName);
Log.(, Device.);
jo.put(, Device.);
jo.put(, Device.);
StringEntity entity = StringEntity(jo.toString());
requsetData(entity);
} (Exception e) {
e.printStackTrace();
}
}
});
requsetData(StringEntity params) {
String url = ;
.post(, url, params, , JsonHttpResponseHandler() {
onSuccess(statusCode, Header[] headers, JSONObject response) {
.onSuccess(statusCode, headers, response);
{
status = ;
(response.has()) { status = response.getBoolean();
}
(status) {
Toast.(LoginActivity., , Toast.).show();
userid = ;
String username = ;
String token = ;
JSONObject jo = response.getJSONObject();
(jo.has()) {
userid = jo.getInt();
}
(jo.has()) {
username = jo.getString();
}
(jo.has()) {
token = jo.getString();
}
.edit().putInt(, userid).putString(, username).putString(, token).commit();
(.isChecked()) {
SharedPreferences.Editor editor = .edit();
editor.putString(, );
editor.putString(, );
editor.commit();
}
Intent intent = Intent(LoginActivity., MainActivity.);
LoginActivity..startActivity(intent);
finish();
} {
String msg = ;
(response.has()) {
msg = response.getString();
}
Toast.(LoginActivity., msg, Toast.).show();
}
} (Exception e) {
e.printStackTrace();
}
}
onFailure(statusCode, Header[] headers, Throwable throwable, JSONArray errorResponse) {
.onFailure(statusCode, headers, throwable, errorResponse);
Toast.(LoginActivity., , Toast.).show();
}
});
}
接口[apiurl]为接口地址
3.1.1.登陆
用户调用登陆接口可以获取一个身份令牌,用于需要身份验证的接口调用。
url:
http://[apiurl]/base/logon
输入参数说明
username string 登录用户名
password string 密码密文,方法为md5
lon double 经度,double,-180~180,6位小数东经为正数,西经为负数,未获取到填0
lat double 纬度double,-90~90,6位小数,北纬为正数,南纬为负数,未获取到填0
devicemodel string 手机设备信息(MI 4C, IPHONE 5)
deviceversion String 手机系统版本(IPHONE OS-8.13, android 4.4.4)
devicename String 手机名称(我的iPhone, 我的小米)
*md5结果采用32位全大写格式
输出参数说明
token string 用户身份令牌,需要app记录每次请求都需要携带本参数,长度48字节
userid int 用户编号
username string 登录用户名 或者手机号