public class connect extends AsyncTask<Void, Void, Void> {
Boolean login
FTPClient client = new FTPClient()
FileOutputStream fos = null
FileInputStream fis = null
BufferedReader br = null
StringBuilder text1 = new StringBuilder()
@Override
protected void onPreExecute() {
super.onPreExecute()
pDialog = new ProgressDialog(MainActivity.this)
pDialog.setMessage("Getting Data ...")
pDialog.setIndeterminate(false)
pDialog.setCancelable(true)
pDialog.show()
}
@SuppressLint("ShowToast")
@Override
protected Void doInBackground(Void... params) {
// TODO Auto-generated method stub
try {
client.connect("ftp.byethost12.com")
// System.out.println(client.getReplyString())
login = client.login("b12_14535591", "mahdirida")
// if (login)
// System.out.println("login complete")
client.sendCommand(FTPCmd.CHANGE_WORKING_DIRECTORY, "htdocs");
// System.out.println(client.getReplyString())
InputStream si = client.retrieveFileStream("json2.txt")
DataInputStream dis = new DataInputStream(si)
String line
while ((line = dis.readLine()) != null) {
text1.append(line + "\n")
}
//System.out.print(text1.toString())
Toast.makeText(getParent(), "complete", Toast.LENGTH_LONG).show()
} catch (SocketException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
return null
}
@Override
protected void onPostExecute(Void result) {
// TODO Auto-generated method stub
super.onPostExecute(result)
if(pDialog.isShowing())
pDialog.dismiss()
text.setText(text1.toString())// show the result
}
}
如果我在類中這樣做,並作爲Android應用程序運行它的工作!但在我的活動這是行不通的如何使它在我的活動中起作用?
03-28 13:39:06.473: E/AndroidRuntime(1751): FATAL EXCEPTION: AsyncTask #1
03-28 13:39:06.473: E/AndroidRuntime(1751): java.lang.RuntimeException: An error occured while executing doInBackground()
03-28 13:39:06.473: E/AndroidRuntime(1751): at android.os.AsyncTask$3.done(AsyncTask.java:299)
03-28 13:39:06.473: E/AndroidRuntime(1751): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
---
編輯:
03-29 11:46:25.331: E/WindowManager(782): Activity com.mahdi.ftpconnect.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{40d27e80 V.E..... R.....ID 0,0-456,144} that was originally added here
03-29 11:46:25.331: E/WindowManager(782): android.view.WindowLeaked: Activity com.mahdi.ftpconnect.MainActivity has leaked window com.android.internal.policy.impl.PhoneWindow$DecorView{40d27e80 V.E..... R.....ID 0,0-456,144} that was originally added here
03-29 11:46:25.331: E/WindowManager(782): at android.view.ViewRootImpl.<init>(ViewRootImpl.java:354)
03-29 11:46:25.331: E/WindowManager(782): at android.view.WindowManagerGlobal.addView(WindowManagerGlobal.java:216)
03-29 11:46:25.331: E/WindowManager(782): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:69)
03-29 11:46:25.331: E/WindowManager(782): at android.app.Dialog.show(Dialog.java:281)
03-29 11:46:25.331: E/WindowManager(782): at com.mahdi.ftpconnect.MainActivity$connect.onPreExecute(MainActivity.java:80)
03-29 11:46:25.331: E/WindowManager(782): at android.os.AsyncTask.executeOnExecutor(AsyncTask.java:586)
03-29 11:46:25.331: E/WindowManager(782): at android.os.AsyncTask.execute(AsyncTask.java:534)
03-29 11:46:25.331: E/WindowManager(782): at com.mahdi.ftpconnect.MainActivity$1.onClick(MainActivity.java:53)
03-29 11:46:25.331: E/WindowManager(782): at android.view.View.performClick(View.java:4204)
03-29 11:46:25.331: E/WindowManager(782): at android.view.View$PerformClick.run(View.java:17355)
03-29 11:46:25.331: E/WindowManager(782): at android.os.Handler.handleCallback(Handler.java:725)
03-29 11:46:25.331: E/WindowManager(782): at android.os.Handler.dispatchMessage(Handler.java:92)
03-29 11:46:25.331: E/WindowManager(782): at android.os.Looper.loop(Looper.java:137)
03-29 11:46:25.331: E/WindowManager(782): at android.app.ActivityThread.main(ActivityThread.java:5041)
03-29 11:46:25.331: E/WindowManager(782): at java.lang.reflect.Method.invokeNative(Native Method)
03-29 11:46:25.331: E/WindowManager(782): at java.lang.reflect.Method.invoke(Method.java:511)
03-29 11:46:25.331: E/WindowManager(782): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
03-29 11:46:25.331: E/WindowManager(782): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
03-29 11:46:25.331: E/WindowManager(782): at dalvik.system.NativeStart.main(Native Method)
發佈完整的堆棧跟蹤 – Raghunandan