这是我的第一个主题,所以请耐心等待。 :)
我想创建一个搜索网站上特定字符串的Android服务。为此,我尝试下载该网站并在html代码中搜索,但是在尝试下载时应用程序总是崩溃。
有人知道怎么做吗?
提前致谢
答案 0 :(得分:0)
当我开始制作一个能够扫描imdb.com获取电影信息的Android应用时,我遇到了一个similer问题。经过大量的互联网搜索和测试后,我想出了这个:
import java.net.*;
import java.io.*;
URL url = new URL("websiteToLookAt");
InputStreamReader isr = new InputStreamReader(url.openStream());
BufferedReader bufferedReader = new BufferedReader(isr);
String lineThatIsBeingRead = null;
String theString;
while((lineThatIsBeingRead = bufferedReader.readLine()) != null){
if(lineThatIsBeingRead.contains("StringYouAreLookingFor")){
theString = lineThatIsBeingRead;
break;
}
}
String myName = "john";
如果你要测试myName.contains("oh");
它是否会返回true)我有变量 theString ,因为我正在寻找几个字符串,但是如果你只需要找到一个字符串就可以删除第6行和第6行。 11,只需将 lineThatIsBeingRead 作为您指定要查找的字符串的字符串。
要记住的另一件事是java不允许你通过UI线程连接到互联网(java希望你这样做的方式是有意图所以当你发布应用程序时记得把它拿出去让它在意图上运行)。但如果你添加
if(BuildVERSION.SDK_INT >= 9){
StrickMode.ThreadPolicy Policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(Policy);
}
到onCreate()方法,它将绕过该规则。
希望这对你的项目很有帮助,祝你好运!