Ad
1: 2016-08-23 (火) 05:20:42 njf ソース バックアップ No.1 を復元して編集 現: 2016-08-23 (火) 14:27:43 njf ソース 編集
Line 1: Line 1:
Androidの標準APIで用意されていたHttpClientはFroyo以降では使えなくなるので、HttpURLConnectionに移行しました。 Androidの標準APIで用意されていたHttpClientはFroyo以降では使えなくなるので、HttpURLConnectionに移行しました。
-実際の開発にはOkHttpなどが人気のようですが、設定ファイルを取得するなどの簡単な物ならHttpURLConnectionで十分です。+いろいろな機能を使うような開発にはOkHttpなどのほうが人気のようですが、設定ファイルを取得するなどの簡単な物ならHttpURLConnectionで十分です。
GETでページの情報だけを取ってくるなら、 GETでページの情報だけを取ってくるなら、
Line 7: Line 7:
    URL url = new URL(YOUR_URL);     URL url = new URL(YOUR_URL);
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();     HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
-    try { +     try { 
-     InputStream in = new BufferedInputStream(urlConnection.getInputStream()); +     InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
-     byte bodyByte[] = new byte[1024]; +     byte bodyByte[] = new byte[1024]; 
-     int readLen = in.read(bodyByte); +     int readLen = in.read(bodyByte); 
-     in.close(); +     in.close(); 
-     return new String(bodyByte,0,readLen, "UTF-8");+     return new String(bodyByte,0,readLen, "UTF-8"); 
 +     }catch (Exception e){ 
 +     urlConnection.disconnect(); 
 +     Log.d(LOG_TAG,"connection error"); 
 +     return null; 
 +     }
    }catch (Exception e){     }catch (Exception e){
-     urlConnection.disconnect(); +     Log.d(LOG_TAG,"new URL error");
-     Log.d(LOG_TAG,"connection error");+
     return null;      return null;
    }     }
 + 
 }  }
このようになります。ここでbyte[1024]はページのサイズに合わせてそれより大きな値に変更してください。 このようになります。ここでbyte[1024]はページのサイズに合わせてそれより大きな値に変更してください。
また、UIスレッドからネットワークにアクセスするとエラーになるのは以前と同じなので、その場合はAsyncTaskなどを使う必要があります。 また、UIスレッドからネットワークにアクセスするとエラーになるのは以前と同じなので、その場合はAsyncTaskなどを使う必要があります。


トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 2307, today: 1, yesterday: 1
MenuBar
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失

Portuguese | English | German | Greek | Japanese | Korean | Russian | T-Chinese top
NJF