アプリの起動時にサーバーから数MB(1MB〜10MB)のデータをダウンロードする必要があるアプリがあります。多くのデータをダウンロードすると反応しないアプリ
問題はアプリということである:(画面が黒いまま)
ダウンロードを開始する前にメイン
TextView
は表示されませんは
コードは次のとおりです。
public class Main extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
DoIt();
}
private void DoIt() {
HttpClient httpClient = new DefaultHttpClient();
TextView tv = (TextView)findViewById(R.id.textView);
tv.setText("Starting app...");
try {
for (int i=1; i<100; i++) {
HttpPost request2 = new HttpPost("http://192.168.1.12:3000/bytes/data" + i);
HttpResponse response2 = httpClient.execute(request2);
// Do something with data. In some cases, it has to download 1MB data
}
}
// catch + finally ...
}
}
アプリが反応しないようにするにはどうすればよいですか?
を動作するはずだと思います。 https://developer.android.com/training/articles/perf-anr.html – codeMagic
@codeMagicしかし、stlil、なぜtv.setText( "Starting app ..."); 'が表示されていませんか? (ダウンロードが開始される前に表示されるはずです)。 – Basj
@codeMagicが言っていることをして、あなたはテキストを設定します。あなたはAsynTaskで簡単にそれを行うことができます。 – Cristian