0

我是 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 所示。但是,我的应用程序在我拍照后不断崩溃。我不知道我在做什么,所以任何建议都有帮助

4

1 回答 1

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);

    }

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

于 2013-07-26T20:14:44.010 回答