如何查看我刚刚在android开发中拍摄的图像?

时间:2013-07-26 19:43:16

标签: android android-intent camera

我是Android开发的新手,当我找到基本知识,例如查看和保存我刚用相机应用程序拍摄的照片时,我就陷入了困境。到目前为止,这是我进入相机应用程序的代码

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);


    startActivityForResult(intent, CAPTURE_IMAGE_ACTIVITY_REQUEST_CODE);
}

这是我不完整的OnActivityResult()方法

 protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    ImageView rondo = null;
    Bundle extras = data.getExtras();
    Bitmap mImageBitmap = (Bitmap) extras.get("data");
   rondo.setImageBitmap(mImageBitmap);
    setContentView(R.layout.activity_main);
    }

这是我对此活动的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >




    <ImageView android:id="@+id/imageViewName" 
                        android:layout_width="90dp" 
                        android:layout_height="90dp" 
                        android:scaleType="fitStart" 
                        android:adjustViewBounds="true" 
                        android:padding="10dp" 
                        />
                        />

     </LinearLayout>

我正在尝试获取我拍摄的图像并放入我在布局中指定的位置,如ImageView所示。但是,我拍照后我的应用程序一直在崩溃。我不知道我在做什么所以任何建议都有帮助

1 个答案:

答案 0 :(得分:0)

您可能遇到的异常是NullPointerException

OnActivityResult()方法中,您ImageView rondo引用了null,然后您尝试从该空引用变量调用setImageBitmap()。所以很明显NullPointerException

要摆脱这种情况,你可以做到以下几点,

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    setContentView(R.layout.activity_main);
    ImageView rondo = (ImageView)findViewById(R.id.imageViewName);
    Bundle extras = data.getExtras();
    Bitmap mImageBitmap = (Bitmap) extras.get("data");
   rondo.setImageBitmap(mImageBitmap);

    }
  

希望有所帮助!!!!!!!!!!!!!