重複の可能性:
AndroidAsyncTaskプログレスバー
ログインプロセスを使用していますが、tat時間中にサーバーからデータを取得するのは遅延です。tatdelayのプログレスバーを設定したいです。サーバーからの応答を取得するまでプログレスバーを設定する方法。答えを知っている人は私を助けてください。
重複の可能性:
AndroidAsyncTaskプログレスバー
ログインプロセスを使用していますが、tat時間中にサーバーからデータを取得するのは遅延です。tatdelayのプログレスバーを設定したいです。サーバーからの応答を取得するまでプログレスバーを設定する方法。答えを知っている人は私を助けてください。
private class LongOperation extends AsyncTask<String, Void, String>
{
protected void onPreExecute()
{
progressDialog = new ProgressDialog(activity.this);
progressDialog.setTitle("Processing...");
progressDialog.setMessage("Please wait...");
progressDialog.setCancelable(true);
progressDialog.show();
}
protected String doInBackground(String... params)
{
try
{
//Getting data from server
}
catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String result)
{
progressDialog.dismiss();
Intent n = new Intent(firstactivity.this, secondactivity.class);
startActivity(n);
}
}
これの呼び方
ProgressDialog progressDialog;
LongOperation mytask = null;
mytask = new LongOperation();
mytask.execute();
コードで AsyncTask を使用し、コードを doInBackground(....) プロセスに配置します。
onPreExecute で進行状況ダイアログを表示し、 onPostExecute(...) で閉じます。
無限プログレスバー ビューをレイアウトに追加し、最初に非表示にします。
AyncTask
サーバー通信を行うための を作成します。
onPreExecute()
プログレスバーを表示します。
onPostExecute()
プログレスバーを再び非表示にします。
AsyncTaskonProcessupdate
のメソッドを使用できます
private class GetLogin extends AsyncTask<String, Integer, String> {
ProgressDialog progressDialog;
@Override
protected void onPreExecute() {
super.onPreExecute();
progressDialog = ProgressDialog.show("Downloading...");
}
@Override
protected String doInBackground(String... params) {
for (String myUrl : params) {
try {
URL url = new URL(myUrl);
URLConnection ucon = url.openConnection();
ucon.setRequestProperty("Accept", "application/xml");
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(50);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
String str = new String(baf.toByteArray(), "UTF8");
return str;
} catch (MalformedURLException e) {
//error
} catch (IOException e) {
//error
}
}
return "All Done!";
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
pd.setMessage("Downloading... (" + values[0] + "%)");
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
progressDialog.dismiss();
}
}