2012-02-10 13 views
0

私は自分の携帯電話の3gおよびwifiインターフェイスのURLからデータを読みたいアンドロイドのアプリケーションを用意しています。私は次のコードを使用していますUrlConnectionをループで複数回使用する

read_data() { 
    url = new URL("http://0xbadc0ffee.de/plHUGE.txt"); 
    UrlConnection conn = url.openConnection; 
    reader = new BufferedInputStream(conn.getInputStream()); 
    //Then I write this into a FileOutput stream 
    reader.close(); 
} 

これは、3gとwifiインターフェイスで2回実行するとうまくいきます。しかし、これをループに入れると、Inputstreamを取得できません。当初、ストリームが正しく閉じられているかどうかは疑問でしたが、2つのインターフェイスで最初の2回の動作はどうでしたか?私はこれで2日間以上これで立ち往生している...任意のポインタが評価されています..

答えて

0

私は考えますthisリンクはあなたを助けるでしょう。彼の作業例の1つをとり、それを修正してください。私の推測では、あなたはおそらくあなたがダウンロード用に使用しているホストにプールされたソケットを使い果たしているので、conn.disconnect()コールを追加しようとします。 Tim Brayの例から始める方が良いでしょう。

0

実際、問題は接続プールではなく、Wi-Fiを有効または無効にすることが原因であることがわかりました。 問題はWi-Fiを無効にして有効にした後にのみ発生します。無線LAN接続が復活しますが、私のURLからストリームを取得することはできません。

Wi-Fiインターフェイスがアクティブになるまでに時間がかかりすぎても(ただし、その間に接続があり、pingが機能している)、または無効にして有効にすることに問題があるかどうかはわかりません。 私はまだ立ち往生しています!

関連する問題