存储应用程序资产Firebase Android

时间:2018-04-07 01:45:50

标签: android firebase

Firebase有3种类型的存储空间,但它们适用于用户生成的数据和跨设备同步。

如何使用firebase存储多个静态图形资源(例如图像资源),而无需手动将链接复制并粘贴到应用程序的代码中?

由于

1 个答案:

答案 0 :(得分:0)

您可以自动创建一个上传活动,将您的图形资源的URL自动存储到数据库,在这种情况下您必须从设备上传图形资源。因为上传代码如下。

        storageReference2nd.putFile(FilePathUri)
                .addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {

                        Toast.makeText(getApplicationContext(), "Image Uploaded Successfully ", Toast.LENGTH_LONG).show();
                        @SuppressWarnings("VisibleForTests")
                        ImageUploadInfo imageUploadInfo = new ImageUploadInfo(taskSnapshot.getDownloadUrl().toString());
                        String ImageUploadId = databaseReference.push().getKey();
                        // Adding image upload id s child element into databaseReference.
                        databaseReference.child(ImageUploadId).setValue(imageUploadInfo);
                    }
                })
                .addOnFailureListener(new OnFailureListener() {
                    @Override
                    public void onFailure(@NonNull Exception exception) {

                        // Showing exception erro message.
                        Toast.makeText(MainActivity.this, exception.getMessage(), Toast.LENGTH_LONG).show();
                    }
                })
                .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() {
                    @Override
                    public void onProgress(UploadTask.TaskSnapshot taskSnapshot) {
                        // Setting progressDialog Title.


                    }
                });