Как загрузить удаленный текст из текстового файла в Android TextView? - PullRequest
2 голосов
/ 01 августа 2011

Я прошел через все примеры, и я не могу заставить это работать.

Это мой текущий код:

package hello.android;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.MalformedURLException;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class HelloAndroidActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        TextView tv = (TextView) findViewById(R.id.textView1);
        try {
            // Create a URL for the desired page
            URL url = new URL("http://xlradioaustin.com/song/CurrentSong.txt");

            // Read all the text returned by the server
            BufferedReader in = new BufferedReader(new     InputStreamReader(url.openStream()));
            String str;
            while ((str = in.readLine()) != null) {
                // str is one line of text; readLine() strips the newline character(s)
            }
            in.close();
            tv.setText(str);
        } catch (MalformedURLException e) {
            tv.setText("mal");
        } catch (IOException e) {
            tv.setText("io");
        }
    }
}

Ответы [ 2 ]

3 голосов
/ 01 августа 2011

Если ваше устройство Android подключено к сети и вы предоставили приложению разрешение на доступ в Интернет, попробуйте следующее:

try {
            // Create a URL for the desired page
            URL url = new URL("http://xlradioaustin.com/song/CurrentSong.txt");

            // Read all the text returned by the server
            BufferedReader in = new BufferedReader(new     InputStreamReader(url.openStream()));
            String str;
            StringBuilder sb = new StringBuilder(100);
            while ((str = in.readLine()) != null) {
                sb.append(str);
                // str is one line of text; readLine() strips the newline character(s)
            }
            in.close();
            tv.setText(sb.toString());
        } catch (MalformedURLException e) {
            tv.setText("mal");
        } catch (IOException e) {
            tv.setText("io");
        }

Дайте мне знать, если это работает: вы в настоящее время зацикливаетесь, пока str не станет нулевым, а затем используете это нулевое значение.

1 голос
/ 16 декабря 2015

Ответ на ответ, он работал после добавления

        if (android.os.Build.VERSION.SDK_INT > 9) {
       StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
       StrictMode.setThreadPolicy(policy);
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...