I am trying to display an bitmap I created in and android program, but all the tutorials I find involve either Drawables or XML in order to display them. Can someone show me the steps needed to display an Bitmap in code?
This is not the entirety of the code, this is just the majority, the rest is related to getting the camera working.
class Preview extends SurfaceView implements SurfaceHolder.Callback {
private SurfaceHolder mHolder;
private Camera mCamera;
private Paint mPaint;
private Drawable bitmap;
private Bitmap currentprev;
private ImageView mImageView;
private Camera.PreviewCallback mPrevCallback = new Camera.PreviewCallback()
{
public void onPreviewFrame( byte[] data, Camera Cam ) {
Log.d("CombineTestActivity", "Preview registered");
Log.d("CombineTestActivity", "Data length = "
+ data.length );
// currentprev = BitmapFactory.decodeByteArray( data, 0,
// data.length );
currentprev = BitmapFactory.decodeResource( getResources(),
R.drawable.creature00 );
if( currentprev == null )
Log.d("CombineTestActivity", "currentprev is null" );
if( mImageView == null )
Log.d("CombineTestActivity", "mImageView is null" );
//Code fails here, gives null pointer exception
mImageView.setImageBitmap( currentprev );
Log.d("CombineTestActivity", "Preview Finished" );
}
};
private OnTouchListener mCorkyListener = new OnTouchListener() {
public boolean onTouch(View v, MotionEvent me) {
Log.d("CombineTestActivity", "touch registered" );
mCamera.takePicture( null, null, mPicCallback );
return false;
}
};
private Camera.PictureCallback mPicCallback = new Camera.PictureCallback() {
public void onPictureTaken( byte[] data, Camera mCamera ) {
Log.d("CombineTestActivity", "picture method run" );
}
};
Preview(Context context) {
super(context);
// Install a SurfaceHolder.Callback so we get notified when the
// underlying surface is created and destroyed.
mImageView = (ImageView)findViewById(R.id.imageview);
mHolder = getHolder();
mHolder.addCallback(this);
mHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
mPaint = new Paint();
bitmap = context.getResources().getDrawable(
R.drawable.creature00);
if( mImageView == null )
Log.d("CombineTestActivity", "mImageView is null" );
this.setOnTouchListener( mCorkyListener );
}