警告"应用程序没有响应"在FTP上传期间

时间:2014-03-21 21:40:07

标签: android ftp

我今天使用本教程http://www.androidhive.info/2012/05/how-to-connect-android-with-php-mysql/

编写了我的第一个应用程序

此外,我还为SD卡添加了一个FTP上传到我自己的FTP,这也很好用。有例外。我收到(已翻译)错误"应用程序没有响应,等待或关闭" (https://imgur.com/C2pLaiO)因为我上传的文件大约30MB所以需要一些时间。

对于ftp上传,我使用了来自sauronsoftware.it/projects/ftp4j /

的库ftp4j-1.7.2.jar

我需要做些什么才能摆脱这条消息?

2 个答案:

答案 0 :(得分:1)

听起来你正在UI Thread上进行此文件传输,因为它需要一些时间,它会导致你的应用程序在完成之前一直存在。您可以将该代码放在AsyncTask中。这将有几个方面的帮助

  1. 它可以在后台Thread进行文件传输,同时不允许暂停你的UI并给你这个丑陋的消息
  2. AsyncTask有内置方法,可让您对ui进行操作,例如显示ProgressDialog / ProgressBar
  3. 你会在doInBackground() / onPreExecute()中将你的“繁重”代码放在onPostExecute()和你的ui内容中(显示/取消进度),你可以做一些事情,例如更新a ProgressBar致电publishProgress() doInBackground() onProgressUpdate() {{1}}。

    See this answer for an example of AsyncTask

    AsyncTask Docs

答案 1 :(得分:0)

我建议您使用AsyncTask上传文件,因为在上传过程中它不会阻止UI运行(因此,没有"应用程序没有响应"将会显示)