最近剛瞭解網絡請求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 登陸用戶名 或者手機號