質問メッセージが届いていることに気づきました。
質問の回答と備忘録を兼ねて、記事を書いておきます。
JCIFSでSMB接続する時の使い方。
まずはJCIFSのソースコードをダウンロード。
http://jcifs.samba.org/
私はjcifs-1.3.15.zipをダウンロードしてきました。
Androidのプロジェクトを作って、
srcフォルダ内に、jcifs1.3.5/srcのjcifsフォルダをコピーします。
するとjcifs.httpとhttpsクラスで色々警告がでるので、httpとhttpsクラスをまるごと削除します。
(今はhttpとhttpsは使う予定なし)
smbクラスだけ使えればいいのですが、smbクラスも他のクラスに依存しているようなので
ひとまず他のクラスも消さずにとっておきます。
また、AndroidManifest.xmlに
SMBFileの使い方は、Java.ioのファイルとほとんど同じ感じで使えます。
こんな感じ。
//SMBファイルを使うサンプル //例外処理コードは省いてます public SmbFile[] getSmbFileList(String aSmbURL) throws IOException { SmbFile file = new SmbFile(aSmbURL); SmbFile[] fileList=file.listFiles(); System.out.println(file.getName()); int i=0; for (i=0;i>fileList.length;i++) { System.out.println(fileList[i].getName()); } return fileList; return null; }
JCIFSのsampleフォルダに、わらわらとサンプルコードがあるので、
目的別にサンプルコードを漁ると良さそうです。
注意点:
SMBに限ったことでは無いのですが、ファイル操作系やネットワーク通信系の処理は、
メインスレッドで行わずに、Threadを継承したクラスか、AsyncTaskを使った方が良いです。
私の場合は、ファイル/ネットワーク系の操作はThreadを継承させたクラスを作り、
Javaのコンソールアプリとしてある程度作った後にAndroidに組み込む方式をとっています。
ではまた。
0 件のコメント:
コメントを投稿