Как извлечь текст с веб-страницы и отобразить его в TextView - PullRequest
1 голос
/ 25 июня 2011

Я хочу получить текст с этого URL: http://www.weather.noaa.gov/pub/data/observations/metar/stations/KORD.txt, сохранить его в строку, а затем распечатать эту строку в TextView.

Я полный новичок в Android, что такоесамый эффективный способ сделать это?

Ответы [ 2 ]

0 голосов
/ 25 ноября 2017

Ссылка эта ссылка .

DownloadWebPageTask класс сделает свое дело и не забудьте добавить

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

к AndroidManifest.xml , чтобы разрешить использование Интернета.

0 голосов
/ 26 июня 2011

URL недействителен, или моя страна заблокирована

поместите это ДО создания ():

private TextView outtext;
private String HTML;

И добавить строки между комментариями в onCreate следующим образом:

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        /*FROM HERE*/
        outtext= (TextView) findViewById(R.id.textview1); //change id if needed!!!

            try { 
            getHTML();
        } catch (Exception e) {
            e.printStackTrace();
        }       
        outtext.setText("" + HTML);
        /*TO HERE*/
    }

теперь этот метод вы будете использовать для загрузки контента:

 private void getHTML() throws throws ClientProtocolException, IOException 

        {
            HttpClient httpClient = new DefaultHttpClient();
            HttpContext localContext = new BasicHttpContext();
            HttpGet httpGet = new HttpGet("http://www.weather.noaa.gov/pub/data/observations/metar/stations/KORD.txt"); //URL!
            HttpResponse response = httpClient.execute(httpGet, localContext);
            String result = "";

            BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

            String line = null;
            while ((line = reader.readLine()) != null) {
                result += line + "\n";
                HTML = result;
            }

        }

Вам также необходимо установить разрешение в AndroidManifest.xml для использования Интернета:

<uses-permission android:name="android.permission.INTERNET"></uses-permission>

Кроме того, это НЕ лучший способ сделать это. Когда вы открываете свое приложение, оно будет зависать до тех пор, пока оно не загрузится с веб-сайта, поэтому вам следует использовать AsyncTask , чтобы помочь вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...