【问题标题】:Android download string from webpageAndroid 从网页下载字符串
【发布时间】:2014-10-10 23:13:04
【问题描述】:

我正在制作一个应用程序,该应用程序将从网站下载字符串并显示它。 我在网上尝试了很多例子,我已经为此搜索了好几天,但我找不到一个单一的解决方案。

根据我的阅读,我知道我必须从另一个线程获取 url 的内容,但没有教程告诉我如何做到这一点。

我在布局上有一个 textview,这将是 html 内容必须显示的地方。

谁能给我举个例子来说明这是怎么做的?

【问题讨论】:

  • 我不想在我的应用中有任何 WebView,所以这不是解决方案
  • 对不起,我误解了你的问题。
  • stackoverflow.com/questions/11590899/… 包括从远程站点读取文本的情况。然后可以使用标准的 android UI 元素来显示字符串。
  • 抱歉,我已经看过那个网站大约 13 次了。此示例在 android 4.0 中不起作用,因为这需要从另一个线程执行。正如我在问题中提到的那样。

标签: java android


【解决方案1】:

这样的事情呢?

public class MyAsyncTask extends AsyncTask<String, Void, String>
{
    @Override
    protected String doInBackground(String... requestUrl) 
    {
        String result = null;

        DefaultHttpClient httpClient = new DefaultHttpClient();
        HttpGet request = new HttpGet(requestUrl[0]);

        try
        {
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            result = httpClient.execute(request, responseHandler);
        }
        catch (IOException e)
        {
            Log.e("requestStringFromWebServer", "Whoops!", e);
        }

        httpClient.getConnectionManager().shutdown();

        return result;
    }

    @Override
    protected void onPostExecute(String result)
    {
        if (result != null)
        {
            // Handle the result from your request here...
        }
    }
}

然后开始

String myUrlStr; // Initialize this to your url
new MyAsyncTask().execute(myUrlStr);

【讨论】:

  • 此代码在 android 4 中不起作用,因为我们必须使用 asynctask 来完成。
  • 它在 Android 4 中运行良好。很容易从 AsyncTask 的 doInBackground 调用此方法并将结果作为字符串传递给 onPostExecute。
  • 介意给我一个完整的例子吗?我已经找了好几天了
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
  • 1970-01-01
  • 2016-04-14
  • 1970-01-01
相关资源
最近更新 更多