Skip to content

Instantly share code, notes, and snippets.

@yasinbaran
Created December 23, 2014 01:16
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save yasinbaran/ce3fad6aa173e5e028df to your computer and use it in GitHub Desktop.
Save yasinbaran/ce3fad6aa173e5e028df to your computer and use it in GitHub Desktop.
package com.example.deneme;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.Rect;
import android.graphics.YuvImage;
import android.graphics.drawable.BitmapDrawable;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.PictureCallback;
import android.hardware.Camera.ShutterCallback;
import android.os.Environment;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.View;
import android.view.SurfaceView;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.Toast;
public class MainActivity extends Activity implements SurfaceHolder.Callback {
private Camera mCamera;
private Button fCekBtn;
private Button share;
private Button SyhBeyz;
private Button Kaydet;
private Button Gri;
private Button Sepya;
private SurfaceView srfView;
private PackageManager pm;
Bitmap bm=null;
LayoutInflater controlInflater=null;
private Boolean hasCamera = false;
ImageView img;
@SuppressWarnings("deprecation")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fCekBtn = (Button) findViewById(R.id.button1);
share=(Button)findViewById(R.id.button3);
srfView = (SurfaceView) findViewById(R.id.surfaceView1);
SyhBeyz=(Button)findViewById(R.id.button5);
Gri=(Button)findViewById(R.id.button8);
Sepya=(Button)findViewById(R.id.button);
Kaydet=(Button)findViewById(R.id.button2);
img= (ImageView) findViewById(R.id.imageView);
/* Ekstradan activitye gerek yok.Bununla bağlantı kuruluyor*/
controlInflater = LayoutInflater.from(getBaseContext());
View viewControl = controlInflater.inflate(R.layout.activity_main_activity2, null);
LayoutParams layoutParamsControl = new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.FILL_PARENT);
pm = this.getPackageManager();
if(pm.hasSystemFeature(PackageManager.FEATURE_CAMERA)){
hasCamera = true;
SurfaceHolder holder = srfView.getHolder();
holder.addCallback(this);
holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
holder.setFixedSize(600, 400);
}else{
Log.v("uyar�", " *** kamera mevcut de�il ! ");
}
fCekBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(hasCamera){
takePicture();
}else{
Log.v("uyar�", " *** kamera mevcut de�il foto�raf �ekilemez");
}
}
});
Kaydet.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
share.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
sendIntent.putExtra(Intent.EXTRA_STREAM,"");
sendIntent.setType("image/*");
startActivity(Intent.createChooser(sendIntent, "�ununla Payla�:"));
}
});
SyhBeyz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
Gri.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
Sepya.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public void surfaceChanged(SurfaceHolder arg0, int arg1, int arg2, int arg3) {
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mCamera= Camera.open();
try {
mCamera.setDisplayOrientation(90);
mCamera.setPreviewDisplay(holder);
mCamera.startPreview();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void surfaceDestroyed(SurfaceHolder arg0) {
mCamera.stopPreview();
mCamera.release();
}
private void takePicture(){
mCamera.takePicture(_shutterCallBack, _rawCallBack, _jpgCallBack);
}
ShutterCallback _shutterCallBack = new ShutterCallback(){
@Override
public void onShutter() {
//deklans�r kapand���nda yap�lacak i�lem
}
};
PictureCallback _rawCallBack=new PictureCallback(){
@Override
public void onPictureTaken(byte[] arg0, Camera arg1) {
//g�r�nt�n�n raw verisiyle yap�lacak i�lem
}
};
PictureCallback _jpgCallBack = new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
try{
bm=BitmapFactory.decodeByteArray(data,0,data.length);//data bitmapa dönüştürüldü
findViewById(R.id.imageView).setVisibility(View.VISIBLE);//imageview görünür hale getirildi
img= (ImageView)findViewById(R.id.imageView);
img.setImageBitmap(bm);//imgeviewe bitmapa dönüştürülen data atandı
}
catch (Exception e){
e.printStackTrace();
}
}
};
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment