Reputation: 1
I have posted this problem yesterday..but unfortunately, no one has given me the solution and I still dont know where my mistake is.
I just want to save the path of an image taken by the camera into a SQLite table. And afetr that I want ot retrieve this path from the database and display the picture.
Code:
public void takePic() {
String fileName = "temp.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.TITLE, fileName);
mCapturedImageURI = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);
cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, mCapturedImageURI);
startActivityForResult(cameraIntent, Camera_requestCode);
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Camera_requestCode && resultCode == RESULT_OK) {
String[] projection = { MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);
insertPath(capturedImageFilePath);
Bitmap image = (Bitmap) data.getExtras().get("data");
}
};
Logcat:
03-02 13:20:06.479: E/AndroidRuntime(378): FATAL EXCEPTION: main
03-02 13:20:06.479: E/AndroidRuntime(378): java.lang.RuntimeException: Unable to resume activity {com.android.SaveCameraPictureDemo/com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.android.SaveCameraPictureDemo/com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity}: java.lang.NullPointerException 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2120) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2135) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1668) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:2832) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.access$1600(ActivityThread.java:117) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.os.Handler.dispatchMessage(Handler.java:99) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.os.Looper.loop(Looper.java:130) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.main(ActivityThread.java:3683) 03-02 13:20:06.479: E/AndroidRuntime(378): at java.lang.reflect.Method.invokeNative(Native Method) 03-02 13:20:06.479: E/AndroidRuntime(378): at java.lang.reflect.Method.invoke(Method.java:507) 03-02 13:20:06.479: E/AndroidRuntime(378): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-02 13:20:06.479: E/AndroidRuntime(378): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-02 13:20:06.479: E/AndroidRuntime(378): at dalvik.system.NativeStart.main(Native Method) 03-02 13:20:06.479: E/AndroidRuntime(378): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.android.SaveCameraPictureDemo/com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity}: java.lang.NullPointerException 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2107) 03-02 13:20:06.479: E/AndroidRuntime(378): ... 13 more 03-02 13:20:06.479: E/AndroidRuntime(378): Caused by: java.lang.NullPointerException 03-02 13:20:06.479: E/AndroidRuntime(378): at android.content.ContentResolver.acquireProvider(ContentResolver.java:743) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.content.ContentResolver.query(ContentResolver.java:256) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.Activity.managedQuery(Activity.java:1550) 03-02 13:20:06.479: E/AndroidRuntime(378): at com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity.onActivityResult(SaveCameraPictureDemoActivity.java:67) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.Activity.dispatchActivityResult(Activity.java:3908) 03-02 13:20:06.479: E/AndroidRuntime(378): at android.app.ActivityThread.deliverResults(ActivityThread.java:2528) 03-02 13:20:06.479: E/AndroidRuntime(378): ... 14 more 03-02 13:36:55.168: E/AndroidRuntime(434): FATAL EXCEPTION: main 03-02 13:36:55.168: E/AndroidRuntime(434): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=1, result=-1, data=null} to activity {com.android.SaveCameraPictureDemo/com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity}: java.lang.NullPointerException 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread.deliverResults(ActivityThread.java:2532) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread.handleSendResult(ActivityThread.java:2574) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread.access$2000(ActivityThread.java:117) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:961) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.os.Handler.dispatchMessage(Handler.java:99) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.os.Looper.loop(Looper.java:130) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread.main(ActivityThread.java:3683) 03-02 13:36:55.168: E/AndroidRuntime(434): at java.lang.reflect.Method.invokeNative(Native Method) 03-02 13:36:55.168: E/AndroidRuntime(434): at java.lang.reflect.Method.invoke(Method.java:507) 03-02 13:36:55.168: E/AndroidRuntime(434): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-02 13:36:55.168: E/AndroidRuntime(434): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-02 13:36:55.168: E/AndroidRuntime(434): at dalvik.system.NativeStart.main(Native Method) 03-02 13:36:55.168: E/AndroidRuntime(434): Caused by: java.lang.NullPointerException 03-02 13:36:55.168: E/AndroidRuntime(434): at com.android.SaveCameraPictureDemo.SaveCameraPictureDemoActivity.onActivityResult(SaveCameraPictureDemoActivity.java:73) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.Activity.dispatchActivityResult(Activity.java:3908) 03-02 13:36:55.168: E/AndroidRuntime(434): at android.app.ActivityThread.deliverResults(ActivityThread.java:2528) 03-02 13:36:55.168: E/AndroidRuntime(434): ... 11 more
Upvotes: 0
Views: 1027
Reputation: 109237
Change your code,
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == Camera_requestCode && resultCode == RESULT_OK) {
if(data != null)
{
String[] projection = { MediaStore.Images.Media.DATA};
Cursor cursor = managedQuery(mCapturedImageURI, projection, null, null, null);
int column_index_data = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
cursor.moveToFirst();
String capturedImageFilePath = cursor.getString(column_index_data);
insertPath(capturedImageFilePath);
Bitmap image = (Bitmap) data.getExtras().get("data");
}
else
{
Log.e("OnActivityResult()", "data is null");
}
}
};
Upvotes: 1