bhushan23

Cameraapp

Dec 29th, 2012
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.69 KB | None | 0 0
  1. package com.example.cameraapp;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.graphics.Bitmap;
  6. import android.graphics.BitmapFactory;
  7. import android.graphics.PixelFormat;
  8. import android.hardware.Camera;
  9. import android.hardware.Camera.PictureCallback;
  10. import android.hardware.Camera.ShutterCallback;
  11. import android.os.Bundle;
  12. import android.provider.MediaStore.Images;
  13. import android.util.Log;
  14. import android.view.LayoutInflater;
  15. import android.view.Menu;
  16. import android.view.SurfaceHolder;
  17. import android.view.SurfaceHolder.Callback;
  18. import android.view.SurfaceView;
  19. import android.view.View;
  20. import android.view.Window;
  21. import android.view.WindowManager;
  22. import android.view.View.OnClickListener;
  23. import android.view.ViewGroup.LayoutParams;
  24. import android.widget.Button;
  25. import android.widget.Toast;
  26.  
  27.  
  28. public class CaMERAapp extends Activity implements SurfaceHolder.Callback {
  29.  
  30.     private static final String TAG = "cookbook.hardware";
  31.     private LayoutInflater mInflater = null;
  32.     Camera mCamera;
  33.     byte[] tempdata;
  34.     boolean mPreviewRunning = false;
  35.     private SurfaceHolder mSurfaceHolder;
  36.     private SurfaceView mSurfaceView;
  37.     Button takepicture;
  38.     protected ShutterCallback mShutterCallback;
  39.     protected PictureCallback mPictureCallback;
  40.     protected PictureCallback mjpeg;
  41.  
  42.  
  43.     @Override
  44.     protected void onCreate(Bundle savedInstanceState) {
  45.         super.onCreate(savedInstanceState);
  46.         setContentView(R.layout.activity_ca_meraapp);
  47.         getWindow().setFormat(PixelFormat.TRANSLUCENT);
  48.         requestWindowFeature(Window.FEATURE_NO_TITLE);
  49.         getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
  50.    
  51.         setContentView(R.layout.activity_ca_meraapp);
  52.         //callt();
  53. /*  mSurfaceView = (SurfaceView)findViewById(R.id.surface);
  54.     mSurfaceHolder = mSurfaceView.getHolder();
  55.         mSurfaceHolder.addCallback(this);
  56.         mSurfaceHolder.setType(0);
  57.         mSurfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
  58. */
  59.        
  60.     /*      mInflater = LayoutInflater.from(this);
  61.         View overView = mInflater.inflate(R.layout.activity_ca_meraapp, null);
  62.         this.addContentView(overView,
  63.         new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
  64.     */
  65.                 takepicture = (Button) findViewById(R.id.button);
  66.         takepicture.setOnClickListener(new OnClickListener(){
  67.         public void onClick(View view){
  68.             callt();
  69.             mCamera.takePicture(mShutterCallback,mPictureCallback, mjpeg);
  70.        
  71.        
  72.         }
  73.         });
  74.  
  75.        
  76.        
  77.     }
  78. public void callt()
  79.     {
  80.         Toast.makeText(this,"Cpatured", Toast.LENGTH_LONG).show();
  81.     }
  82.     ShutterCallback mShutterCallback1 = new ShutterCallback(){
  83.         @Override
  84.         public void onShutter() {}
  85.         };
  86.         PictureCallback mPictureCallback1 = new PictureCallback() {
  87.        
  88.         public void onPictureTaken(byte[] data, Camera c) {} };
  89.  
  90.         PictureCallback mjpeg1 = new PictureCallback() {
  91.             public void onPictureTaken(byte[] data, Camera c) {
  92.             if(data !=null) {
  93.             tempdata=data;
  94.             done();
  95.             }
  96.             }
  97.             };
  98.  
  99.             void done() {
  100.                 Bitmap bm = BitmapFactory.decodeByteArray(tempdata,
  101.                 0, tempdata.length);
  102.                 String url = Images.Media.insertImage(getContentResolver(),
  103.                 bm, null, null);
  104.                 bm.recycle();
  105.                 Bundle bundle = new Bundle();
  106.                 if(url!=null) {
  107.                 bundle.putString("url", url);
  108.                 Intent mIntent = new Intent();
  109.                 mIntent.putExtras(bundle);
  110.                 setResult(RESULT_OK, mIntent);
  111.                 } else {
  112.                 Toast.makeText(this, "Picture can not be saved",
  113.                 Toast.LENGTH_SHORT).show();
  114.                 }
  115.                 finish();
  116.                 }
  117.            
  118.     @Override
  119.     public boolean onCreateOptionsMenu(Menu menu) {
  120.         // Inflate the menu; this adds items to the action bar if it is present.
  121.         getMenuInflater().inflate(R.menu.activity_ca_meraapp, menu);
  122.         return true;
  123.     }
  124.  
  125.     @Override
  126.     public void surfaceChanged(SurfaceHolder holder, int format, int w,int h) {
  127.         // TODO Auto-generated method stub
  128.        
  129.         Log.e(TAG, "surfaceChanged");
  130.         try {
  131.         if (mPreviewRunning) {
  132.         mCamera.stopPreview();
  133.         mPreviewRunning = false;
  134.         }
  135.         Camera.Parameters p = mCamera.getParameters();
  136.         p.setPreviewSize(w, h);
  137.         mCamera.setParameters(p);
  138.         mCamera.setPreviewDisplay(holder);
  139.         mCamera.startPreview();
  140.        
  141.         mPreviewRunning = true;
  142.         } catch(Exception e) {
  143.         Log.d("",e.toString());
  144.         }
  145.  
  146.     }
  147.  
  148.     @Override
  149.     public void surfaceCreated(SurfaceHolder holder) {
  150.         // TODO Auto-generated method stub
  151.         Log.e(TAG, "surfaceCreated");
  152.         mCamera = Camera.open();
  153.     }
  154.  
  155.     @Override
  156.     public void surfaceDestroyed(SurfaceHolder holder) {
  157.         // TODO Auto-generated method stub
  158.         Log.e(TAG, "surfaceDestroyed");
  159.         mCamera.stopPreview();
  160.         mPreviewRunning = false;
  161.         mCamera.release();
  162.         mCamera=null;
  163.  
  164.     }
  165.  
  166. }
Advertisement
Add Comment
Please, Sign In to add comment