2012-07-23 50 views
0

我一直在開發一個Map項目。在所有Activity類中,我有一個名爲getDataFromServer()的方法,它從服務器爲特定活動解析某些JSON響應。並在地圖上顯示該數據。在接收和解析數據時,我想要顯示加載屏幕。如何在Doinbackground()中創建getDataFromServer()方法。Android:如何在訪問數據庫時創建加載屏幕

請提供給我的最好辦法........ 謝謝..

+1

使用'AsyncTaks'看到這個答案http://stackoverflow.com/a/10570414/1289716 – MAC 2012-07-23 11:24:27

回答

0

使用AsyncTask

public final class DownloadFile extends AsyncTask<Void, Long, Boolean> { 

private Context context; 
private ProgressDialog progressDialog; 

public DownloadFile (Context context) { 
    this.context = context; 
} 

/* 
* @see android.os.AsyncTask#onPreExecute() 
*/ 
@Override 
protected void onPreExecute() { 
    try { 
     progressDialog = ProgressDialog.show(context, "", "message", true); 
    } catch (final Throwable th) { 
     //TODO 
    } 
} 

/* 
* @see android.os.AsyncTask#doInBackground(Params[]) 
*/ 
@Override 
protected Boolean doInBackground(Void... arg0) { 
    //do something 
} 

    @Override 
protected void onProgressUpdate(String... progress) { 
    //do something 
    super.onProgressUpdate(progress); 
} 

/* 
* @see android.os.AsyncTask#onPostExecute(java.lang.Object) 
*/ 
@Override 
protected void onPostExecute(Boolean result) { 
    progressDialog.dismiss(); 
} } 
+0

我如何調用doInBackGround()上點擊 – Sridhar 2012-07-23 11:28:02

+0

按鈕內,你應該叫喜歡的任務是:新DownloadFile(ActivityName.this) 。執行();這將自動調用doInBackground()方法.. – Nermeen 2012-07-23 11:29:38

+0

@Ninu我有運行時異常 – Sridhar 2012-07-23 11:42:43