[source code] Android Development Tutorial - 56 & 57

+13 Bucky Roberts · January 7, 2015

activity_main.xml
<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Take Photo"
        android:id="@+id/buckysButton"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true"
        android:layout_marginBottom="72dp"
        android:onClick="launchCamera" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/buckysImageView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="50dp"
        android:minHeight="300dp"
        android:minWidth="300dp" />
</RelativeLayout>


MainActivity.java
package com.thenewboston.takephoto;

import android.content.Intent;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.provider.MediaStore;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.content.pm.PackageInfo;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;

public class MainActivity extends ActionBarActivity {

    static final int REQUEST_IMAGE_CAPTURE = 1;
    ImageView buckysImageView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button buckyButton = (Button) findViewById(R.id.buckysButton);
        buckysImageView = (ImageView) findViewById(R.id.buckysImageView);

        //Disable the button if the user has no camera
        if(!hasCamera())
            buckyButton.setEnabled(false);
    }

    //Check if the user has a camera
    private boolean hasCamera(){
        return getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_ANY);
    }

    //Launching the camera
    public void launchCamera(View view){
        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        //Take a picture and pass results along to onActivityResult
        startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
    }

    //If you want to return the image taken
    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if(requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK){
            //Get the photo
            Bundle extras = data.getExtras();
            Bitmap photo = (Bitmap) extras.get("data");
            buckysImageView.setImageBitmap(photo);
        }
    }

}

Post a Reply

Replies

Oldest  Newest  Rating
0 Gary Whitney · November 1, 2016
Bucky's videos were done several APIs and Studio versions ago.

The problem may be that you are trying to use ActionBarActivity which is apparently now depreciated.


http://stackoverflow.com/questions/29877692/why-was-actionbaractivity-deprecated
0 Pele Sengupta · November 13, 2016
I tried running fragment application created in Android Studio in my physical Device i.e. Samsung Galaxy J7(2016).But Couldn't able to run it in the device.Following message came - "Unfortunately Application name has stopped". There were no Errors indeed. But all the simple apps are running smoothly in the device. .I also tried clear catch and clear data option in my device and Reboot the device then too the problem remains the same.Please help me in this regard.Eagerly waiting for your reply.I followed video Tutorial 23 to 29 on fragments.
0 Cryce Truly · November 13, 2016
Thanks hoss!!
0 Jayson fetra · December 29, 2015
In my LG G3 4.4.2 , the photo didn't show up on the screen after i save the picture.
Can you help me pls?
0 Praneetha Boppa · June 7, 2015
App crashes saying "unfortunately, image_capture has stopped" in htc one M8.  I tried to debug this by printing something before startActivityforResult  and in onActivityResult, the one before startActivityforResult works but the one after doesnt work. Is there anything I can do. I also tried copying the source as it is here, but it does not help
0 Aaron Lau · June 30, 2015
Her Praneetha Boppa,

I was having this issue as well. Make sure that you did not declare another ImageView in the onCreate method, as it is already declared earlier in the code. I did this and Mine worked fine!
0 saadou almokdad · November 1, 2016
the photo didn't show up on the screen after i save the picture.
 help pls?

:(
  • 1

Java / Android Development

107,190 followers
About

Very popular language used to create desktop applications, website applets, and Android apps.

Links
Moderators
Bucky Roberts Administrator