2012-02-24 11 views
0

私は少しのプログラムを作っていますが、ウェブサイトからデータを読み込みます。 htmlファイル内の文字列は、情報が分割されるたびにすでに管理されています。 。今、私はここで完全なラインを読むべき本ラインの例です:だから最初、私はHTTP GETでそれらを読むべきかウェブサイトから行を読む

14:47;24.02.12;18.7°C;18.7°C;285;0.5m/s; 6:48;17:37; Warm ;36;1.8;0.0; 

や他のものはありますか?そして、私はそれぞれの情報を保存したい、彼らは分離されています。変数に変換する。そして、どのように私はこの行から各情報をカットすべきですか?

答えて

5

あなたは間違いなくいくつかの宿題をする必要がありますが、この方法は、あなたを助ける:

public static String getContentFromUrl(String url) throws ClientProtocolException, IOException { 

    HttpClient httpClient = new DefaultHttpClient(); 
    HttpGet httpGet = new HttpGet(url); 
    HttpResponse response; 

    response = httpClient.execute(httpGet); 
    HttpEntity entity = response.getEntity(); 

    if (entity != null) { 

     InputStream inStream = entity.getContent(); 

     String result = HttpService.convertStreamToString(inStream); 
     inStream.close(); 

     return result; 
    } 

    return null; 
} 

private static String convertStreamToString(InputStream is) { 

    BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
    StringBuilder sb = new StringBuilder(); 

    String line = null; 
    try { 
     while ((line = reader.readLine()) != null) { 
      sb.append(line + "\n"); 
     } 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } finally { 
     try { 
      is.close(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
    return sb.toString(); 
} 

これは、あなたがURLからデータを取得することができます。その後、String.splitを参照して文字列を使用可能なエンティティに切り詰めます。

希望すると便利です。

+0

これは本当にありがとうございます。しかし、なぜあなたはString result = HttpService.convertStreamToString(inStream)を使用しますか? convertStreamToStringはメソッドがHttpserviceの一部ではないため? – HyperX

+0

申し訳ありませんが、私はそれに気付かなかった。 HttpServiceは実際に私が作成したクラスの名前であり、アンドロイドの名前ではありません。私は間違いなく私のクラスの名前を変更する必要があります。 – Tchoupi

+0

私はこのHttpServiceのためのもう一つのクラスが必要でしょうか? – HyperX

1
  1. 使用HTMLマークアップ
  2. から
  3. 別の文字列データを使用して、複数の文字列または文字列のリストに文字列を解析し、ウェブサイトからデータを取得するための要求をGET「;」デリミタとして使用します。

Android Java SDK String reference

+0

HTMLマークアップはありません。その唯一のテキスト行はすべて本文の中にあります。 – HyperX

+0

@HyperXうまくいっているので、あなたのためにさらに簡単になります:)変更を加えずにレスポンスボディを解析できます。 – supertopi

関連する問題