FTP-Androidクライアント実装ノート


FTP-Androidクライアント実装ノート
前のノートでは、サーバの構築方法を簡単に紹介しました.ここでは、単純なFTPサーバがすでに存在した後、Android上で非常に素朴なファイルアップロードクライアントを実現する方法について説明します.FTPは古典的なプロトコルであるため,ftp 4 jのような既存の実装のライブラリファイルが多い.
1.ftp 4 jをダウンロードし、関連jarファイルをプロジェクトにインポートします.プロジェクトではftp 4 jのFTPClientクラスしか使用できません.2.ファイルオブジェクトを対応するFTPサーバにアップロードする方法を構築します.
    protected void uploadFiletoFTP(File file){
        FTPClient client = new FTPClient();
        try {
            //        21
            client.connect(FTP_HOST,21);
            client.login(FTP_USER, FTP_PASS);
            client.setType(FTPClient.TYPE_BINARY);
            client.changeDirectory("/uploads");
            client.upload(file);
        } catch (Exception e) {
            e.printStackTrace();
            try {
                //     ,        。
                client.disconnect(true);
            } catch (Exception e2) {
                e2.printStackTrace();
            }
        }
    }

次のようになります.
    //      IP  。
    static final String FTP_HOST= "255.255.255.255";
    //     。
    static final String FTP_USER = "anonymous";
    //      。
    static final String FTP_PASS  ="";

3.この方法は非同期運転(例えばAsyncTask)が必要であり、Activityで直接運転することはできない.そうしないとandroidがトリガーされる.os.NetworkOnMainThreadException異常.新しいスレッドを呼び出す方法を説明します.
        new Thread(new Runnable(){
            @Override
            public void run() {
                uploadFiletoFTP(fileToUpload);
            }
        }).start();

4.最後に、ネットワークが必要であるため、manifestにこのセグメントを追加し、ネットワーク権限を確保する:ここまで、前回設定したFTPサーバーに合わせて、簡単なモバイル端末の「クラウドプラットフォーム」です.