国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

網絡請求okhttp框架

2019-11-08 00:21:26
字體:
來源:轉載
供稿:網友

使用的是網絡請求的okhttp框架 這個博客很好的解釋okhttp框架值得推薦

http://blog.csdn.net/lmj623565791/article/details/47911083

簡單的SharedPReferences: Preferences 在Android當中被用來記錄應用,以及用戶喜好等等,它可以用來保存 一些簡單的數據類型,Boolean,int,String等

數據的存入必須通過SharedPreferences對象的編輯器對象Editor來實現,存入(put)之后與寫入數據庫類似一定要commit。 apply()一下就可以 存入的代碼:

SharePreferences editor = pref.edit(); if(remember_pass.isChecked()){ editor.putBoolean("remember_pass",true); editor.putString("account",Account); editor.putString("passWord",passWord); } else{ editor.clear(); } editor.apply();

寫入的代碼: 直接get對應的類型就可以 它有兩個參數,第一個是參數對應的名稱,第二個是參數對應的是若訪問失敗, 則返回的值

boolean isRemember = pref.getBoolean("remember_pass",false);String account = pref.getString("account","");String password = pref.getString("password","");

對于耗時的問題,我們都在在子線程中運行,但有一點在子線程中不允許更新UI, 在android4.0之后網絡請求必須在子線程中完成

private void sendRequestWithOkHttp(){ new Thread(){ public void run(){ // Toast.makeText(MainActivity.this,"you click it",Toast.LENGTH_LONG).show(); try{ //構建request請求 RequestBody requestBody = new FormEncodingBuilder() .add("loginname",Account) .add("password",passWord) .add("is phone","1") .build(); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("http://218.25.54.49:2222/yxh_web/syrj_security_check") .post(requestBody) .build(); //執行 Response response = client.newCall(request).execute(); responseData = response.body().string(); Message msg = new Message(); msg.what = UpData; handler.sendMessage(msg); // showResponse(responseData); }catch(Exception e){ e.printStackTrace(); } } }.start(); }

為了能夠更新UI我們以msg為中間的媒介,寫了handlerMessage()來處理 更新UI,Handle類的定義: 主要接受子線程發送的數據,并用此數據配合主線程更新UI

private Handler handler = new Handler() { public void handleMessage(Message msg) { switch (msg.what) { case UpData: try{ JSONObject jsonObject = new JSONObject(responseData); String flag = jsonObject.getString("resultflag"); msg1 = jsonObject.getString("error_msg"); //獲取日期 SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date curDate = new Date(System.currentTimeMillis()); String Date = formatter.format(curDate); //數據庫操作 SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("Account",Account); values.put("Password",passWord); values.put("If_Log",msg1); values.put("Date",Date); db.insert("Record",null,values); values.clear(); if(flag.equals("1")){ editor = pref.edit(); if(remember_pass.isChecked()){ editor.putBoolean("remember_pass",true); editor.putString("account",Account); editor.putString("password",passWord); } else{ editor.clear(); } editor.apply(); Intent intent = new Intent(MainActivity.this,Main2Activity.class); startActivity(intent); } else{ // Log.d("eee",msg1); Toast.makeText(MainActivity.this,msg1,Toast.LENGTH_LONG).show(); } }catch(Exception e){ e.printStackTrace(); } break; default: break; } } };
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 浪卡子县| 焦作市| 扎兰屯市| 浦北县| 蒙阴县| 逊克县| 兰西县| 东乡族自治县| 扎鲁特旗| 陕西省| 任丘市| 玉溪市| 宜丰县| 仙游县| 山东| 孝义市| 阜南县| 新龙县| 怀集县| 建宁县| 邮箱| 阿克苏市| 甘德县| 云浮市| 松原市| 八宿县| 乌拉特前旗| 永嘉县| 通州市| 金堂县| 肇源县| 霍州市| 武功县| 鞍山市| 梅州市| 铁岭市| 个旧市| 苍山县| 永寿县| 本溪市| 望江县|