最近刚了解网络请求postjava
android-async-http-1.4.8.jarandroid
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 登陆用户名 或者手机号