31 Aralık 2016 Cumartesi

Android Flashlight



Arkadaşlar Merhabalar ,
Bugünkü yazımda basit bir android flashlight uygulamasının kodlarını  göstereceğim. . Android studioda bir proje oluşturun ve aşağıdaki  iki resmi projede yer alan drawable klasörünün içine atın.  Ben switch_of ve switch_on adları ile resimleri belirttiğim klasöre attım.(sürükleyip bırakabilirsiniz veya proje klasörünü açın->app->src->main->res->drawable)












Projeye bir tane ImageButton koydum ve id olarak ta  BtnSwitch dedim.  Butona tıklayınca tik sesini çıkarması için , projede res dosyasının altında bir raw adında klasör oluşturdum ve internetten indirdiğim click.mp3 adında bir sesi oraya attım. Bunları kodu daha iyi anlamanız için söyledim. Üzerine kısa kısa ve basit ingilizce notlar da düştüm. Bundan sonrası içinde koda bakabilirsiniz.(raw klasörünü oluşturmak için res klasörüne sağ tıklayıp raw adında klasör oluşturun).

izinleri ekleyelim.
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />

package com.example.lenovo.flashlight;
import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.pm.PackageManager;
import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.media.MediaPlayer;
import android.media.MediaPlayer.OnCompletionListener;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageButton;



public class MainActivity extends Activity {


    ImageButton
SwitchButon;
   
private Camera camera;

   
private boolean Flash_Open;
   
private boolean HasFlash;

    Parameters
params;
    MediaPlayer
mp;


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


       
//decrelations
       
SwitchButon = (ImageButton) findViewById(R.id.BtnSwitch);
       
mp=MediaPlayer.create(this, R.raw.click);

       
HasFlash = getApplicationContext().getPackageManager().hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH);

       
//if device has no flash
       
if (!HasFlash) {
            AlertDialog alert =
new AlertDialog.Builder(MainActivity.this).create();
            alert.setTitle(
"HATA");
            alert.setMessage(
"Bu aygıt Flash desteklemiyor");
            alert.setButton(
"Tamam", new DialogInterface.OnClickListener() {
               
public void onClick(DialogInterface dialog, int which) {

                    finish();
                }
            });
            alert.show();
           
return;
        }

       
// open camera
       
opencamera();

       
//set the İmageButton image according to Flash (open or close)?
       
Control();


       
SwitchButon.setOnClickListener(new View.OnClickListener() {

           
public void onClick(View v)
            {
               
if (Flash_Open) { // if flash open
                   
CloseFlash(); // close the flash

               
}
               
else
               
{
                 
// if flash close , open the flash
                   
OpenFlash();
                }

               
mp.start();
            }
        });
    }

   
//open camera
   
private void opencamera()
    {
       
if (camera == null)
        {
           
camera = Camera.open();
           
params = camera.getParameters();
        }
    }

   
// open flash
   
private void OpenFlash()
    {
       
if (!Flash_Open)
        {
           
if (camera == null || params == null)
            {
               
return;
            }
           
params = camera.getParameters();
           
params.setFlashMode(Parameters.FLASH_MODE_TORCH);
           
camera.setParameters(params);
           
camera.startPreview();
           
Flash_Open = true;

      
// changing the imagebutton image
           
Control();
        }
    }

   
//close the flash

   
private void CloseFlash()
    {
       
if (Flash_Open)
        {
           
if (camera == null || params == null)
            {
               
return;
            }
           
params = camera.getParameters();
           
params.setFlashMode(Parameters.FLASH_MODE_OFF);
           
camera.setParameters(params);
           
camera.stopPreview();
           
Flash_Open = false;

        
// changing imagebutton image
           
Control();
        }
    }

   
//changing imagebutton image
   
private void Control()
    {
       
if(Flash_Open)
        {
           
SwitchButon.setImageResource(R.drawable.switch_on);
        }
else
       
{
           
SwitchButon.setImageResource(R.drawable.switch_of
);
        }
    }

}








Bu ve başka projeleri kaynak kodları ile beraber  github adresim 
https://github.com/bhtyrsm   den bulabilirsini.
 
Kolay Gelsin....






Hiç yorum yok:

Yorum Gönder

DataTable To List Object - C#

Merhaba Arkadaşlar , Daha önce kullandığım kısa bir kod parçasını sizinlede paylaşmak istedim.  Elimizde bulunan bir Datatable ı nasıl ...

Popüler Yayınlar