SlideShare a Scribd company logo
1 of 9
Download to read offline
Tutorial Android Membuat Aplikasi Senter Flash Light
Agus Haryanto
http://agusharyanto.net
agus.superwriter@gismart.com
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. Maka project otomatis tercreate.
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..
Suara Nama file
Suara saat button on
atau button of
disentuh
sound_on_off.mp3
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();
}
}
}
7. 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)
8. Setelah semua selesai mari kita run projectnya. Sentuh tombol hijau untuk menyalakan lampu
Flash Light.
Referensi :
https://www.androidtutorialpoint.com/

More Related Content

What's hot

Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbcreatorb dev
 
Memulai coding-android-dengan-android-studio
Memulai coding-android-dengan-android-studioMemulai coding-android-dengan-android-studio
Memulai coding-android-dengan-android-studioslempase
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaslempase
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLitecreatorb dev
 
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android SederhanaTutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhanacreatorb dev
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android KerenHangga Aji Sayekti
 
Membuat sendiri aplikasi android
Membuat sendiri aplikasi androidMembuat sendiri aplikasi android
Membuat sendiri aplikasi androidMdeno Akbar
 
Modul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android SudaryatnoModul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android SudaryatnoYatno Sudar
 
Tutorial Android Template aplikasi peta interaktif
Tutorial Android Template aplikasi peta interaktifTutorial Android Template aplikasi peta interaktif
Tutorial Android Template aplikasi peta interaktifToni Setyawan
 
Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Candra Adi Putra
 
Tutorial Android Template Aplikasi Edukasi
Tutorial Android Template Aplikasi EdukasiTutorial Android Template Aplikasi Edukasi
Tutorial Android Template Aplikasi EdukasiToni Setyawan
 
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Muhammad Yusuf
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android ProgrammingWirat Mojo
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase AndroidIrfan Fediyanto
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyAgus Haryanto
 
Modul 7 integrasi aplikasi dengan facebook api menggunakan intel xdk
Modul 7   integrasi aplikasi dengan facebook api menggunakan intel xdkModul 7   integrasi aplikasi dengan facebook api menggunakan intel xdk
Modul 7 integrasi aplikasi dengan facebook api menggunakan intel xdkMuhammad Yusuf
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoYatno Sudar
 
Membuat aplikasi quiz android dengan Intel XDK
Membuat aplikasi quiz android dengan Intel XDKMembuat aplikasi quiz android dengan Intel XDK
Membuat aplikasi quiz android dengan Intel XDKNur Rohman
 
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...Muhammad Yusuf
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaRobby Febrian
 

What's hot (20)

Tutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorbTutorial Cara Membuat Aplikasi RSS Android - creatorb
Tutorial Cara Membuat Aplikasi RSS Android - creatorb
 
Memulai coding-android-dengan-android-studio
Memulai coding-android-dengan-android-studioMemulai coding-android-dengan-android-studio
Memulai coding-android-dengan-android-studio
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhana
 
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLiteCara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
Cara Membuat Aplikasi Android Resep Masakan Sederhana Android-SQLite
 
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android SederhanaTutorial Lengkap Cara Membuat Aplikasi Android Sederhana
Tutorial Lengkap Cara Membuat Aplikasi Android Sederhana
 
Membuat Aplikasi Android Keren
Membuat Aplikasi Android KerenMembuat Aplikasi Android Keren
Membuat Aplikasi Android Keren
 
Membuat sendiri aplikasi android
Membuat sendiri aplikasi androidMembuat sendiri aplikasi android
Membuat sendiri aplikasi android
 
Modul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android SudaryatnoModul praktikum 17 - Android Sudaryatno
Modul praktikum 17 - Android Sudaryatno
 
Tutorial Android Template aplikasi peta interaktif
Tutorial Android Template aplikasi peta interaktifTutorial Android Template aplikasi peta interaktif
Tutorial Android Template aplikasi peta interaktif
 
Ebook tutorial pemrograman android
Ebook tutorial pemrograman android Ebook tutorial pemrograman android
Ebook tutorial pemrograman android
 
Tutorial Android Template Aplikasi Edukasi
Tutorial Android Template Aplikasi EdukasiTutorial Android Template Aplikasi Edukasi
Tutorial Android Template Aplikasi Edukasi
 
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2Modul 5   pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
Modul 5 pengembangan aplikasi mobile learning menggunakan intel xdk sesi 2
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming
 
Panduan Memulai Firebase Android
Panduan Memulai Firebase AndroidPanduan Memulai Firebase Android
Panduan Memulai Firebase Android
 
Belajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan VolleyBelajar Android PHP MySQL Login dengan Volley
Belajar Android PHP MySQL Login dengan Volley
 
Modul 7 integrasi aplikasi dengan facebook api menggunakan intel xdk
Modul 7   integrasi aplikasi dengan facebook api menggunakan intel xdkModul 7   integrasi aplikasi dengan facebook api menggunakan intel xdk
Modul 7 integrasi aplikasi dengan facebook api menggunakan intel xdk
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
 
Membuat aplikasi quiz android dengan Intel XDK
Membuat aplikasi quiz android dengan Intel XDKMembuat aplikasi quiz android dengan Intel XDK
Membuat aplikasi quiz android dengan Intel XDK
 
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...
Modul Intel XDK Workshop ver 1.0 Sept 2013 - Modul 4 - Pengembangan Aplikasi ...
 
Android membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhanaAndroid membuat-aplikasi-sederhana
Android membuat-aplikasi-sederhana
 

Similar to Tutorial Android Membuat Aplikasi senter Flash light

Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Ferry Sha
 
7 Riset Sebelum Nge-Root Hape Android
7 Riset Sebelum Nge-Root Hape Android7 Riset Sebelum Nge-Root Hape Android
7 Riset Sebelum Nge-Root Hape Androidcumanandroid
 
236449232 tutorial-agc-dojo
236449232 tutorial-agc-dojo236449232 tutorial-agc-dojo
236449232 tutorial-agc-dojoMochamad G
 
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorSeri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorIki Mazadi
 
Executive summary
Executive summaryExecutive summary
Executive summaryFajar Rizki
 
Panduan membuat-ebook
Panduan membuat-ebookPanduan membuat-ebook
Panduan membuat-ebookLex Naibaho
 
Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipseseffy kusuma
 
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Android
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape AndroidPerbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Android
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Androidcumanandroid
 
Desainer modern indonesia
Desainer modern indonesiaDesainer modern indonesia
Desainer modern indonesiaAlif Aufi
 
Modul 1 pengenalan
Modul 1  pengenalanModul 1  pengenalan
Modul 1 pengenalanFardian Syah
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoYatno Sudar
 
Hadiah untuk programmer hilman ramadhan
Hadiah untuk programmer   hilman ramadhanHadiah untuk programmer   hilman ramadhan
Hadiah untuk programmer hilman ramadhanFajar Baskoro
 
Cara mengubah aplikasi menjadi portable
Cara mengubah aplikasi menjadi portableCara mengubah aplikasi menjadi portable
Cara mengubah aplikasi menjadi portableHeri Afrizal
 
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#Muflih Negara
 
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorSeri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorIki Mazadi
 

Similar to Tutorial Android Membuat Aplikasi senter Flash light (20)

Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
Androidstudio membuataplikasiandroidsedrhana-150112201253-conversion-gate01
 
7 Riset Sebelum Nge-Root Hape Android
7 Riset Sebelum Nge-Root Hape Android7 Riset Sebelum Nge-Root Hape Android
7 Riset Sebelum Nge-Root Hape Android
 
236449232 tutorial-agc-dojo
236449232 tutorial-agc-dojo236449232 tutorial-agc-dojo
236449232 tutorial-agc-dojo
 
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventorSeri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
Seri 7 : Mengakses aplikasi kamera dgn intent pada app inventor
 
Executive summary
Executive summaryExecutive summary
Executive summary
 
Panduan membuat-ebook
Panduan membuat-ebookPanduan membuat-ebook
Panduan membuat-ebook
 
Membuathalutamaeclipse
MembuathalutamaeclipseMembuathalutamaeclipse
Membuathalutamaeclipse
 
D0215610(muh ikram s)
D0215610(muh ikram s)D0215610(muh ikram s)
D0215610(muh ikram s)
 
WSOK EMagazine - Part 2
WSOK EMagazine - Part 2WSOK EMagazine - Part 2
WSOK EMagazine - Part 2
 
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Android
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape AndroidPerbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Android
Perbaikan - 7 Riset yang Perlu di Lakukan Sebelum ngeRoot Hape Android
 
Project
ProjectProject
Project
 
Bab 1 pengenalan-adobe-flash
Bab 1 pengenalan-adobe-flashBab 1 pengenalan-adobe-flash
Bab 1 pengenalan-adobe-flash
 
Desainer modern indonesia
Desainer modern indonesiaDesainer modern indonesia
Desainer modern indonesia
 
Modul 1 pengenalan
Modul 1  pengenalanModul 1  pengenalan
Modul 1 pengenalan
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
 
Hadiah untuk programmer hilman ramadhan
Hadiah untuk programmer   hilman ramadhanHadiah untuk programmer   hilman ramadhan
Hadiah untuk programmer hilman ramadhan
 
Cara mengubah aplikasi menjadi portable
Cara mengubah aplikasi menjadi portableCara mengubah aplikasi menjadi portable
Cara mengubah aplikasi menjadi portable
 
X
XX
X
 
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#
Mini Game, Length Unit's Converter + Safety System Using Visual Studio C#
 
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorSeri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
 

More from Agus Haryanto

Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaAgus Haryanto
 
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewBelajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewAgus Haryanto
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAgus Haryanto
 
Sistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranSistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranAgus Haryanto
 
Seminar Android as your Smart Future
Seminar Android as your Smart FutureSeminar Android as your Smart Future
Seminar Android as your Smart FutureAgus Haryanto
 
Android Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAndroid Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAgus Haryanto
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidAgus Haryanto
 
Android Radio streaming
Android Radio streamingAndroid Radio streaming
Android Radio streamingAgus Haryanto
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Agus Haryanto
 
Android fast track_course
Android fast track_courseAndroid fast track_course
Android fast track_courseAgus Haryanto
 

More from Agus Haryanto (10)

Belajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data MahasiswaBelajar Android Studio CRUD Data Mahasiswa
Belajar Android Studio CRUD Data Mahasiswa
 
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card ViewBelajar Android Studio Material Design Penggunaan RecyclerView dan Card View
Belajar Android Studio Material Design Penggunaan RecyclerView dan Card View
 
Android Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySqlAndroid Fast Track CRUD Android PHP MySql
Android Fast Track CRUD Android PHP MySql
 
Sistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan KebakaranSistem Informasi Pelaporan Kebakaran
Sistem Informasi Pelaporan Kebakaran
 
Seminar Android as your Smart Future
Seminar Android as your Smart FutureSeminar Android as your Smart Future
Seminar Android as your Smart Future
 
Android Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation DrawerAndroid Sliding Menu dengan Navigation Drawer
Android Sliding Menu dengan Navigation Drawer
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi android
 
Android Radio streaming
Android Radio streamingAndroid Radio streaming
Android Radio streaming
 
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
Android Fast Track - Database SQLite (Kamus Tiga Bahasa)
 
Android fast track_course
Android fast track_courseAndroid fast track_course
Android fast track_course
 

Recently uploaded

Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdf
Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdfPermohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdf
Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdfDadang Solihin
 
Jalur Rempah Pada Masa Hindu Buddha.pptx
Jalur Rempah Pada Masa Hindu Buddha.pptxJalur Rempah Pada Masa Hindu Buddha.pptx
Jalur Rempah Pada Masa Hindu Buddha.pptxPutriSoniaAyu
 
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)RezaWahyuni6
 
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...AnnisaArianti2
 
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docxaljabarkoho
 
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptxfurqanridha
 
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf
 
Fungsi Manajemen Public Relations dan Terapannya
Fungsi Manajemen Public Relations dan TerapannyaFungsi Manajemen Public Relations dan Terapannya
Fungsi Manajemen Public Relations dan TerapannyaAdePutraTunggali
 
Menyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daMenyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daWijaya Kusumah
 
slaid penerangan UPUonline 2024 UPU 2024
slaid penerangan UPUonline  2024 UPU 2024slaid penerangan UPUonline  2024 UPU 2024
slaid penerangan UPUonline 2024 UPU 2024ssuser82320b
 
K1_pengantar komunikasi pendidikan (1).pdf
K1_pengantar komunikasi pendidikan (1).pdfK1_pengantar komunikasi pendidikan (1).pdf
K1_pengantar komunikasi pendidikan (1).pdf2210130220024
 
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridAksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridDonyAndriSetiawan
 
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUTeric214073
 
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptx
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptxUTS CT (ppg prajabatan gelombang 1 tahun 2023).pptx
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptxYusufAmirudin3
 
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxPPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxRestiana8
 
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridAksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridYusnelMarni
 
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1LailaTulangRusukMaha
 
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdf
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdfPTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdf
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdfSMP Hang Kasturi, Batam
 

Recently uploaded (20)

Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdf
Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdfPermohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdf
Permohonan Pembatalan Keputusan Komisi Pemilihan Umum No. 360 Tahun 2024.pdf
 
Persiapandalam Negosiasi dan Loby .pptx
Persiapandalam  Negosiasi dan Loby .pptxPersiapandalam  Negosiasi dan Loby .pptx
Persiapandalam Negosiasi dan Loby .pptx
 
Jalur Rempah Pada Masa Hindu Buddha.pptx
Jalur Rempah Pada Masa Hindu Buddha.pptxJalur Rempah Pada Masa Hindu Buddha.pptx
Jalur Rempah Pada Masa Hindu Buddha.pptx
 
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)
Materi Pertemuan 1.pdf (Pengantar Pendidikan Pancasila di Perguruan Tingg)
 
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...
Lembaga Pendidikan Tenaga Kependidikan (LPTK) sebagai pencetak calon guru pro...
 
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptxDEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
DEFINISI DAN KONTEKS MANAJEMEN ISU DAN KRISIS.pptx
 
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
2024 - PSAJ PAI SMK Kisi-kisi Utama.docx
 
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx
,.,,.,.,.,.,.,.,.,.,.,.,Swamedikasi.pptx
 
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
Aminullah Assagaf_Regresi Lengkap 19_8 Nov 2023_Inc. Data panel & Perbandinga...
 
Fungsi Manajemen Public Relations dan Terapannya
Fungsi Manajemen Public Relations dan TerapannyaFungsi Manajemen Public Relations dan Terapannya
Fungsi Manajemen Public Relations dan Terapannya
 
Menyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus daMenyiapkan Guru Masa Depan yang Bagus da
Menyiapkan Guru Masa Depan yang Bagus da
 
slaid penerangan UPUonline 2024 UPU 2024
slaid penerangan UPUonline  2024 UPU 2024slaid penerangan UPUonline  2024 UPU 2024
slaid penerangan UPUonline 2024 UPU 2024
 
K1_pengantar komunikasi pendidikan (1).pdf
K1_pengantar komunikasi pendidikan (1).pdfK1_pengantar komunikasi pendidikan (1).pdf
K1_pengantar komunikasi pendidikan (1).pdf
 
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada MuridAksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
Aksi Nyata Guru Penggerak Modul 3.3. Program Berdampak Positif pada Murid
 
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
1.-Materi-Prof.-Bambang-1.ppt PENYEBAB GAGAL GINJAL AKUT
 
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptx
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptxUTS CT (ppg prajabatan gelombang 1 tahun 2023).pptx
UTS CT (ppg prajabatan gelombang 1 tahun 2023).pptx
 
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptxPPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
PPT GABUNGAN 1 kelas 9 gabungan tabung dengan setengah bola.pptx
 
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan muridAksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
Aksi Nyata Modul 3.3.pdf tentang kepemimpinan murid
 
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
Power point Materi Pembelajaran Kelas 3 TEMA 7 SUB 2 PB 1
 
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdf
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdfPTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdf
PTS Genap 7, 8 & US 9 SMP 51 dan HK 2024.pdf
 

Tutorial Android Membuat Aplikasi senter Flash light

  • 1. Tutorial Android Membuat Aplikasi Senter Flash Light Agus Haryanto http://agusharyanto.net agus.superwriter@gismart.com
  • 2. 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”.
  • 3. Klik Next terus sampai Finish. Maka project otomatis tercreate. 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.. Suara Nama file Suara saat button on atau button of disentuh sound_on_off.mp3 4. pada directory res buat directory baru dengan nama raw pastekan file sound_on_off.mp3 ke directory raw.
  • 4. 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;
  • 5. 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();
  • 7. 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(); } }
  • 8. @Override protected void onResume() { super.onResume(); if(isTorchOn){ turnOnFlashLight(); } } } 7. 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) 8. Setelah semua selesai mari kita run projectnya. Sentuh tombol hijau untuk menyalakan lampu Flash Light.