2011-01-10 4 views
6

Недавно я заметил, что при попытке запустить мое приложение на эмуляции Gingerbread, этот FTP сломался. Я в настоящее время использую внешнюю библиотеку Apache Commons для поддержки FTP, но по какой-то причине он работает на любой другой ОС Android, за исключением 2.3 (Gingerbread)Не удается подключиться к FTP на 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

Прошла ли аутентификация? Исправлены ли какие-либо исключения? – Brian

+0

Ваш код работает нормально для меня с Android 2.3.1 API уровня 9 эмулятора и commons-net-2.0.jar. Возможно, у вас более старая версия? Я использовал FTP-сайт www.mirrorservice.org и файл /pub/gnu/r.README – NickT

+0

Что не удается? у вас есть стек? не удается построить или не работать? –

ответ

1

Я не знаю, что вызывает проблему, но я узнал, что FTP на Android 2.3 работает, но не в эмуляции.

В тот момент, когда я попробовал свой код на своем мобильном телефоне, он работал так же, как и во всех предыдущих версиях Android.

Спасибо за помощь!

0

Первое, что я хотел бы проверить, это если у вас есть правильные разрешения, если это проверка регистра Logcat для любых исключений. Если у вас есть, пожалуйста, отправьте их здесь или через пастебин.

Смежные вопросы