2012-11-29 3 views
1

오프라인 응용 프로그램을 개발 중이며 사용자 갤러리에서 사진을 가져 오지 못했습니다. 하지만 수동으로 삽입 한 사용자에게 이미지를 표시하고 싶습니다.안드로이드 - SQLite에 이미지를 저장하는 가장 좋은 방법은 무엇입니까?

제가 생각할 수있는 유일한 해결책은 drawable에 이미지를 저장 한 다음 sqlite 데이터베이스에 저장하는 것입니다 (확실하지 않습니다). 이 작업을 수행 할 수 있습니까?

감사합니다.

+1

에 대한 삽입 방울을 사용 할 수 있습니다) 드로어 블 폴더에 파일을 추가하십시오. 만들 수있는 SD 카드의 앱 폴더에 저장해야합니다. 기능을 향상시키기 위해 콘텐츠 제공 업체를 조사하고 싶을 수도 있습니다. http://developer.android.com/guide/topics/providers/content-provider-creating.html – DeeV

+0

보세요. 응용 프로그램이 온라인 응용 프로그램 인 경우 어떻게해야합니까? –

+0

이미지를 장치로 다운로드하는 경우에도 마찬가지입니다. 페이지를 표시하는 중이라면 WebView를 살펴볼 수 있습니다. – DeeV

답변

1

드로어 블 폴더에 이미지를 저장하려는 경우 데이터베이스에 이미지를 저장할 수 있습니다. 그냥 com.example.yourapp:drawable/imagefilename 같은 문자열을 저장하고 yourString가 데이터베이스에서 문자열을 포함하는 이미지를 표시 할 때 사용합니다 ..

int imageResource = this.getResources().getIdentifier(yourString, null, null); 
yourimageview.setImageResource(imageResource); 
0

당신은 쉽게 (당신은 할 수없는이

public void insertImg(int id , Bitmap img) { 


    byte[] data = getBitmapAsByteArray(img); // this is a function 

    insertStatement_logo.bindLong(1, id);  
    insertStatement_logo.bindBlob(2, data); 

    insertStatement_logo.executeInsert(); 
    insertStatement_logo.clearBindings() ; 

} 

public static byte[] getBitmapAsByteArray(Bitmap bitmap) { 
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); 
    bitmap.compress(CompressFormat.PNG, 0, outputStream);  
    return outputStream.toByteArray(); 
} 
관련 문제