亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

android操作系統調用異常

android操作系統調用異常

冉冉說 2019-03-21 18:15:12
代碼:        HttpClient httpClient = new DefaultHttpClient();         HttpPost httpPost = new HttpPost(URL);     try{             HttpResponse response = httpClient.execute(httpPost);             String jsonResult = convertStreamToString((response.getEntity().getContent())).toString();             JSONObject obj = (JSONObject) new JSONTokener(jsonResult).nextValue();             JSONObject obj2 = obj.getJSONObject("GetRingkasObjekPajak_SingleResult");             String nameWP = obj2.getString("NM_WP");             TextView tv = (TextView)findViewById(R.id.dummy_text_three);             tv.setText(jsonResult);         }catch (MalformedURLException e) {             // URL is invalid             TextView tv = (TextView) findViewById(R.id.dummy_text_three);             tv.setText("url invalid");         } catch (SocketTimeoutException e) {             // data retrieval or connection timed out             TextView tv = (TextView) findViewById(R.id.dummy_text_three);             tv.setText("RTO");         } catch (IOException e) {             // could not read response body              // (could not create input stream)             TextView tv = (TextView) findViewById(R.id.dummy_text_three);             tv.setText("couldnt read response");         } catch (JSONException e) {             // response body is no valid JSON string             TextView tv = (TextView) findViewById(R.id.dummy_text_three);             tv.setText("json response fail");         }catch (Exception e) {             // TODO: handle exception             TextView tv = (TextView) findViewById(R.id.dummy_text_three);             tv.setText(e.toString());         }我已經添加了權限。然后出現了NetworkOnMainThreadException。
查看完整描述

1 回答

?
九州編程

TA貢獻1785條經驗 獲得超4個贊

這有一個異步任務的例子,你可以看看。

private class YourAsyncTaskClass extends AsyncTask {

  @Override
  protected String doInBackground(String... params) {
       //your http network call here.
        return null;
  }      

  @Override
  protected void onPostExecute(String result) {
       //update your ui here
  }

  @Override
  protected void onPreExecute() {
         //do any code before exec
  }

  @Override
  protected void onProgressUpdate(Void... values) {
          //If you want to update a progress bar ..do it here
  }
}

然后調用此類的時候:

new YourAsyncTaskClass().execute();


查看完整回答
反對 回復 2019-04-29
  • 1 回答
  • 0 關注
  • 426 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號