私は最初の起動時に変更ログを取得して表示するコードを使用しています。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();
}
}
..それは他のアンドロイドバージョンで動作しているので、私はおそらく何が間違っているのかわからない...しかし、私はおそらくいくつかの悪いコードを使用しています...
手助けをしますか? :)
エミュレータはインターネットにアクセスするためにプロキシを設定する必要がありますか? –
いいえ、それはありません: - \ – DreamHawk