android– 从网页获取文本到字符串

android– 从网页获取文本到字符串,第1张

概述我是Android新手,我希望将整个文本从网页变为字符串.我发现了很多像这样的问题,但正如我所说,我是Android新手,我不知道如何在我的应用程序中使用它们.我收到了错误.只有一种方法我设法使它工作,它使用WebView和JavaScript,它很慢,因为地狱.有人可以告诉我一些其他的方法来做到这一

我是Android新手,我希望将整个文本从网页变为字符串.我发现了很多像这样的问题,但正如我所说,我是AndroID新手,我不知道如何在我的应用程序中使用它们.我收到了错误.只有一种方法我设法使它工作,它使用WebVIEw和JavaScript,它很慢,因为地狱.有人可以告诉我一些其他的方法来做到这一点或如何加快WebVIEw,因为我根本不使用它来查看内容.
顺便说一下,我添加了以下代码来加速WebVIEw

webVIEw.getSettings().setJavaScriptEnabled(true);     webVIEw.getSettings().setBlockNetworkImage(true);    webVIEw.getSettings().setJavaScriptCanopenwindowsautomatically(false);    webVIEw.getSettings().setPluginsEnabled(false);    webVIEw.getSettings().setSupportMultiplewindows(false);    webVIEw.getSettings().setSupportZoom(false);    webVIEw.getSettings().setSavePassword(false);    webVIEw.setVerticalScrollbarEnabled(false);    webVIEw.setHorizontalScrollbarEnabled(false);    webVIEw.getSettings().setAppCacheEnabled(false);    webVIEw.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

如果您知道其他比使用WebVIEw更好更快的解决方案,请告诉我主要活动的完整源代码或解释我应该写的地方,这样我就不会出错.

解决方法:

用这个:

public class ReaDWebpageAsyncTask extends Activity {    private TextVIEw textVIEw;    /** Called when the activity is first created. */    @OverrIDe    public voID onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentVIEw(R.layout.main);        textVIEw = (TextVIEw) findVIEwByID(R.ID.TextVIEw01);    }    private class DownloaDWebPageTask extends AsyncTask<String, VoID, String> {        @OverrIDe        protected String doInBackground(String... urls) {            String response = "";            for (String url : urls) {                DefaulthttpClIEnt clIEnt = new DefaulthttpClIEnt();                httpGet httpGet = new httpGet(url);                try {                    httpResponse execute = clIEnt.execute(httpGet);                    inputStream content = execute.getEntity().getContent();                    BufferedReader buffer = new BufferedReader(                            new inputStreamReader(content));                    String s = "";                    while ((s = buffer.readline()) != null) {                        response += s;                    }                } catch (Exception e) {                    e.printstacktrace();                }            }            return response;        }        @OverrIDe        protected voID onPostExecute(String result) {            textVIEw.setText(HTML.fromHTML(result));        }    }    public voID reaDWebpage(VIEw vIEw) {        DownloaDWebPageTask task = new DownloaDWebPageTask();        task.execute(new String[] { "http://www.Google.com" });    }}

main.xml中

<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"    androID:orIEntation="vertical"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    >    <button androID:layout_height="wrap_content" androID:layout_wIDth="match_parent" androID:ID="@+ID/reaDWebpage" androID:onClick="reaDWebpage" androID:text="Load Webpage"></button>    <TextVIEw androID:ID="@+ID/TextVIEw01" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:text="Example Text"></TextVIEw></linearLayout>
总结

以上是内存溢出为你收集整理的android – 从网页获取文本到字符串全部内容,希望文章能够帮你解决android – 从网页获取文本到字符串所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1103847.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存