我得到了这个 AsyncTask 文件上传:
// ASync Task Begin to perform Billing information
class performBackgroundTask extends AsyncTask<Void, Void, Void> {
Context context;
private ProgressDialog Dialog;
protected void onPreExecute() {
// here you have place code which you want to show in UI thread like
// progressbar or dialog or any layout . here i am displaying a
// progressDialog with test please wait while loading......
Dialog.setMessage(" please wait while loading............");
Dialog.show();
}
private Context getApplicationContext() {
// TODO Auto-generated method stub
return null;
}
protected Void doInBackground(Void... params) {
// write here the code to download or any background task.
goforIt(); // example call method which will download vedio .
return null;
}
protected void onPostExecute(Void unused) {
Dialog.dismiss();
// the background task is completed .You can do the code here for next
// things
}
public void goforIt() {
FTPClient con = null;
try {
con = new FTPClient();
con.connect(globalconstant.host);
if (con.login(globalconstant.nev, globalconstant.jelszo)) {
con.enterLocalPassiveMode(); // important!
con.setFileType(FTP.BINARY_FILE_TYPE);
String substr = globalconstant.path.substring(4,
globalconstant.path.length());
String filename = substr + "/Festivale.db";
Log.e("TravellerLog :: ", substr + "/Festivale.db");
String data = filename;
FileInputStream in = new FileInputStream(new File(data));
boolean result = con.storeFile("/Festivale.db", in);
in.close();
if (result)
// Toast.makeText(getApplicationContext(),
// "A fájl feltöltve!", Toast.LENGTH_SHORT).show();
Log.v("upload result", "succeeded");
con.logout();
con.disconnect();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
但总是得到错误信息,这个:
09-26 11:30:30.538: E/AndroidRuntime(456): java.lang.NullPointerException
09-26 11:30:30.538: E/AndroidRuntime(456): at com.eyecom.festivale.performBackgroundTask.onPreExecute(performBackgroundTask.java:25)
...
第 25 行:Dialog.setMessage(" please wait while loading............");
请帮助我如何制作一个适用于此的进度对话框。原文是这样的:
私有 ProgressDialog Dialog = new ProgressDialog(this);
但也有这个错误,
构造函数 ProgressDialog(performBackgroundTask) 未定义