Dropbox SDKを使ってみよう(3-2.ファイル操作)
|Dropbox SDKを使ってみよう(3-1.認証情報の利用/アップロード)では認証の方法とアップロードについて解説しました。
今回はアップロードしたファイルの情報を取得する方法やファイルをダウンロードする方法を紹介します。
詳細は以下から。
ファイル/ディレクトリの情報を取得する
まずはディレクトリの情報を取得してみましょう。
ファイルやディレクトリの情報はDropboxAPI
このメソッドの引数には以下の内容を設定します。
[table “205” not found /]以下はルートディレクトリの情報を取得し、格納されているファイル/ディレクトリをToastで表示するサンプルです。
new Thread(new Runnable() { @Override public void run() { try { Entry diEntry = mDBApi.metadata("/", 10, null, true, null); List<Entry> fileList = diEntry.contents; for (final Entry entry : fileList) { mHandler.post(new Runnable() { @Override public void run() { Toast.makeText(FileActionMenuActivity.this, entry.path, Toast.LENGTH_LONG).show(); } }); } } catch (DropboxException e) { Log.e(FileActionMenuActivity.this.getPackageName(), e.toString()); } } }).start();
6行目でmetadataメソッドを使用してディレクトリの情報を取得しています。
ディレクトリの情報はEntryクラスオブジェクトに格納され、戻り値として取得します。
Entryクラスはフィールドにファイル/ディレクトリの情報を格納しているクラスです。
Entryクラスの主なフィールドは以下の表を参照してください。
[table “206” not found /]13行目でEntryクラスのpathフィールドから格納されているファイル/ディレクトリのフルパスを取得しています。
ファイルをダウンロードする
ファイルをダウンロードするにはDropboxAPI
getFileメソッドの引数は以下のとおりです。
[table “207” not found /]以下は”test.text”という名前のファイルをダウンロードし、ファイルの内容をToastで出力するサンプルです。
new Thread(new Runnable() { @Override public void run() { try { mDBApi.getFile("/test.txt", null, outputStream, null); mHandler.post(new Runnable() { @Override public void run() { String fileText = new String(outputStream.toByteArray()); Toast.makeText(FileActionMenuActivity.this, fileText, Toast.LENGTH_LONG).show(); } }); } catch (DropboxException e) { Log.e(FileActionMenuActivity.this.getPackageName(), e.toString()); } } }).start();