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.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....