我是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 – 从网页获取文本到字符串所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)