11

私は最初のAndroidアプリを書いています。これは、多かれ少なかれマウントポイントマネージャーになる予定です。ローカルマウントとNFSマウントは簡単ですが、CIFS共有をどのように処理するかわかりません。

理想的には、ホストを選択した後、CIFS共有のリストが表示されます。最低限、CIFS URI /共有文字列を入力してマウントできるはずです(例://192.168.1.100/mount_point)。ホストを選択できるEStrongsについて考えています。共有が表示され、さらに探索することができます。

私はjCIFS(これはAstroが使用しているものだと思います)を見てきました。また、xda-developersでcifs.koモジュールについて言及しているのを見ました。他に標準的なアプローチはありますか?jCIFSまたはcifs.koを使用してこれを一般的に行う方法に関するヒント/推奨事項はありますか?rootアクセスを取得する必要はありません。

4

3 に答える 3

5

ここのAndroiderの仲間、私は過去にさまざまなプロトコルを調べました、そしてこれは私が見つけたものです:

CIFSである必要がある場合は、jCIFSをお勧めします。あなたが言ったように、Astroはそれを使用します、そしてEStrongsも同様に使用します。そして...lysesoftによるAndSMBもそうです。だから、私はそれが「行く」標準的なアプローチであるとかなり確信しています。

SMBのサポートのみを検討している場合は、代わりにこれに興味があるかもしれません:http: //java-source.net/open-source/network-clients/jftp

また、他のプロトコルの場合、これは熟読するのに最適なリストです:http: //java-source.net/open-source/network-clients

お役に立てば幸いです。

于 2011-12-24T05:10:06.950 に答える
3

簡単なWiresharkキャプチャは、EStrongsもjCIFSを使用していることを示しているので、それも私の推奨事項です。jCIFSはCIFSクライアントツールキットとして作成されているため、プロジェクトの目標に適合させる必要があります。リモートファイルシステム自体を「マウント」することはありませんが、ファイル、ディレクトリ、共有リストなどにアクセスできます。その情報をどのように提示するかはあなた次第です。

もう1つのリソースは、SMB/CIFSプロトコルスイートの内部に関するオンラインブックであるImplementingCIFSです。特に、SMBURL形式について説明している付録Dを参照してください。SMB URLは、元の投稿(上記)で使用されている模擬UNC形式よりも優先されます。

于 2011-12-28T23:04:01.757 に答える
2

AndroidはLinuxなので、カーネルドライバーを使用できますが、それらをロードするにはrootが必要です。または、Gingerbread以降にサポートされていると思われるFUSEを使用するか(自分で試したことはありません)、実際にJCIFSなどのJavaライブラリを使用できます。

于 2011-12-21T03:45:03.710 に答える