Android FTP,无法连接并需要导入库的建议

时间:2013-03-05 08:39:00

标签: android ftp ftp-client

对不起大家,我一整天都没有成功添加FTP .....

以下是我如何将FTP添加到我的Android代码中的步骤。

来自laval@work

方法A

1)http://commons.apache.org/proper/commons-net//download_net.cgi

从链接中,我下载了一个zip文件夹: Commons Net 3.2(需要Java 1.5或更高版本)>> 来源>> commons-net-3.2-src.zip

2)将文件夹解压缩到我的桌面,commons-net-3.2-src

3)将文件夹src / main / java / org复制到我的代码的src文件夹

4)允许在清单中使用“INTERNET”权限

5)将以下代码添加到src / MainActivity(我的应用程序的源代码)

6)ftp代码:来自the android community

public boolean ftpConnect(String host, String username, String password,
        int port) {
    try {
        ftp = new FTPClient();
        // connecting to the host
        ftp.connect(host, port);

        // now check the reply code, if positive mean connection success
        if (FTPReply.isPositiveCompletion(ftp.getReplyCode())) {
            // login using username & password
            Log.d(TAG, "connection success" + host);
            boolean status = ftp.login(username, password);

            ftp.setFileType(FTP.BINARY_FILE_TYPE);
            ftp.enterLocalPassiveMode();

            return status;
        }
    } catch (Exception e) {
        Log.e(TAG, "Error: could not connect to host "
                + e.getStackTrace().toString() + e.getMessage());
    }

    return false;
}

7)在OnCreate中添加

ftpConnect("192.168.1.71", "user", "password", 21);
来自here

方法B

1)http://commons.apache.org/proper/commons-net//download_net.cgi

从链接中下载了一个zip文件夹: Commons Net 3.2(需要Java 1.5或更高版本)>> 二进制文件>> commons-net-3.2-bin.zip

2)将文件夹解压缩到我的桌面,commons-net-3.2-bin

3)将两个java文件,commons-net-3.2和commons-net-3.2-sources复制到android app的libs文件中

4)打开应用程序的“属性”对话框,导航到“Java Build Path” - >“Libraries”并添加对两个jar的引用。 导航到“Java Build Path” - >“Order and Export”并选择导出两个jar。

5)与方法A,步骤4-7相同

但是,我仍然无法连接到FTP服务器.... = [= [= [= [因为LogCat仍显示错误消息“错误:无法连接到主机[Ljava.lang.StackTraceElement; @ 420c3228null] “

我还在我的标签上下载了一个FTP应用程序(ftpcafe),并证明用户名和位置设置正在运行......

= [请,有人可以帮忙吗?谢谢!

1 个答案:

答案 0 :(得分:0)

尝试使用此代码。

SimpleFTP ftp = new SimpleFTP();

         try
         {
            // Connect to an FTP server on port 21.

            ftp.connect("host", 21, "username", "password");

            // Set binary mode.
            ftp.bin();

            // Change to a new working directory on the FTP server.


            ftp.cwd("/httpdocs/yourdestinationfolderinftp");

            // Upload some files.
            ftp.stor(new File("/mnt/sdcard/ftp.jpg"));              

            // Quit from the FTP server.
            ftp.disconnect();

         }
         catch (Exception e) {
            // TODO: handle exception
             e.printStackTrace();
        }


    }