Сохраните android.graphics.Bitmap в хранилище Firebase - PullRequest
0 голосов
/ 22 сентября 2019

Я хочу сохранить android.graphics.Bitmap в Firebase Storage!

Мой android.graphics.Bitmap - это собственный маркер, который я получаю, когда назначаю выбранное пользователем изображение пустому шаблону маркера, который ясоздан с помощью XML

Это моя функция создания маркера:

public Bitmap createCustomMarker(Context context) {

        View marker = ((LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.custom_marker_layout, null);

        CircleImageView markerImage = (CircleImageView) marker.findViewById(R.id.user_dp);

        markerImage.setImageBitmap(photoDuMarkeur);   //"photoDuMarkeur" is the image selected by User

        DisplayMetrics displayMetrics = new DisplayMetrics();
        ((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
        marker.setLayoutParams(new ViewGroup.LayoutParams(52, ViewGroup.LayoutParams.WRAP_CONTENT));
        marker.measure(displayMetrics.widthPixels, displayMetrics.heightPixels);
        marker.layout(0, 0, displayMetrics.widthPixels, displayMetrics.heightPixels);
        marker.buildDrawingCache();
        Bitmap bitmap = Bitmap.createBitmap(marker.getMeasuredWidth(), marker.getMeasuredHeight(), Bitmap.Config.ARGB_8888);
        Canvas canvas = new Canvas(bitmap);
        marker.draw(canvas);


        return bitmap;

    }

Это мой пустой шаблон маркера:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/custom_marker_view"
    android:layout_width="82dp"
    android:layout_height="wrap_content">

    <de.hdodenhof.circleimageview.CircleImageView
        android:id="@+id/user_dp"
        android:layout_width="45dp"
        android:layout_height="58dp"
        android:layout_alignParentTop="true"
        android:layout_gravity="center_horizontal"
        android:layout_marginLeft="12dp"
        android:layout_marginTop="6dp"
        android:contentDescription="@null"
        android:src="@drawable/ccc"
        app:civ_border_color="#fff" />

    <RelativeLayout
        android:layout_width="71dp"
        android:layout_height="76dp"
        android:background="@drawable/markerfin"
        android:backgroundTint="@color/whiteMarker">

    </RelativeLayout>

</RelativeLayout>

, когда я тестирую с:

Log.d ( "test", "************************************ "+ createCustomMarker (Marker.this));

Я получаю этот вывод:

D/test: ************************************ android.graphics.Bitmap@78364bb

note : нет проблем с функцией или с XML, я отобразил маркер на карте и даже в ImageView, но я хочу сохранить этот маркер "android.graphics.Bitmap@78364bb" в Firebase!

...