我最近注意到,当尝试在Gingerbread仿真上运行我的应用程序时,FTP崩溃了。我目前正在使用apache commons外部库来支持FTP,但出于某种原因,它适用于除2.3之外的所有其他Android操作系统(Gingerbread)
这是我的FTP代码
FTPClient ftp = new FTPClient();
ftp.connect(SERVER);
ftp.login("anonymous", "anonymous");
ftp.setFileType(FTP.BINARY_FILE_TYPE);
ftp.enterLocalPassiveMode();
InputStream is = ftp.retrieveFileStream("file.txt");
byte[] data = new byte[1024];
fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
int x = 0;
while((x=is.read(data,0,1024))>=0){
fos.write(data,0,x);
}
fos.flush();
fos.close();
ftp.logout();
ftp.disconnect();
正如我所说,这是经过测试并适用于1.6,2.1和2.2,但不是2.3。我整天都在努力弄清楚为什么以及如何解决它,但我找不到任何解决方案。
因此我想知道是否有人有使用FTP和姜饼的经验,如果你真的很高兴能指导我朝正确的方向发展。
感谢。
答案 0 :(得分:1)
我不知道导致问题的原因,但我发现Android 2.3上的FTP确实有效,但不能用于仿真。
当我在手机上试用我的代码时,它就像以前所有版本的Android一样。
感谢您的帮助!
答案 1 :(得分:0)
我要检查的第一件事是你是否拥有正确的权限,如果是这种情况,请检查Logcat是否存在任何异常。如果您有任何请在这里或通过pastebin发布。