我正在使用org.apache.commons.net.ftp.FTPClient通過一個Android應用程序與一個FTP服務器進行通信我正在做記錄視頻,然後將其上傳到FTP服務器。一切都很好,直到我打電話給storeFile時,應用程序才阻止任何交互,直到上傳完成。有沒有辦法解決?我目前正在爲API lvl 12開發。 我的設置如下我有一個在後臺調用服務來處理視頻記錄以及ftp設置的類。在FTP類中,我在asynctasks中有我的任何fptclient交互。這裏是我上傳文件的方法:org.apache.commons.net.ftp.FTPClient.storeFile凍結交互和動畫
public boolean upload(String srcFilePath, String desFileName, String desDirectory)
{
if(!isLoggedIn())
{
return false;
}
boolean status = false;
try
{
status = new AsyncTask<String, Void, Boolean>(){
@Override
protected Boolean doInBackground(String... args) {
boolean status = false;
try {
String srcFilePath = args[0];
String desFileName = args[1];
String desDirectory = args[2];
FileInputStream srcFileStream = new FileInputStream(srcFilePath);
// change working directory to the destination directory
if (changeDirectory(desDirectory,true)) {
status = mFTPClient.storeFile(desFileName, srcFileStream);
}
srcFileStream.close();
return status;
} catch (Exception e) {
Log.d(TAG, "upload failed");
e.printStackTrace();
return false;
}
}
}.execute(srcFilePath, desFileName, desDirectory).get();
} catch (InterruptedException e)
{
e.printStackTrace();
return status;
} catch (ExecutionException e)
{
e.printStackTrace();
return status;
}
return status;
}
任何幫助將非常感激!
Devunwired的帖子工作! Hoorah!
您好,先生,是一位紳士和學者。謝謝!很棒。我真的需要更多關注api文檔。衛生署!再次感謝!!! – 2012-03-05 15:57:23
我很高興它的工作。如果您發現此答案有幫助,請隨時註冊並/或接受它(左側的數字指示符號和下方的選中標記)。謝謝!! – Devunwired 2012-03-05 15:59:31