サーバー構築不要!スマートフォンアプリ向けの新クラウド

トップ >ドキュメント >SDKガイド(Android):ファイルストア

SDKガイド(Android)

ドキュメント内検索

ファイルストア

このドキュメントは更新されていません。
こちらから最新版をご覧ください。

ファイルの保存

ファイルストア機能を利用する場合はNCMBFileを使用します。
以下のようにファイルストアへのアップロードを行います。

byte[] data = "Hello,NCMB".getBytes();
NCMBFile file = new NCMBFile("Hello.txt", data, new NCMBAcl());
file.saveInBackground(new DoneCallback() {
    @Override
    public void done(NCMBException e) {
        if (e != null) {
            //失敗
         } else {
             //成功
         }
     }
 });

ファイルの更新

以下のようにファイルのACLを更新します。

//ACL 読み込み:不可 , 書き込み:可
NCMBAcl acl = new NCMBAcl();
acl.setPublicReadAccess(false);
acl.setPublicWriteAccess(true);

NCMBFile file = new NCMBFile("Hello.txt", acl);
file.updateInBackground(new DoneCallback() {
    @Override
    public void done(NCMBException e) {
        String result;
        if (e != null) {
            //失敗
        } else {
            //成功
        }
    }
});

ファイルの取得

ファイルストアに保存したものを取得するには、fetchメソッドを利用します。
fetchInBackgroundメソッドでの非同期処理も可能です。
ファイルの取得時には、ファイル名を先に取得する必要があるので、
以下の2通りが考えられます。

ファイル名を指定して取得する

あらかじめファイル名を指定したNCMBFileオブジェクトを作成し、データを取得することができます。

NCMBFile file = new NCMBFile("Hello.txt");
file.fetchInBackground(new FetchFileCallback() {
    @Override
    public void done(byte[] data, NCMBException e) {
        if (e != null) {
            //失敗
        } else {
            //成功
        }
    }
});

ファイル検索を利用する

クエリを取得して、ファイルストアを検索することができます。

NCMBQuery<NCMBFile> query = new NCMBQuery<>("files");
query.whereEqualTo("fileName", "Hello.txt");
query.findInBackground(new FindCallback<NCMBFile>() {
    @Override
    public void done(List<NCMBFile> results, NCMBException e) {
        if (e != null) {
            //検索失敗
        } else {
            //検索成功
            for (int i = 0; i < results.size(); i++) {
                results.get(i).fetchInBackground(new FetchFileCallback() {
                    @Override
                    public void done(byte[] obj, NCMBException e) {
                        if (e != null) {
                            //取得失敗
                        } else {
                            //取得成功
                        }
                    }
                });
            }
        }
    }
});

ファイルの削除

以下のようにファイルの削除を行います。

NCMBFile file = new NCMBFile("Hello.txt");
file.deleteInBackground(new DoneCallback() {
    @Override
    public void done(NCMBException e) {
        if (e != null) {
            //失敗
        } else {
            //成功
        }
    }
});

お探しの内容が見つからなかった場合はユーザーコミュニティ もご活用ください。(回答保証はいたしかねます)
なお、 Expertプラン以上のお客様はテクニカルサポートにてご質問を承らせて頂きます。

推奨画面サイズ1024×768px以上

ページの先頭へ