2012-11-22 2 views
3

제 지식에 그것이 발생하지 않아야하므로 왜 그런 일이 일어나고 있는지 혼란 스럽습니다.android에서 uri로 이미지 뷰어를 설정하면 오류가 발생합니다.

Assets --> aphotos --> launch50 ---> launch501.jpg 

지금 예를 들어, 나는 다음과 같은 문법적으로 이미지 뷰 위젯 프로에 이미지를 설정하려면 : 나는 이미지의 부부 같은 일부 디렉토리 구조에 실제로 APK 안드로이드 자산 디렉토리에 저장 한 -

Uri uri = Uri.parse("file:///android_asset/"+context.getString(R.string.photoroot)+"/"+fldr+"/"+introphoto); 
    System.out.println("Image URI: "+uri.toString());  
    imageView.setImageURI(uri); 

"fldr"및 "introphoto"는 데이터베이스에서 가져옵니다.

11-22 19:23:46.689: W/ImageView(12990): Unable to open content: file:///android_asset/aphotos/launch50/launch501.jpg 11-22 19:23:46.689: W/ImageView(12990): java.io.FileNotFoundException: /android_asset/aphotos/launch50/launch501.jpg (No such file or directory) 11-22 19:23:46.689: W/ImageView(12990): at org.apache.harmony.luni.platform.OSFileSystem.open(Native Method) 

사람이 이미지가 있기 때문에 왜 무슨 일이 일어나고 있음을 알 수있다 -이 :이 일을하는 동안은 "로그 캣"에서 다음과 같은 오류가 발생합니다? 미리 감사드립니다.

답변

0

this question에서 자산 파일에 대한 URI를 얻는 것은 분명히 효과가 없습니다.

나는 당신이 스트림과 그것을 할 필요가 있다고 생각 :이 파일이어야합니다

String path = context.getString(R.string.photoroot)+"/"+fldr+"/"+introphoto; 
    InputStream is = getAssets().open(path); 
    Bitmap bitmap = BitmapFactory.decodeStream(is); 
    imageView.setImageBitmap(bitmap); 
    is.close(); 
+0

내가 실제로 원하지 않는 스트림을 열지 않으면 질문을 할 수없는 이유가 여기에 있습니다. 이미지가 거기에, setImageURI 메서드가 거기에 왜 작동하지 않습니다? – Fundi

+0

자산의 URI가 잘 작동하지 않는 것 같습니다 ... 내 편집보기 – fiddler

+0

이것은 나를 위해 일했습니다 : - [링크] (http://stackoverflow.com/a/8197435/1326579) 친절 답변을 주셔서 감사합니다. – Fundi

1

: // 대신 파일 : ///. 파일 뒤에 추가 '/'를 추가하고 있습니다.

Uri uri =Uri.parse("file://android_asset/"+context.getString(R.string.photoroot)+"/"+fldr+"/"+introphoto); 
    System.out.println("Image URI: "+uri.toString());  
    imageView.setImageURI(uri); 
+0

그것은 나를 위해 작동하지 않았다! – Fundi

관련 문제