Firebase: получить getReferenceFromUrl () - PullRequest
0 голосов
/ 04 мая 2018
imageView=(ImageView)findViewById(R.id.dd);
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReferenceFromUrl("gs://MyProject.appspot.com/");
storageRef.child("MyFolder/MyPict.jpg").getDownloadUrl().addOnSuccessListener(MainActivity.this, new OnSuccessListener<Uri>() {
                @Override
                public void onSuccess(Uri uri) {
                    Glide.with(MainActivity.this).load(uri).into(imageView);
                }
            })
          .addOnFailureListener(new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception exception) {
                }
            });

Но .. "К сожалению, YourApp остановился" отображается .. Можете ли вы помочь мне, пожалуйста

1 Ответ

0 голосов
/ 04 мая 2018

Я надеюсь, что вы дадите правила в хранилище Firebase как чтение и напишите true.

при нажатии кнопки, используемой ниже метода.

private void uploadImage() {
    // Start by getting our StorageReference
    FirebaseStorage storage = FirebaseStorage.getInstance();
    StorageReference rootRef = storage.getReference();
    StorageReference bearRef = rootRef.child("images/bear.jpg");
    final ProgressDialog progressDialog = new ProgressDialog(this);
    progressDialog.setTitle("Uploading");
    progressDialog.show();

    // Get the data from the image as bytes
    ImageView bearImage = getSelectedBearImage();
    bearImage.setDrawingCacheEnabled(true);
    bearImage.buildDrawingCache();
    Bitmap bitmap = bearImage.getDrawingCache();
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
    byte[] data = baos.toByteArray();

    // Upload it to our reference
    UploadTask uploadTask = bearRef.putBytes(data);
    buttonDownload.setEnabled(false);
    uploadTask.addOnFailureListener(new OnFailureListener() {
        @Override
        public void onFailure(@NonNull Exception exception) {
            // Handle unsuccessful uploads
            progressDialog.dismiss();

            Log.w(LOG_TAG, "Upload failed: " + exception.getMessage());
        }
    }).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
        @Override
        public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
            // taskSnapshot.getMetadata() contains file metadata such as size, content-type, and download URL.
            Uri downloadUrl = taskSnapshot.getDownloadUrl();
            progressDialog.dismiss();

            Log.d(LOG_TAG, "Download Url: " + downloadUrl);
            buttonDownload.setEnabled(true);
        }
    });
}

и я надеюсь, что вы добавите интернет-разрешение в файл манифеста Android ...

    <uses-permission android:name="android.permission.INTERNET"/>

для информации вы можете обратиться по этой ссылке .. Дополнительная информация для хранения:

https://firebase.google.com/docs/storage/

Для загрузки и скачивания:

https://www.simplifiedcoding.net/firebase-storage-tutorial-android/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...