首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解析HTML源代码的奇怪行为(WLan与移动互联网(3G))

解析HTML源代码的奇怪行为(WLan与移动互联网(3G))
EN

Stack Overflow用户
提问于 2011-04-04 16:54:07
回答 2查看 475关注 0票数 0

我有一个奇怪的问题,分别是使用我自己编程的android应用程序的奇怪效果。

我的应用程序读取网站的HTML源代码,并解析它以获取我想要的信息。它起作用了..。哦,好吧,不太一致。

场景1:我在家里使用我的WLan并运行我的应用程序->一切正常。所有需要的项目都可以在我的ListView中看到

场景2:我使用我的移动互联网,比如Edge或HSDPA ->我的ListView只显示1个项目。其他人都消失了..。

我不知道为什么.会不会有超时,使应用程序无法读取整个HTML站点?但是所有其他项将直接跟随在HTML-source-code的下一行...

我不知道怎么才能修好它。在谷歌上,我找不到其他有同样问题的人。

向你致敬,朱利安

下面是一些代码

代码语言:javascript
复制
    // With this I get the HTML-source-code
URL url = new URL("http://www.area4.de);
URLConnection conn = url.openConnection();
DataInputStream dataIn = new DataInputStream(conn.getInputStream());
BufferedReader reader = new BufferedReader(new InputStreamReader(dataIn, "UTF-8"));
String line;

// Then I parse the code with 
while ((line=reader.readLine()) != null)
{
   if (line.contains(searchPattern))
       al.add(line); //al is an ArrayList
}

到目前为止,这就是我在我的应用程序中所做的一切(除了在ListView中呈现arrayList之外)。您可以在浏览器中看到的站点源代码(Ctrl + u)。我搜索这些行

代码语言:javascript
复制
<a href="/de/bands/thirty-seconds-to-mars/" class="Schrift_22">THIRTY SECONDS TO MARS //</a>
<a href="/de/bands/dropkick-murphys/" class="Schrift_20_dunkel">DROPKICK MURPHYS //</a>

使用3G我只有30秒到火星的时间...

EN

回答 2

Stack Overflow用户

发布于 2011-04-05 14:36:38

啊,我解决了。正如上面所看到的,我使用以下代码片段进行了搜索

代码语言:javascript
复制
while ((line=reader.readLine()) != null)
{
   if (line.contains(searchPattern))
       al.add(line); //al is an ArrayList
}

有了WLan (和我的模拟器),我真的为每个乐队都有了一个新的行,例如:

代码语言:javascript
复制
line1
line2
line3
....

但是使用Edge或HDSPA时,我使用Wlan得到的所有线路都写在一行中。

line1line2line3....,使用我的正则表达式,当我找到所需的目标时,我会删除该行前后的所有内容。希望你能理解,用外语解释是很困难的。

一个简单的

代码语言:javascript
复制
while (line.contains(searchPattern))

修好了。

票数 1
EN

Stack Overflow用户

发布于 2011-04-04 16:57:42

在发送http响应进行解析之前,您可以尝试读取整个http响应。这样你就可以看到整个文档都被正确加载了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5536370

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档