Camera is mainly used to capture picture and video. We can control the camera by using methods of camera api.
Android provides the facility to work on camera by 2 ways:
- By Camera Intent
- By Camera API
activity_main.xml
Drag one imageview and one button from the pallete, now the xml file will look like this:
File: activity_main.xml
- <RelativeLayout xmlns:androclass="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:layout_width="match_parent"
- android:layout_height="match_parent"
- tools:context=".MainActivity" >
-
- <Button
- android:id="@+id/button1"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentBottom="true"
- android:layout_centerHorizontal="true"
- android:text="Take a Photo" >
- </Button>
-
- <ImageView
- android:id="@+id/imageView1"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:layout_above="@+id/button1"
- android:layout_alignParentTop="true"
- android:src="@drawable/ic_launcher" >
- </ImageView>
- </RelativeLayout>
File: MainActivity.java
- package com.example.simplecamera;
-
- import android.app.Activity;
- import android.content.Intent;
- import android.graphics.Bitmap;
- import android.os.Bundle;
- import android.view.Menu;
- import android.view.View;
- import android.widget.Button;
- import android.widget.ImageView;
-
- public class MainActivity extends Activity {
- private static final int CAMERA_REQUEST = 1888;
- ImageView imageView;
- public void onCreate(Bundle savedInstanceState) {
-
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
-
- imageView = (ImageView) this.findViewById(R.id.imageView1);
- Button photoButton = (Button) this.findViewById(R.id.button1);
-
- photoButton.setOnClickListener(new View.OnClickListener() {
-
- @Override
- public void onClick(View v) {
- Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
- startActivityForResult(cameraIntent, CAMERA_REQUEST);
- }
- });
- }
-
- protected void onActivityResult(int requestCode, int resultCode, Intent data) {
- if (requestCode == CAMERA_REQUEST) {
- Bitmap photo = (Bitmap) data.getExtras().get("data");
- imageView.setImageBitmap(photo);
- }
- }
-
- @Override
- public boolean onCreateOptionsMenu(Menu menu) {
-
- getMenuInflater().inflate(R.menu.activity_main, menu);
- return true;
- }
-
- }
|
No comments:
Post a Comment