Android hardware learning-camera learning Android can't help but learn cameras. Now there are various kinds of beauty cameras and pictures in the circle of friends. Now, after the upgrade, you can pull down and take pictures,
I can't help learning about Android without learning cameras. Now all kinds of beauty cameras and pictures are shown in the circle of friends. Now, after the upgrade, I can pull down and take photos. The source of all kinds of photos is also a camera. It's a little evil, let's take a look at the usage of cameras in Android. In Android, cameras are generally divided into two types: using an existing Camera App (which can be understood as a built-in camera in the system) and creating a camera App separately, the first method is easy to understand, and the second method can support a company if it is good ~ Today, we will briefly describe the first call ~ For basic work, cameras need to be photographed, and photos need to be stored. permissions need to be set for external storage. Three permissions set for this operation: one is to call the Camera permission, the second is to require the device to have a camera, and the third is to write permissions on the external device: <uses-permission android: name = "android. permission. CAMERA "/> <uses-feature android: name =" android. hardware. camera "/> <uses-permission android: name =" android. permission. WRITE_EXTERNAL_STORAGE "/> simple page: A Buttom, an ImageView: Demo implements a simple trilogy. First, create an Intent, start the Intent, and finally receive the result without the front camera, it is simulated: Photo event: public void cameraEvent (View view) {intent = new Intent (MediaStore. ACTION_IMAGE_CAPTURE); // create an intent to obtain the image file = getOutputMediaFile (); // obtain the path intent. putExtra (MediaStore. EXTRA_OUTPUT, Uri. fromFile (file); // set the File name // start Intent startActivityForResult (intent, IMAGE_REQUEST_CODE);} to obtain the file path: // The image path is private static File getOutputMediaFile () {File mediaStorageDir = new File (Environment. getExternalStoragePublicDirectory (Enviro Nment. DIRECTORY_PICTURES), tag); if (! MediaStorageDir. exists () {if (! MediaStorageDir. mkdirs () {Log. d (tag, "Storage Directory creation failed"); return null ;}// create a file name String timeStamp = new SimpleDateFormat ("yyyyMMdd_HHmmss "). format (new Date (); File mediaFile = null; mediaFile = new File (mediaStorageDir. getPath () + File. separator + "IMG _" + timeStamp + ". jpg "); Log. d (tag, "storage directory:" + mediaFile); return mediaFile;} The onActivityResult method in the Activity must be rewritten to receive events after completion: @ Override protected void onActivityResult (int requestCode, int resultCode, Intent data) {// TODO Auto-generated method stub if (requestCode = IMAGE_REQUEST_CODE & resultCode = RESULT_ OK) {imageView = (ImageView) findViewById (R. id. camera_img); // you can use this Bitmap bitmap = BitmapFactory when the image size is large. decodeFile (file. toString (); imageView. setImageBitmap (bitmap); // imageView. setImageURI (Uri. fromFile (file);} super. onActivityResult (requestCode, resultCode, data );}