2011-05-16 2 views
0

저는 Android 개발을하고 있습니다.Android URI에 특정 레코드 필드를 추가 할 수 있습니까?

제 질문은 : URI에 특정 레코드 필드를 추가 할 수 있습니까?

예 : SQLite는 DB의 테이블 기념물이 있다고 가정

내가 ID 4 항목의 BLOB 이미지를 검색하고 표시 할 지금 원하는
_id INTEGER AUTO INCREMENT 
name TEXT 
location TEXT 
picture BLOB 

; 나는 db를 쿼리 할 수있다

Bitmap monumentImage = null; 
Uri uri = Uri.parse("content://com.my.example/monuments/4"); 
Cursor c = myContentResolver.query(uri, new String[] {"picture"}, null, null, null); 
if (c.moveToFirst()) { 
    byte[] imageBytes = c.getBlob(0); 
    if (imageBytes != null) { 
    monumentImage = BitmapFactory.decodeByteArray(imageBytes, 0, imageBytes.length); 
} 
ImageView myImage = findViewById(R.id.whatever); 
if (monumentImage != null) { 
    myImage.setImageBitmap(monumentImage); 
} 

지금 내 질문은 : 거기에 직접 레코드 열을 uri에 추가 할 수 있습니까? 과 같은 것으로

Uri uri = Uri.parse("content://com.my.example/monuments/4/picture"); 
ImageView myImage = findViewById(R.id.whatever); 
myImage.setImageURI(uri); 

?

건배!

답변

0

예프. 그냥 자신의 콘텐츠 공급자를 사용하십시오. 거기에서 URI를 구문 분석 할 수 있습니다.

가 쿼리를

섹션 만들기, here 읽어보십시오.

+0

도움 주셔서 감사합니다. 하지만 기본 setImageURI()로 원하는 것을 실제로 수행 할 수 없다고 생각합니다. grepcode에 노출 된 안드로이드 코드, 특히 "resolveUri()"함수는 db 레코드의 필드가 좋은 후보가 아님을 보여줍니다. – f3733

+0

그것은 작동합니다 - 나는 단지 그렇게합니다 ... iv_backgroundImage.setImageURI (contactPhotoUriFull); – xnagyg

관련 문제