非同期処理でグーグル様のTOPページの情報を取得し、android studioのログキャットに取得情報を表示する、というコードを学習しています。下記のようにコードを書いたのですが、ログキャットにログが表示されません。try句の中のwhile部分に、Log.d("\n\nMSG :",stringBuffer.toString());
を追記するとログ表示されるようになります。onPostExecute()でtextViewに結果を表示させるようにすると、UI画面のtextViewで取得情報を表示することができます。下記のコードでLog表示が適切に表示されないのは何かコードに誤りがあるのでしょうか?よろしくお願いします。
private class httpAsyncTask extends AsyncTask<Void,Void,String> { @Override protected String doInBackground(Void... aVoid) { HttpURLConnection urlConnection = null; BufferedReader reader = null; StringBuffer stringBuffer = new StringBuffer(); try{ urlConnection = (HttpURLConnection) new URL("https://google.co.jp").openConnection(); reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); // ********************疑問なコード部*********************** while(reader.readLine() != null){ stringBuffer.append(reader.readLine()); }// ******************************************************** }catch(Exception e){ return "MSG : FAILED TO CONNECT"; }finally{ try { if(reader != null) reader.close(); if(urlConnection != null) urlConnection.disconnect(); } catch (IOException e) { e.printStackTrace(); } } return stringBuffer.toString(); } @Override protected void onPostExecute(String stringBuffer){ Log.d("\n\nMSG :CONNECTION :",stringBuffer); } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/09/24 12:04