2011-12-05 14 views
1

私は最初の起動時に変更ログを取得して表示するコードを使用しています。Android HttpGetはAndroid 4.0で動作しませんか?

どうやら、内容がnullである、と私はなぜ知らないこれは、Android 2.3と下位にうまく動作しますが、カスタムICS-ROM上やエミュレータ上でしようとしたとき、それが失敗した...

if(lastVersion < currentVersion) { 

      InputStream content = null; 
      try { 
       HttpGet httpGet = new HttpGet("http://dreamhawk.blinkenshell.org/changelog.txt"); 
       httpGet.setHeader("Content-Type", "text/plain; charset=utf-8"); 
       HttpClient httpclient = new DefaultHttpClient(); 
       // Execute HTTP Get Request 
       HttpResponse response = httpclient.execute(httpGet); 
       content = response.getEntity().getContent(); 


      } catch (Exception e) { 
       //handle the exception ! 
      } 
      if(content == null) { 
       lastVersion = Prefs.getInt("firstRun", -1); 
       Toast.makeText(Main.this, 
         "Failed fetching changelog on first run, connected to Internet?", 
          Toast.LENGTH_SHORT).show(); 

      } else { 
      BufferedReader r = new BufferedReader(new InputStreamReader(content)); 
      StringBuilder total = new StringBuilder(); 
      String line; 
      String NL = System.getProperty("line.separator"); 
      try { 
       while ((line = r.readLine()) != null) { 
        total.append(line + NL); 
       } 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } 

      String page = total.toString(); 

      Dialog dialog = new Dialog(Main.this); 

      dialog.setContentView(R.layout.custom_dialog); 
      dialog.setTitle(R.string.changelog); 
      dialog.setCanceledOnTouchOutside(true); 

      TextView text = (TextView) dialog.findViewById(R.id.text); 
      text.setTextSize(13); 
      text.setText(page); 
      dialog.show(); 
      } 
     }  

..それは他のアンドロイドバージョンで動作しているので、私はおそらく何が間違っているのかわからない...しかし、私はおそらくいくつかの悪いコードを使用しています...

手助けをしますか? :)

+0

エミュレータはインターネットにアクセスするためにプロキシを設定する必要がありますか? –

+0

いいえ、それはありません: - \ – DreamHawk

答えて

0

!= nullではなく、データ可用性の入力ストリームを確認してみてください。 回答を参照してください:https://stackoverflow.com/a/1524309/222474

+0

私はどれだけ試しても、私はまだ入力ストリームを取ることができません:/ – DreamHawk

0

問題がthisに関連する可能性がある場合は、 honeycomb(3.0)およびforwardからメインスレッド上でネットワーク操作を実行することはできません。

関連する問題