como faço para guarda a foto que pego da galeira no banco de dados em Android ???
como faço para guarda a foto que pego da galeira no banco de dados em Android ???
Alisson, tudo bem ?
A gente não consegue armazenar a foto diretamente no bd, o que você pode fazer é armazenar o caminho dela no seu bd, o grande problema de trabalharmos com a galeria é que a qualquer instante o usuário pode deletar a foto que dará inconsistencia aos nossos dados.
Bom Alisson, a melhor pratica seria salvar a URL da imagem no banco e não a imagem em si. Mas para salvar a imagem diretamente no banco, o SQLite dispõe do tipo de dado BLOB (Binary Large Object), que armazena arquivos multimídia como um array de bytes. Então primeiramente é preciso converter a imagem recuperada da galeria nesse array de bytes.
Bitmap bitmap = ((BitmapDrawable)foto.getDrawable()).getBitmap();
ByteArrayOutputStream saida = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG,100,saida);
byte[] img = saida.toByteArray();
Onde foto é sua imagem recuperada e img é seu array de bytes pronto para ser enviado a classe responsavel por armazenar no banco.
Bons estudos.
como faço para pega a url da imagem da galeria?
A própria Uri, tem um método chamado getPath()
que retorna o caminho real do arquivo.