AndroidアプリケーションからFirebaseStorageにファイルをアップロードする

Ethan Pervere

Android Studioでアプリを作成しており、Firebase Storageを使用してユーザー情報を個々のテキストファイルに保存し、後でアプリのユーザーダッシュボードにアップロードしています。これを行うためのすべてのコードを作成し、Firebaseのドキュメントにできる限り従いました。アプリを実行すると(Motorola moto e5電話でテスト済み)、すべてが完全に実行され、ユーザー情報を含むファイルが作成されます。次に、Firebase Storageセクションにアップロードすることになっているので、破棄する必要があります。私は最初と最後のイベントが起こったことを知っています。

問題

ただし、Firebaseにアクセスしてファイルが存在することを確認すると、存在しません。そこで、Android Studioがエラーを返し、エラーがなく、すべてがスムーズに実行されたかどうかを確認しますが、アップロードされるはずのファイルがFirebaseに表示されませんそれで、私はインターネット全体を見て、4mごとに、ドキュメントごとにドキュメントを見て、それをすべて試しました。私が見つけられなかった私を助けるかもしれない何かを見つけたら、親切にリンクを共有してください。また、問題が何であるかを知っている場合は共有してください。

トラブルシューティング方法

より具体的には、これらは私が試したいくつかのことです:

  • クリーンプロジェクト
  • キャッシュを無効にして再起動する
  • build.gradleファイルの依存関係のSDKバージョンを変更し、それらがすべて最新であることを確認し、古いものも試してみました
  • 彼らが別のプロジェクトのドキュメントで提供しているサンプルコードを書いたが、それでも機能しなかった
  • ファイルが非表示になっていて、ストレージ参照がnullを返したかどうかを確認するためのコードを書き続けました
  • file.delete();行を削除しようとしました

コード

「目標」を作成する必要がありますと呼ばれるこの方法では、ユーザーはというファイルに自分の入力を保存することで達成したい0.txt1.txt2.txtなどなど。次に、メソッドはファイルをFirebase Storageにアップロードする必要があり、そこで問題が発生します。データベースには表示されません。

private void createGoal(String activity, String timeframe, String number, String unit) throws IOException {

     //creates an instance of the Main Dashboard class inorder to access the variable counterString.
     MainDashboard dBoard = new MainDashboard();

     //Names the 0.txt, 1.txt, 2.txt, and so on
     file = new File(dBoard.counterString + ".txt");

     //Creates the actual file
     file.createNewFile();

     //Creates the writer object that will write to the file
     FileWriter writer = new FileWriter(file);

     //Writes to the text file
     writer.write(activity + " : " + "0 / "+ number + " " + unit + " in " + timeframe);

     //Closes the Writer
     writer.close();

     //Creates a Uri from the file to be uploaded
     upload = Uri.fromFile(new File(activity + ".txt"));

     //Uploads the file exactly as the documentation says, but it doesn't work
     UploadTask uploadTask = storageRef.putFile(upload);

     //Deletes the file from the local system
     file.delete();
}

どんなアイデアも高く評価されます。

フランク・ヴァン・パッフェレン

putFileFirebaseを呼び出すと、バックグラウンドでデータのアップロードが開始されるため、ユーザーは引き続きアプリを使用できます。ただし、コードはdeleteその後すぐにローカルファイルを呼び出します。つまり、Firebaseがアップロードを完了する(または開始する)前にローカルファイルを削除します。

秘訣は、Firebaseのドキュメントに示されているようにアップロードの進行状況監視し、アップロードが完了した後でのみローカルファイルを削除することです。

そのドキュメントの例に基づいて:

// Listen for state changes, errors, and completion of the upload.
uploadTask.addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
        double progress = (100.0 * taskSnapshot.getBytesTransferred()) / taskSnapshot.getTotalByteCount();
        System.out.println("Upload is " + progress + "% done");
    }
}).addOnPausedListener(new OnPausedListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onPaused(UploadTask.TaskSnapshot taskSnapshot) {
        System.out.println("Upload is paused");
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle unsuccessful uploads
    }
}).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
    @Override
    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
        // Handle successful uploads on complete
        // ...

        //Deletes the file from the local system
        file.delete();

    }
});

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AndroidアプリケーションからPiratedBoxにファイルをアップロードします

分類Dev

画像ファイルをエクスプローラーからアプリケーションにドラッグアンドドロップします

分類Dev

OSからJavaアプリケーションにファイルをドラッグアンドドロップする(Swing)

分類Dev

外部アプリケーションからAzure仮想マシンにファイルをアップロードする任意の方法

分類Dev

外部アプリケーションからAzure仮想マシンにファイルをアップロードする任意の方法

分類Dev

AndroidアプリケーションからWordPressRESTAPIを介してファイルをアップロードする

分類Dev

WebAPIを使用してIonicアプリケーションにファイルをアップロードする

分類Dev

アップロードしたファイルをWebアプリケーションに保存する場所

分類Dev

アプリケーションレールからxlsファイルをダウンロードする4

分類Dev

サーバー側アプリケーションから生成された署名付きURLを使用して、AndroidからS3サーバーにファイル(ビデオファイル)をアップロードする

分類Dev

Outlookからアプリケーションに添付ファイルをドラッグする

分類Dev

FTPサーバーからローカルWindowsアプリケーションのグリッドビューにファイルを表示する方法

分類Dev

Railsアプリケーションからhidriveオンラインストレージにファイルをアップロードできますか?

分類Dev

URLからファイルをダウンロードするアプリケーション

分類Dev

アプリケーションローダーのアップロードファイルを作成するにはどうすればよいですか?

分類Dev

PHPファイルから内部サーバーエラーを返すファイルアップロードアプリケーション

分類Dev

JavaサーブレットWebアプリケーションからDropboxにファイルをアップロードします

分類Dev

JavaサーブレットWebアプリケーションからDropboxにファイルをアップロードします

分類Dev

Pyrebaseを含むJSONファイルをGoogleAppEngineからFirebaseStorageにアップロードする

分類Dev

SpringブートアプリケーションからAWSS3にログファイルを保存する

分類Dev

SpringブートアプリケーションからAWSS3にログファイルを保存する

分類Dev

C#ステートフルサービスファブリックアプリケーションをVisual StudioからLinuxにデプロイする

分類Dev

ファイルをアップロードする前にFirebaseStorageのダウンロードURLを生成する

分類Dev

クライアント側のExcelファイルからアプリケーションにExcelをロードする

分類Dev

アプリケーションをWASフルプロファイル8.5.5.7からWASLibertyプロファイル17.0.0.4に移行する

分類Dev

RESTAPIを使用してFirebaseStorageにファイルをアップロードする

分類Dev

アプリケーションディレクトリからPDFファイルをフラッターでロードする方法は?

分類Dev

ビルド時にVisualStudioプロジェクトからUWPアプリケーションのLocalFolderにファイルをコピーする方法

分類Dev

Ruby onRailsアプリケーションからgitにファイルをコミットするgem

Related 関連記事

  1. 1

    AndroidアプリケーションからPiratedBoxにファイルをアップロードします

  2. 2

    画像ファイルをエクスプローラーからアプリケーションにドラッグアンドドロップします

  3. 3

    OSからJavaアプリケーションにファイルをドラッグアンドドロップする(Swing)

  4. 4

    外部アプリケーションからAzure仮想マシンにファイルをアップロードする任意の方法

  5. 5

    外部アプリケーションからAzure仮想マシンにファイルをアップロードする任意の方法

  6. 6

    AndroidアプリケーションからWordPressRESTAPIを介してファイルをアップロードする

  7. 7

    WebAPIを使用してIonicアプリケーションにファイルをアップロードする

  8. 8

    アップロードしたファイルをWebアプリケーションに保存する場所

  9. 9

    アプリケーションレールからxlsファイルをダウンロードする4

  10. 10

    サーバー側アプリケーションから生成された署名付きURLを使用して、AndroidからS3サーバーにファイル(ビデオファイル)をアップロードする

  11. 11

    Outlookからアプリケーションに添付ファイルをドラッグする

  12. 12

    FTPサーバーからローカルWindowsアプリケーションのグリッドビューにファイルを表示する方法

  13. 13

    Railsアプリケーションからhidriveオンラインストレージにファイルをアップロードできますか?

  14. 14

    URLからファイルをダウンロードするアプリケーション

  15. 15

    アプリケーションローダーのアップロードファイルを作成するにはどうすればよいですか?

  16. 16

    PHPファイルから内部サーバーエラーを返すファイルアップロードアプリケーション

  17. 17

    JavaサーブレットWebアプリケーションからDropboxにファイルをアップロードします

  18. 18

    JavaサーブレットWebアプリケーションからDropboxにファイルをアップロードします

  19. 19

    Pyrebaseを含むJSONファイルをGoogleAppEngineからFirebaseStorageにアップロードする

  20. 20

    SpringブートアプリケーションからAWSS3にログファイルを保存する

  21. 21

    SpringブートアプリケーションからAWSS3にログファイルを保存する

  22. 22

    C#ステートフルサービスファブリックアプリケーションをVisual StudioからLinuxにデプロイする

  23. 23

    ファイルをアップロードする前にFirebaseStorageのダウンロードURLを生成する

  24. 24

    クライアント側のExcelファイルからアプリケーションにExcelをロードする

  25. 25

    アプリケーションをWASフルプロファイル8.5.5.7からWASLibertyプロファイル17.0.0.4に移行する

  26. 26

    RESTAPIを使用してFirebaseStorageにファイルをアップロードする

  27. 27

    アプリケーションディレクトリからPDFファイルをフラッターでロードする方法は?

  28. 28

    ビルド時にVisualStudioプロジェクトからUWPアプリケーションのLocalFolderにファイルをコピーする方法

  29. 29

    Ruby onRailsアプリケーションからgitにファイルをコミットするgem

ホットタグ

アーカイブ