这是我的第一个线程,所以请多多包涵。:)
我想创建一个在网站上搜索特定字符串的 Android 服务。为此,我尝试下载该站点并在 html 代码中进行搜索,但应用程序在尝试下载时总是崩溃。
有谁知道如何做到这一点?
提前致谢
当我开始制作一个扫描 imdb.com 以获取电影信息的 Android 应用程序时,我遇到了一个类似的问题。经过大量搜索互联网和测试后,我想出了这个:
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 行和第 11 行,只需将lineThatIsBeingRead作为你分配给你要查找的字符串的字符串。
要记住的另一件事是java不允许您通过UI线程连接到互联网(java希望您这样做的方式是有目的的,所以当您发布应用程序时记得将其取出并使其运行出于某种目的)。但如果你添加
if(BuildVERSION.SDK_INT >= 9){
StrickMode.ThreadPolicy Policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(Policy);
}
到 onCreate() 方法,它将绕过该规则。
希望这对您有所帮助,并祝您的项目好运!