2013-06-15 3 views
2

사용자가 내 앱에서 버튼을 클릭하면 내부 저장소 (SD 카드 또는 태블릿/휴대 전화 메모리)에서 이미지를 선택할 수 있어야합니다. 그런 다음이 이미지를 SQLite 데이터베이스에 저장하겠습니다.내부 저장소에서 이미지를 선택하고 SQLite에 삽입하는 방법?

  • 가 어떻게 갤러리 또는 사용자에게 파일 탐색기를 표시 할 수 있습니다, 그래서 그는 이동하고 이미지를 선택할 수 있습니다

    그래서 세 가지 질문이있다?

  • 앱에서 어떤 이미지를 선택했는지 어떻게 알 수 있습니까?
  • 내 앱이 이미지를 데이터베이스 (BLOB 데이터)에 어떻게 저장할 수 있습니까?
+0

http://viralpatel.net/blogs/pick-image-from-galary-android-app/ 또한 MediaStore 콘텐츠 공급자를 통해 대부분의 모든 mesia 데이터에 액세스 할 수 있습니다. – Lingviston

+0

매우 유용합니다. 감사합니다. – moictab

답변

1

Lingviston이 이미 지적한대로. here 갤러리에서 이미지 선택을 구현할 수 있습니다.

이미지 저장에 관해서는 링크의 코드를 조금 편집하겠습니다. 대신이의

:

ImageView imageView = (ImageView) findViewById(R.id.imgView); 
     imageView.setImageBitmap(BitmapFactory.decodeFile(picturePath)); 

가 나는 Bitmap에서 선택한 이미지를 저장하는거야.

ImageView imageView = (ImageView) findViewById(R.id.imgView); 
Bitmap mBitmap = BitmapFactory.decodeFile(picturePath); 
     imageView.setImageBitmap(mBitmap); 

은 이제 바이트로 비트 맵 변환하고 SQLite는 데이터베이스에 바이트 배열을 저장할 필요가 안드로이드에 BLOB 형태로 저장합니다.
   ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
       mBitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); 
       byte[] imageInByte = stream.toByteArray(); 

지금 당신은 단지 SQLite 데이터베이스에 저장 imageInByte을 통과해야합니다.

두 가지 대답은 이미 인터넷과 StackOverflow에서 사용할 수 있었기 때문에 2와 2를 함께 사용해야했습니다. 질문을 게시하기 전에 철저히 검색하십시오.

관련 문제