2012-02-24 2 views
0

Я делаю небольшую программу, которая будет читать данные с сайта. Строка в html-файле уже управляется, каждая информация делится на; , Теперь я должен прочитать полную строку здесь пример этой линии:Считывание строки с сайта

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; 

Так первый, как я должен читать их с HTTP Get или что-нибудь другое? И тогда я хотел бы сохранить каждую информацию, они разделены; в переменную. И как я должен вырезать каждую информацию из этой строки.

ответ

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. Использование GET запрос для извлечения данных с веб-сайта
  2. Раздельное строка-данных из HTML-разметки
  3. Обработать строку на несколько строк или список строк, используя «;» как разделитель.

Android Java SDK String reference

+0

Нет HTML-разметки. Его единственная строка текста - внутри тела. – HyperX

+0

@HyperX хорошо, что делает его еще проще для вас :) Вы можете проанализировать тело ответа без каких-либо изменений. – supertopi

Смежные вопросы