我有一個奇怪的問題,分別是使用我自編的android應用程序的奇怪效果。解析HTML源代碼的奇怪行爲(WLan與移動互聯網(3G))
我的應用程序讀出網站的HTML源代碼並解析它以獲取我想要的信息。它的工作......呃,不是非常一致。
情況1:我在家中使用我的WLan並運行我的應用程序 - > All工作正常。所有需要的項目都可以在我的ListView中看到
情景2:我使用我的移動互聯網,例如Edge或HSDPA - >我的ListView僅顯示1個項目。所有的其他消失...
我不知道爲什麼。是否有任何超時,拘留應用程序讀出整個HTML網站?但所有其他項目將直接跟隨在HTML源代碼的下一行...
我不知道我該如何解決它。在谷歌上,我沒有找到其他人遇到同樣的問題。
的問候,朱利安
下面是一些代碼
// 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呈現數組列表)。 您可以在瀏覽器中看到的網站源代碼(Ctrl + u)。我尋找這些行
<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我只得到三十秒鐘到火星...
什麼時候HTML源代碼恰好中斷? – 2011-04-04 08:55:36
不可能說出來,沒有HTML和解析代碼。然後這可能很困難。您確定該網站在兩種情況下都返回相同的HTML嗎?您最好的選擇是在調試模式下遍歷代碼,並找到代碼失敗的地方。順便說一句,你是否有網站所有者的許可,在你的應用中顯示他的數據? – RoToRa 2011-04-04 09:07:24
是的,我有權限。在德國,沒有明確禁止使用公共領域網站的內容。順便說一下,它只是爲了我的私人使用來學習開發Android應用程序......嗯。我的模擬器仿效3G,呈現出正確的結果。我猜在這兩種情況下,它是相同的HTML。 – Julian 2011-04-04 09:12:29