FTP-Androidクライアント実装ノート
FTP-Androidクライアント実装ノート
前のノートでは、サーバの構築方法を簡単に紹介しました.ここでは、単純なFTPサーバがすでに存在した後、Android上で非常に素朴なファイルアップロードクライアントを実現する方法について説明します.FTPは古典的なプロトコルであるため,ftp 4 jのような既存の実装のライブラリファイルが多い.
1.ftp 4 jをダウンロードし、関連jarファイルをプロジェクトにインポートします.プロジェクトではftp 4 jのFTPClientクラスしか使用できません.2.ファイルオブジェクトを対応するFTPサーバにアップロードする方法を構築します.
次のようになります.
3.この方法は非同期運転(例えばAsyncTask)が必要であり、Activityで直接運転することはできない.そうしないとandroidがトリガーされる.os.NetworkOnMainThreadException異常.新しいスレッドを呼び出す方法を説明します.
4.最後に、ネットワークが必要であるため、manifestにこのセグメントを追加し、ネットワーク権限を確保する:
前のノートでは、サーバの構築方法を簡単に紹介しました.ここでは、単純な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サーバーに合わせて、簡単なモバイル端末の「クラウドプラットフォーム」です.