我是新来的android.I需要从Web读取文本文件并显示该文本文件。有没有可能在android中直接查看文本文件。或者如何阅读和显示android textview中的文本文件?如何从web中读取android中的文本文件?
回答
使用DefaultHttpClient httpclient = new DefaultHttpClient();
HttpGet httppost = new HttpGet("http://www.urlOfThePageYouWantToRead.nl/text.txt");
HttpResponse response = httpclient.execute(httppost);
HttpEntity ht = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(ht);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
}
TextView.setText(total);
希望这有助于设置文本中一个TextView做什么分开!
@BadSkillz是正确的,但在最后的API 9使其错误:
android.os.NetworkOnMainThreadException
,因为您必须在另一个线程联网操作,因为在主线程联网,使您的应用程序没有响应的任何请求的时间,所以你可以添加这个类到你的活动:
private class GetStringFromUrl extends AsyncTask<String, Void, String> {
ProgressDialog dialog ;
@Override
protected void onPreExecute() {
super.onPreExecute();
// show progress dialog when downloading
dialog = ProgressDialog.show(MainActivity.this, null, "Downloading...");
}
@Override
protected String doInBackground(String... params) {
// @BadSkillz codes with same changes
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(params[0]);
HttpResponse response = httpClient.execute(httpGet);
HttpEntity entity = response.getEntity();
BufferedHttpEntity buf = new BufferedHttpEntity(entity);
InputStream is = buf.getContent();
BufferedReader r = new BufferedReader(new InputStreamReader(is));
StringBuilder total = new StringBuilder();
String line;
while ((line = r.readLine()) != null) {
total.append(line + "\n");
}
String result = total.toString();
Log.i("Get URL", "Downloaded string: " + result);
return result;
} catch (Exception e) {
Log.e("Get Url", "Error in downloading: " + e.toString());
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
// TODO change text view id for yourself
TextView textView = (TextView) findViewById(R.id.textView1);
// show result in textView
if (result == null) {
textView.setText("Error in downloading. Please try again.");
} else {
textView.setText(result);
}
// close progresses dialog
dialog.dismiss();
}
}
和使用,每次你想一击线:
new GetStringFromUrl().execute("http://www.google.com/");
通过帮助@Leandros
我不得不使'textView'成为类的成员并通过构造函数链接它,因为'findViewById'在AsyncTask中不可访问。其余的,就像一个魅力! – 2014-12-22 14:02:42
这也被弃用。 – Zoe 2016-08-28 19:16:43
@ Polarbear0106那么新的是什么? – Mohammad7G 2016-10-07 13:37:23
- 1. 如何从Android中的SD卡读取文本文件?
- 2. 如何从c中的文本文件读取多行文件#
- 3. 如何从WEB-INF/resources文件夹中读取文件?
- 4. 如何从XAP文本文件中读取文本?
- 5. 从C#中的文本文件读取#
- 6. 从C中的文本文件读取
- 7. 在android中读取文本文件
- 8. Android从结尾读取文本文件
- 9. android - 从文本文件逐行读取
- 10. 如何从文件中读取文本到ruby中的数组
- 11. 如何从Prolog中的文本文件中读取数据
- 12. C#从读取文本文件中读取二进制文件
- 13. 如何从WEB-INF读取db.properties文件
- 14. 如何读取C#.NET Web应用程序从PDF文件中的文本
- 15. 从Android中的文本文件读取类型double的数据
- 16. 如何从Android上的计算机上读取文本文件
- 17. 从文本文件中读取元音
- 18. 从文本文件中读取对象
- 19. 从文本文件中读取错误
- 20. 从文本文件中读取值?
- 21. 从文本文件中读取行
- 22. 从文本文件中快速读取
- 23. 从文本文件中读取列表
- 24. 无法从文本文件中读取
- 25. Qt - 从文本文件中读取
- 26. 从文本文件中读取数组
- 27. C从文本文件中读取值
- 28. 从文本文件中读取数据
- 29. 用ifstream从文本文件中读取
- 30. Java从文本文件中读取值
伟大的一段代码,我整天看着这个。 – Nick 2012-03-08 20:24:55
为什么你使用append,如果你以后使用+?它应该是append(line).append('\ n') – 2015-10-04 11:25:42
现在不推荐使用 – Zoe 2016-08-28 19:14:16