загрузить изображение из imageview в Firebase Android - PullRequest
0 голосов
/ 02 июля 2018

У меня есть активность с некоторыми изображениями в виде переработчика. Я хочу загрузить их в хранилище firebase в виде фотографий профиля, но не знаю как. У меня есть действие с просмотром 2 изображений: первый загружает изображения из телефонной галереи, второй открывает это действие ниже. Моя идея состоит в том, чтобы щелкнуть одно изображение, оно загружает изображение, щелкнутое по базе данных, и когда оно закончится, вернитесь к последнему действию, поскольку пользователю также необходимо выбрать псевдоним.

package it.evilsecret.evilsecretappfinal;

import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.drawable.BitmapDrawable;
import android.net.Uri;
import android.provider.MediaStore;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.GridLayoutManager;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;

public class ImageSelection extends AppCompatActivity {

private static final int CHOOSE_IMAGE = 101;
ImageView imageView;
RecyclerView recyclerView;
ImageAdapter imageAdapter;
List<Image> imageList;
ProgressBar progressBar;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.imageselectionpopup);

    imageList = new ArrayList<>();
    recyclerView = findViewById(R.id.recycler_view);
    recyclerView.setLayoutManager(new GridLayoutManager(this, 3));

    imageList.add(
            new Image(R.drawable.alis, "Alis"));
    imageList.add(
            new Image(R.drawable.astaroth, "Astaroth"));
    imageList.add(
            new Image(R.drawable.chris, "Chris"));
    imageList.add(
            new Image(R.drawable.sarah, "Sarah"));
    imageList.add(
            new Image(R.drawable.vanessa, "Vanessa"));

    imageAdapter = new ImageAdapter(this, imageList);
    recyclerView.setAdapter(imageAdapter);

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Сначала преобразовать в растровое изображение ...

Bitmap bitImage = BitmapFactory.decodeResource(getResources(), imageList.get(0));

Затем сожмите его, чтобы уменьшить его размер ...

bitImage.compress(Bitmap.CompressFormat.PNG, 100, outputStream);

Ссылка на эту ссылку .. https://www.simplifiedcoding.net/firebase-storage-tutorial-android/

0 голосов
/ 02 июля 2018

Для этого вам необходимо преобразовать изображение в растровое изображение (преобразовать изображение в растровое изображение) , а затем сжать его. После этого вы должны загрузить его в облако базы данных ссылку на облако базы данных

...