почему Base64 кодирует только один массив байтов из byte [] ArrayList?
см. Мой код ниже:
ArrayList<byte[]> stringImgArry = new ArrayList<byte[]>();
bitmap = (Bitmap) data.getExtras().get("data");
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream);
byte[] byteArray = stream.toByteArray();
stringImgArry.add(byteArray);
Log.d("LOG_TAG", " byteArray " + byteArray);//[B@73c1473
Log.d("LOG_TAG", " String_byteArray " + stringImgArry);//[[B@73c1473, [B@d50868c]
List<String> encodedImageList = new ArrayList<>();
for (int i = 0; i < stringImgArry.size(); i ++) {
encodedImageList.add(Base64.encodeToString(stringImgArry.get(i), Base64.DEFAULT));
}
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
ImgString = String.join(" NEXT IMAGE ", encodedImageList);
}
Log.d("LOG_TAG", "Array base64 image : " + ImgString);
Log.d("LOG_TAG", "encoded Image List : " + encodedImageList);
Log.d("LOG_TAG", "Array base64 image size : " + encodedImageList.size());//2
, а затем сохраните ImgString в sqlite, как это
mDatabase.execSQL(insertSQL, new String[]{date, description, ImgString});
и моя база данных выглядит так:
пожалуйста, помогите мне найти решение для кодирования Arraylist массива байтов с помощью Base64?