'image path from android to php web interface
I have an android app that captures images and sends them to firebase storage. In my web interface I retrieve the url of these images and make it like a video, but this way the image transitions are too slow. What would be the best way for me to pass the url of these images from the android app to the php web interface? Would it be faster via socket?
Screenshot.java
private class ImageAvailableListener implements ImageReader.OnImageAvailableListener {
@Override
public void onImageAvailable(ImageReader reader) {
FileOutputStream fos = null;
Bitmap bitmap = null;
try (Image image = mImageReader.acquireLatestImage()) {
if (image != null) {
Image.Plane[] planes = image.getPlanes();
ByteBuffer buffer = planes[0].getBuffer();
int pixelStride = planes[0].getPixelStride();
int rowStride = planes[0].getRowStride();
int rowPadding = rowStride - pixelStride * mWidth;
// create bitmap
bitmap = Bitmap.createBitmap(mWidth + rowPadding / pixelStride, mHeight, Bitmap.Config.ARGB_8888);
bitmap.copyPixelsFromBuffer(buffer);
IMAGES_PRODUCED++;
Log.e(TAG, "captured image: " + IMAGES_PRODUCED);
//TRANSFOMAR BITMAP EM ARRAY DE BYTES
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 0, baos);
byte[] dadosImagem = baos.toByteArray();
//criar nome unico de imagem
//String nomeImagem = UUID.randomUUID().toString();
StorageReference imagemRef = storageReference
.child("imagens")
.child("screenshot")
.child(idUser)
.child(IMAGES_PRODUCED+".jpeg");
//fazer upload da imagem
UploadTask uploadTask = imagemRef.putBytes(dadosImagem);
uploadTask.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
//em versoes anteriores do a gente recuperava assim taskSnapshot.getDownloadUrl();
//recuperar a url para inserir no realtime
imagemRef.getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
@Override
public void onComplete(@NonNull Task<Uri> task) {
//aqui temos a url da imagem
String url = task.getResult().toString();
Log.d("TAG", IMAGES_PRODUCED + url);
//grava a url recuperada da imagem no realtime
Imagem imagem = new Imagem();
imagem.setUrl(url);
imagem.setIdUsuario(idUser);
imagem.salvarImagem();
JSONObject jsonObject = new JSONObject();
try {
jsonObject.put("message", url);
jsonObject.put("byServer", false);
} catch (JSONException e) {
e.printStackTrace();
}
}
});
}
});
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
