1

インテントサービスを使用してWebからテキストビューにデータを読み取る例が必要です。このhttp://www.vogella.com/articles/AndroidServices/article.htmlを読みましたが、ファイルをダウンロードします...データを文字列に保存したいメインアクティビティの別の機能で使用してください。ありがとうございます。

public class DownloadService extends IntentService {

private int result = Activity.RESULT_CANCELED;
public String s = "";

public DownloadService() {
super("DownloadService");
}

// Will be called asynchronously be Android
@Override
protected void onHandleIntent(Intent intent) {
Uri data = intent.getData();
String urlPath = intent.getStringExtra("urlpath");

InputStream stream = null;
//FileOutputStream fos = null;
try {

  URL url = new URL(urlPath);
  stream = url.openConnection().getInputStream();
  InputStreamReader reader = new InputStreamReader(stream);
  //fos = new FileOutputStream(output.getPath());
  int next = -1;

  while ((next = reader.read()) != -1) {
    //fos.write(next);
    s=s+next;
  }
  // Sucessful finished
  result = Activity.RESULT_OK;
4

1 に答える 1

0

inputStream を urlPath から "s" に追加したため

以下を使用して、MainActivity から「s」にアクセスできます。

String data=new DownloadService().s;

IntentService をインスタンス化し、インスタンス化されたオブジェクトのピリオドを使用してそのパラメーターにアクセスするだけです。

于 2012-12-29T15:27:11.667 に答える