Dulu kalau di rumah mati lampu kita sibuk cari lilin untuk memberikan sedikit penerangan agar rumah tidak gelap gulita. Pertanyaanya kalau dalam kondisi gelap susah cari lilinnya lalu yang kita lakukan adalah cari senter untuk memabantu kita melangkah agar tidak nubruk atau tersandung. Masalahnya rata-rata orang sekarang tidak punya senter sebagai gantinya kita menfaatkan HP Android kita menjadi senter dengan memanfaatkan lampu Flash Camera aplikasi yang digunakan biasanya aplikasi Flash Light.
Saya berfikir keren juga nih yang bisa buat aplikasi Flash Light. Kalau orang lain bisa tentu kita juga bisa itulah jargon yang para motivator sering berikan. Jujur saja saat ini untuk belajar sesuatu itu lebih mudah dibandingkan dengan jaman saya kuliah dulu. Kalau dulu untuk buat aplikasi seperti ini saya harus cari bukunya dan cari buku ini bukan perkara mudah. Kalau saat ini untuk belajar programming kita tinggal buka Google lalu ketikan keyword yang kita inginkan misalnya untuk membuat aplikasi senter flash light ini kita bisa ketikan “Android Flash Light Tutorial” akan muncullah link-link website yang membahas tentang ini tentunya sebagian besar artikelnya berbahasa inggris. Jadi untuk paham artikelnya kita wajib menguasai bahasa inggris, malukan kalau nyanyinya bahasa inggris tapi tidak tahu artinya. Jangan bisanya cuma I Love You dan I Love You too saja tapi harus banyak vocabulary yang harus kita kuasai apalagi sekarang banyak seminar-seminar IT yang mengundang Pembicara-pembicara dari Luar Negeri. Untuk itu adik-adik mahasiswa harus bisa bahasa inggris sebagai salah satu modal meraih masa depan yang lebih cerah.
Kalau mau jadi Developer Android yang sejati, wajib hukumnya untuk menguasai pemrograman Java. Karena bahasa java lah yang digunakan untuk membuat aplikasi Android. Kalau tidak ngerti java bisa pening nanti kepala kalu ketemu Error. Kalau dah pening carilah teman atau dosen yang bisa membantu kita. Para Dosen tentu senang kalau mahasiswanya aktif bertanya. Khusus untuk teman yang sering bantuin kita. Sekali-kali kalau ada rezeki lebih traktirlah dia misalnya traktir bakso, somay, sate atau nasi goreng. Bahasa Java juga saya sarankan untuk ditaklukan oleh adik-adik mahasiswa.
Kembali ke Laptop eh maksudnya ke Tutorial Membuat Aplikasi Flash Light. Sekarang mari kita mulai langkah-langkahnya
1. Buka Android Studio buat project baru dengan nama “Senter Flash Light”.
Klik Next terus sampai Finish
2. Kita butuh gambar untuk tombol on, tombol off dan bola lampu on, bola lampu off. Kalian bisa cari di internet untuk gambar-gambarnya.
Gambar | Nama file |
Tombol on | button_on.png |
Tombol off | button_off.png |
Bola lampu on | light_on.png |
Bola lampu off | light_off.png |
Pastekan file-file gambar diatas ke direktory res→drawable
3. kita juga perlu suara ketika tombol on atau tombol off disentuh. Bisa dicari juga diinternet yah. Mahasiswa pasti bisa… semangat..
4. pada directory res buat directory baru dengan nama raw pastekan file sound_on_off.mp3 ke directory raw.
5. Agar bisa mengakses atau menggunakan lampu flash light camera, kita perlu menambahkan permission di AndroidManifest.xml tambahkan permission berikut ini.
<uses-permission android:name="android.permission.CAMERA" /> <uses-permission android:name="android.permission.FLASHLIGHT" /> <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.flash" />
6. Sekarang kita kebagian user interfacenya, untuk itu pada directory res→layout edit activity_main.xml lalu ketikan kode berikut.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:background="#fff" tools:context="tutorialanadroid.agusharyanto.net.senterflashlight.MainActivity"> <ImageView android:id="@+id/imageViewLight" android:layout_width="256dp" android:layout_height="256dp" android:layout_centerHorizontal="true" android:src="@drawable/light_off" /> <ImageButton android:id="@+id/imageButton_on_off" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/imageViewLight" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" android:background="#fff" android:src="@drawable/button_on" /> </RelativeLayout>
7. sekarang mari kita ke otak aplikasinya, edit MainActivity.java lalu ketikan kode berikut.
package tutorialanadroid.agusharyanto.net.senterflashlight; import android.content.Context; import android.content.DialogInterface; import android.content.pm.PackageManager; import android.hardware.camera2.CameraManager; import android.media.MediaPlayer; import android.os.Build; import android.os.Bundle; import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.ImageButton; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private CameraManager cameraManager; private String cameraId; private ImageButton imangeButtonOnOff; private ImageView imageViewLight; private Boolean isTorchOn; private MediaPlayer mp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imangeButtonOnOff = (ImageButton) findViewById(R.id.imageButton_on_off); imageViewLight = (ImageView) findViewById(R.id.imageViewLight); isTorchOn = false; Boolean isFlashAvailable = getApplicationContext().getPackageManager() .hasSystemFeature(PackageManager.FEATURE_CAMERA_FLASH); if (!isFlashAvailable) { AlertDialog alert = new AlertDialog.Builder(MainActivity.this) .create(); alert.setTitle("Error !!"); alert.setMessage("Device anda tidak mendukung flash light!"); alert.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // closing the application finish(); System.exit(0); } }); alert.show(); return; } cameraManager = (CameraManager) getSystemService(Context.CAMERA_SERVICE); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { try { cameraId = cameraManager.getCameraIdList()[0]; }catch(Exception e){ e.printStackTrace(); } } imangeButtonOnOff.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { try { if (isTorchOn) { turnOffFlashLight(); isTorchOn = false; } else { turnOnFlashLight(); isTorchOn = true; } } catch (Exception e) { e.printStackTrace(); } } }); } public void turnOnFlashLight() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { cameraManager.setTorchMode(cameraId, true); playOnOffSound(); imangeButtonOnOff.setImageResource(R.drawable.button_off); imageViewLight.setImageResource(R.drawable.light_on); } } catch (Exception e) { e.printStackTrace(); } } public void turnOffFlashLight() { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { cameraManager.setTorchMode(cameraId, false); playOnOffSound(); imangeButtonOnOff.setImageResource(R.drawable.button_on); imageViewLight.setImageResource(R.drawable.light_off); } } catch (Exception e) { e.printStackTrace(); } } private void playOnOffSound(){ mp = MediaPlayer.create(MainActivity.this, R.raw.sound_on_off); mp.setOnCompletionListener(new MediaPlayer.OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { // TODO Auto-generated method stub mp.release(); } }); mp.start(); } @Override protected void onStop() { super.onStop(); if(isTorchOn){ turnOffFlashLight(); } } @Override protected void onPause() { super.onPause(); if(isTorchOn){ turnOffFlashLight(); } } @Override protected void onResume() { super.onResume(); if(isTorchOn){ turnOnFlashLight(); } } }
8. Kalau kita lihat kode diatas belum menerapkan self permission jadi agar dapat run dengan baik di Android versi Marshmallow keatas kita perlu merubah targetSdkVersion nya menjadi 21 pada file build.gradle (module:app)
9. Setelah semua selesai mari kita run projectnya. Sentuh tombol hijau untuk menyalakan lampu Flash Light.
Untuk pdfnya bisa lihat disini
Semoga bermanfaat
Salam Hangat Developer Android
Agus Haryanto
Referensi
https://www.androidtutorialpoint.com/
mas boleh minta projectnya… terima kasih sebelumnya
puteripratiwi46@gmail.com
Terima kasih buat infonya
Mantap pak, langsung saya praktekan hehe
kalau untuk android 14 (ics) bagai mana kang?
tolong pencerahannya