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

トップ >ドキュメント >ファイルストア(Android):基本的な使い方

ファイルストア(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を更新します。

//ACL 読み込み:不可 , 書き込み:可
NCMBAcl acl = new NCMBAcl();
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 {
            //成功
        }
    }
});

許可権限を設定する場合は、必ずtrue値の設定が必要となります。
false値の設定は反映されません。
一つの権限でもtrue値を設定されますと、他の権限はすべてfalseとなります。

デフォルトACLについてはREST APIにてご確認ください。

ファイルの取得

ファイルストアに保存したものを取得するには、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 = NCMBFile.getQuery();
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 {
            //成功
        }
    }
});

管理画面での操作

ファイルをアップロードする

管理画面の左側メニューから、ファイルをクリックしてください。
ファイル管理ページを開く

アップロードボタンをクリックすると、ファイルアップロード画面が開きます。
ファイルアップロード画面を開く

デフォルトで選択したファイルの名前とMIMEタイプが表示されますが、変更することができます。
※MIMEタイプ:システムがファイルの種別を判断するためのもの

デフォルトでは全会員がファイルにアクセス可能となっていますが、パーミッションを設定して権限を変更できます。

※注意

アップロードするファイルの名前にはルールがありますので、ご注意ください。
詳細は、開発ガイドライン:ファイルストアについてをご参照ください。

「アップロードする」をクリックすると、ファイルがアップロードされます。
アップロード完了

ファイルを削除する

削除するファイルをチェックして、削除ボタンをクリックします。

ファイルクラスのパーミッションを設定する

アプリ設定からファイルストアの項目を選択すると、ファイルクラスパーミッションの画面が開くので、「パーミッションの設定」ボタンをクリックしてください。
ファイルクラスパーミッション設定
パーミッション設定画面が開くので、「+新しいパーミッション」ボタンをクリックし、パーミッションを設定してください。
ファイルクラスパーミッション設定2
パーミッションを削除する場合は、各行の左側にあるチェックボックスをクリックしたあと、削除ボタンをクリックしてください。

ファイル情報の暗号化設定

ファイルストアの「クラスの編集」から、ファイル名とMIMEタイプを暗号化した状態で保存するための設定ができます。

ファイル情報の暗号化設定

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

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

ページの先頭へ