2013-11-24 2 views
0

간단한 변환 동작 문제가있는 이유는 무엇입니까?Uri에 대한 안드로이드 비트 맵이 작동하지 않습니다.

원래 나는 파일 소스를 그림으로 그려 놓은 것이 문제라고 생각했습니다. 나중에 테스트하는 것은 정상적인 디스플레이 그림 setimageview입니다. 왜 여기에 오류가 발생하는지 이해할 수 없습니까?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.edit_main); 
    is = this.getResources().openRawResource(R.drawable.smp); 
    BitmapFactory.Options options=new BitmapFactory.Options(); 
    options.inJustDecodeBounds = false; 
    options.inSampleSize = 4; 
    Bitmap btp =BitmapFactory.decodeStream(is,null,options); 

전환 행동

uri = Uri.parse(MediaStore.Images.Media.insertImage(getContentResolver(),btp, "123","456")); 

} 

오류 코드 :

11-24 20:16:17.682 31134-31134/com.example.cacara E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.cacara/com.example.cacara.sds}: java.lang.NullPointerException: uriString 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) 
      at android.app.ActivityThread.access$700(ActivityThread.java:140) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237) 
      at android.os.Handler.dispatchMessage(Handler.java:99) 
      at android.os.Looper.loop(Looper.java:137) 
      at android.app.ActivityThread.main(ActivityThread.java:4921) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:511) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.NullPointerException: uriString 
      at android.net.Uri$StringUri.<init>(Uri.java:464) 
      at android.net.Uri$StringUri.<init>(Uri.java:454) 
      at android.net.Uri.parse(Uri.java:426) 
      at com.example.cacara.sds.onCreate(sds.java:49) 
      at android.app.Activity.performCreate(Activity.java:5188) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) 
            at android.app.ActivityThread.access$700(ActivityThread.java:140) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1237) 
            at android.os.Handler.dispatchMessage(Handler.java:99) 
            at android.os.Looper.loop(Looper.java:137) 
            at android.app.ActivityThread.main(ActivityThread.java:4921) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:511) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805) 
            at dalvik.system.NativeStart.main(Native Method) 

답변

0
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 
나는 이유를 읽을 증가하지 않는 이유 및 쓰기 권한을 찾을 수

... 하지만 여전히 왜이 권한이 필요 uri 이해가 안 돼요

관련 문제