Modul Android Studio 2016-1
January 3, 2017 | Author: Muhammad Fikri Fadhil | Category: N/A
Short Description
Modul Android Studio 2016...
Description
Pengenalan Android Android adalah sistem operasi berbasis Linux yang dirancang untuk perangkat bergerak layar sentuh seperti telepon pintar dankomputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaanperangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008. Antarmuka
pengguna Android
umumnya
berupa manipulasi
langsung,
menggunakan gerakan sentuh yang serupa dengan tindakan nyata, misalnya menggeser, mengetuk, dan mencubit untuk memanipulasi objek di layar, sertapapan ketik virtual untuk menulis teks. Selain perangkat layar sentuh, Google juga telah mengembangkan Android TV untuk televisi, Android Auto untuk mobil, dan Android Wear untuk jam tangan, masing-masingnya memiliki antarmuka
pengguna
yang
berbeda.
Varian
Android
juga
digunakan
pada komputer jinjing,konsol permainan, kamera digital, dan peralatan elektronik lainnya. Android adalah sistem operasi dengan sumber terbuka, dan Google merilis kodenya di bawah Lisensi Apache. Kode dengan sumber terbuka dan lisensi perizinan pada Android memungkinkan perangkat lunak untuk dimodifikasi secara bebas dan didistribusikan oleh para pembuat perangkat, operator nirkabel, dan pengembang aplikasi. Selain itu, Android memiliki sejumlah besar komunitas pengembang aplikasi (apps) yang memperluas fungsionalitas perangkat, umumnya ditulis dalam versi kustomisasi bahasa pemrograman Java. Pada bulan Oktober 2013, ada lebih dari satu juta aplikasi yang tersedia untuk Android, dan sekitar 50 miliar aplikasi telah diunduh dari Google Play, toko aplikasi utama Android. Sebuah survei pada bulan April-Mei 2013 menemukan bahwa Android adalah platform paling populer bagi para pengembang, digunakan oleh 71% pengembang aplikasi bergerak. Di Google I/O 2014, Google melaporkan terdapat
lebih dari satu miliar pengguna aktif bulanan Android, meningkat dari 583 juta pada bulan Juni 2013. Faktor-faktor di atas telah memberikan kontribusi terhadap perkembangan Android, menjadikannya sebagai sistem operasi telepon pintar yang paling banyak digunakan di dunia, mengalahkan Symbian pada tahun 2010. Android juga menjadi pilihan bagi perusahaan teknologi yang menginginkan sistem operasi berbiaya rendah, bisa dikustomisasi, dan ringan untuk perangkat berteknologi tinggi tanpa harus mengembangkannya dari awal. Sifat Android yang terbuka juga telah mendorong munculnya sejumlah besar komunitas pengembang aplikasi untuk menggunakan kode sumber terbuka sebagai dasar proyek pembuatan aplikasi, dengan menambahkan fitur-fitur baru bagi pengguna tingkat lanjut atau mengoperasikan Android pada perangkat yang secara resmi dirilis dengan menggunakan sistem operasi lain. Pada November 2013, Android menguasai pangsa pasar telepon pintar global, yang dipimpin oleh produk-produk Samsung, dengan persentase 64% pada bulan Maret 2013. Pada Juli 2013, terdapat 11.868 perangkat Android berbeda dengan beragam versi. Keberhasilan sistem operasi ini juga menjadikannya sebagai target ligitasi paten "perang telepon pintar" antar perusahaan-perusahaan teknologi. Hingga bulan Mei 2013, total 900 juta perangkat Android telah diaktifkan di seluruh dunia, dan 48 miliar aplikasi telah dipasang dari Google Play.
Sejarah Android Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003 oleh Andy Rubin, Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya". Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi
pasar
telepon
pintar
untuk
menyaingi Symbian dan Windows
Mobile (iPhone Apple belum dirilis pada saat itu). Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler. Masih pada tahun yang sama, Rubin kehabisan uang. Steve Perlman, seorang teman dekat Rubin, meminjaminya $10.000 tunai dan menolak tawaran saham di perusahaan. Google mengakuisisi Android Inc. pada tanggal 17 Agustus 2005, menjadikannya sebagai anak perusahaan yang sepenuhnya dimiliki oleh Google. Pendiri Android Inc. seperti Rubin, Miner dan White tetap bekerja di perusahaan setelah diakuisisi oleh Google. Setelah itu, tidak banyak yang diketahui tentang perkembangan Android Inc., namun banyak anggapan yang menyatakan bahwa Google berencana untuk memasuki pasar telepon seluler dengan tindakannya ini. Di Google, tim yang dipimpin oleh Rubin mulai mengembangkan platform perangkat seluler dengan menggunakan kernel Linux. Google memasarkan platform tersebut kepada produsen perangkat seluler dan operator nirkabel, dengan janji bahwa mereka menyediakan sistem yang fleksibel dan bisa diperbarui. Google telah memilih beberapa mitra perusahaan perangkat lunak dan perangkat keras, serta mengisyaratkan kepada operator seluler bahwa kerjasama ini terbuka bagi siapapun yang ingin berpartisipasi.
Spekulasi tentang niat Google untuk memasuki pasar komunikasi seluler terus berkembang
hingga
bulan
Desember
2006.
BBC dan Wall
Street
Journal melaporkan bahwa Google sedang bekerja keras untuk menyertakan aplikasi dan mesin pencarinya di perangkat seluler. Berbagai media cetak dan media daring mengabarkan bahwa Google sedang mengembangkan perangkat seluler dengan merek Google. Beberapa di antaranya berspekulasi bahwa Google telah menentukan spesifikasi teknisnya, termasuk produsen telepon seluler dan operator jaringan. Pada bulan Desember 2007, Information Week melaporkan bahwa Google telah mengajukan beberapa aplikasi paten di bidang telepon seluler. Pada tanggal 5 November 2007, Open Handset Alliance (OHA) didirikan. OHA adalah
konsorsium dari perusahaan-perusahaan
teknologi seperti Google,
produsen perangkat seluler seperti HTC, Sony dan Samsung, operator nirkabel seperti Sprint
Nextel dan T-Mobile,
Qualcomm dan Texas
Instruments.
serta
produsen
chipset
seperti
OHA
sendiri
bertujuan
untuk
mengembangkan standar terbuka bagi perangkat seluler. Saat itu, Android diresmikan sebagai produk pertamanya; sebuah platform perangkat seluler yang menggunakan kernel Linux versi 2.6. Telepon seluler komersial pertama yang menggunakan sistem operasi Android adalah HTC Dream, yang diluncurkan pada 22 Oktober 2008. Pada tahun 2010, Google merilis seri Nexus; perangkat telepon pintar dan tablet dengan sistem operasi Android yang diproduksi oleh mitra produsen telepon seluler seperti HTC, LG, dan Samsung. HTC bekerjasama dengan Google dalam merilis produk telepon pintar Nexus pertama, yakni Nexus One. Seri ini telah diperbarui dengan perangkat yang lebih baru, misalnya telepon pintar Nexus 4 dan tablet Nexus 10 yang diproduksi oleh LG dan Samsung. Pada 15 Oktober 2014, Google mengumumkan Nexus 6 dan Nexus 9 yang diproduksi oleh Motorola dan HTC. Pada 13 Maret 2013, Larry Page mengumumkan dalam postingan blognya bahwa Andy Rubin telah pindah dari divisi Android untuk mengerjakan proyekproyek baru di Google. Ia digantikan oleh Sundar Pichai, yang sebelumnya
menjabat sebagai kepala divisi Google Chrome, yang mengembangkan Chrome OS. Sejak tahun 2008, Android secara bertahap telah melakukan sejumlah pembaruan untuk meningkatkan kinerja sistem operasi, menambahkan fitur baru, dan memperbaiki bug yang terdapat pada versi sebelumnya. Setiap versi utama yang dirilis dinamakan secara alfabetis berdasarkan nama-nama makanan pencuci mulut atau cemilan bergula; misalnya, versi 1.5 bernama Cupcake, yang kemudian diikuti oleh versi 1.6 Donut. Versi terbaru adalah 5.0 Lollipop, yang dirilis pada 15 Oktober 2014. Tabel di bawah ini menampilkan data perkembangan Android di dunia.
Versi
Nama Kode
6.0
Marshmallow
19 Agustus 2015
5.x
Lollipop
15 Oktober 2014
4.4.x
KitKat
31 Oktober 2013
4.3.x
Jelly Bean
24 Juli 2013
4.2.x
Jelly Bean
13 November 2012
4.1.x
Jelly Bean
9 Juli 2012
4.0.3 – 4.0.4
Ice Cream Sandwich
3.2
Honeycomb
15 Juli 2011
3.1
Honeycomb
10 Mei 2011
2.3 – 2.3.7
Gingerbread
9 Februari 2011
2.3 – 2.3.2
Gingerbread
6 Desember 2010
2.2
Froyo
20 Mei 2010
2.0 – 2.1
Éclair
26 Oktober 2009
1.6
Donut
15 September 2009
1.5
Cupcake
Tabel 1. Perkembangan Android
Tanggal Rilis
16 Desember 2011
30 April 2009
Kapasitas Perangkat Komputer Berikut ini beberapa persyaratan sistem untuk menggunakan Android Studio : No.
Sistem Operasi
Spesfikasi
1.
Windows
- Microsoft Windows 8/7/Vista/2003 (32 Bit atau 64 Bit) - RAM minimum 2 GB, Rekomendasi 4 GB - Disk kosong 500 MB - Sedikitnya 16 GB untuk Android SDK, Emulator system images dan caches - Java Development Kit (JDK) 7 atau yang lebih tinggi - Resolusi minimum 1280 x 800
2.
OSX
- Mac OS X 10.8.5 atau yang lebih tinggi, up to 10.10 to up 10.10.1 up 10.10.2 (Yosemite) - RAM minimum 2 GB, Rekomendasi 4 GB - Disk kosong 500 MB - Sedikitnya 16 GB untuk Android SDK, Emulator system images dan caches - Java Development Kit (JDK) 7 atau yang lebih tinggi - Resolusi minimum 1280 x 800
3.
GNU/LINUX
- GNOME atau KDE atau Unity Desktop pada Ubuntu atau Fedora - RAM minimum 2 GB, Rekomendasi 4 GB - Disk kosong 500 MB - Sedikitnya 16 GB untuk Android SDK, Emulator system images dan caches - Java Development Kit (JDK) 7 atau yang lebih tinggi - Resolusi minimum 1280 x 800 Tabel 2. Perangkat Komputer
Instalasi Android Studio Untuk dapat menggunakan aplikasi Android Studio ini ada beberapa software yang diperlukan yaitu JDK (Java Development Kit) minimum versi 7 atau lebih tinggi, cara sebagai berikut : 1. Install Java Development Kit (JDK) versi 8 – 64 Bit Berikut langkah-langkah untuk melakukan instalasi software pada windows : a. Download software JDK melalui link sebagai berikut : http://www.oracle.com/technetwork/java/javase/downloads/jdk8downloads-2133151.html
b. Proses install JDK dan ingat path dimana file java disimpan.
Gambar 1. File JDK di Windows
Gambar 2. Proses instalasi JDK
Gambar 3. Path dimana file disimpan
Gambar 4. File jrel disimpan
Gambar 5. Proses Instaling Java
Gambar 6. Instalasi JDK Selesai
c. Klik tombol windows dan type Environment Variable ! Klik Edit the system Environment Variable. Pada jendela Window akan tampil System Properties. Kemudian klik Environment Variable.
Gambar 7. Widows Explorer
Gambar 8. System and Security
Gambar 9. System Properties
Gambar 10. Environment Variables
Gambar 11. New User Variable d. Pada kolom variable name tulislah JAVA_HOME lihat lokasi dimana path java di install. Dan kolom variable value isilah path lokasi, contohnya C:\Program Files\Java\jdk1.8.0_73.
Gambar 12. Hasil JAVA_HOME
2. Install Android Studio Berikut langkah-langkah untuk melakukan instalasi software pada windows : a. Download software Android Studio melalui link sebagai berikut : http://developer.android.com/sdk/index.html
b. Double klik pada file android_studio.exe kemudia Next
Gambar 13. Tempat file android studio
Gambar 14. Proses installasi Android Studio
Gambar 15. Components yang di install
Gambar 16. License Agreement c. Klik Next, kemudian alokasi RAM yang akan digunakan misalnya
Gambar 17. Location Installation
Gambar 18. Alokasi RAM
Gambar 19. Klik Install
Gambar 20. Finish
Gambar 21. Android Studio d. Proses check update SDK Components dan proses instalasi selesai.
Gambar 22. Downloading Components
Gambar 23. Halaman Android Studio
Dasar-Dasar Android Studio Konsep Activity Activity merupakan public class dalam aplikasi android. Setiap Activity merupakan sesuatu yang unik atau single, yang ditujukan untuk menghandle macam-macam hal yang bisa dilakukan oleh user. Umumnya, Activity berhubungan dengan user dimana activity menciptakan windows atau UI Yang mana ditampilkan dengan konsep setContentView(View). Ada dua metode yang pasti dimiliki oleh satu activity yaitu : a. onCreate untuk menginisiasi suatu activity, biasanya dipanggil dengan perintah setContentCiew(int) untuk resource yang didefinisikan di layout UI, dengan perintah findViewById(int) untuk memanggil widget yang dibutuhkan UI Untuk berinteraksi dengan aplikasi. b. onPause untuk menyatakan ketika user meninggalkan suatu activity. Untuk penggunaan dengan Context.StartActivity(), semua kelas activity harus sesuai
dengan
yang
dideklarasikan
dalam
suatu
paket
di
AndroidManifest.xml. Activity adalah bagian penting dari model aplikasi. Siklus Activity Activity Aplikasi android dikelola dengan system yang dikenal dengan nama “activity stack”. Ketika suatu activity start, activity diletakkan pada stack paling atas dan activity-activity yang sudah berjalan ada dibawahnya dan akan terus berada pada posisi atas stack sampai muncul activity yang baru. Pada dasarnya Activity memiliki 4 keadaan : 1. Active/running, jika activity berada posisi atas stack 2. Pause, jika activity tidak dipakai atau dibutuhkan pada suatu saat tertentu, tetapi activity itu masih ada atau visible, ketika activity baru yang di tangani oleh system activity yang lama disebut pause dan masih berada di memory, bisa jadi suatu activity yang sudah keadaan pause tidak ada di memory yang kemungkinan karena kekurangan memory. 3. Stopped, jika activity sudah tidak dipakai lagi atau digantikan oleh activity lain, activity yang sudah stopped tidak pernah dipanggil lagi, dan secara permanen
memory pun tidak menyimpan info mengenai activity ini. 4. Restart, jika activity pause atau stopped, system dapat menge-drop activity ini dari system memory, dan ketika user membutuhkan activity tersebut, activity akan kembali keadaan awal, artinya activity mengalami proses restart. Berikut ini adalah gambaran mengenai Activity Lifecycle atau siklus dari activity dalam system android :
Gambar 24. Diagram Activity Lifecycle Berdasar gambar diatas, secara umum dapat kita jelaskan bahwa looping (perulangan) yang mungkin dialami oleh activity ada tiga, yaitu : 1. Entire Lifetime yaitu activity yang terjadi mulai dari onCreate() sampai dengan onDestroy(). Biasanya activity ini akan dibuat setup global ketika mendefinisikannya. 2. Visible lifetime yaitu activity yang dapat terjadi mulai dari onCreate() sampai dengan onStop(); 3. Foreground lifetime yaitu activity yang terjadi antara onResume() dan
onPause(). Sehingga sintaks superclass dari gambar di atas adalah sebagai berikut : Public class Activity extends ApplicationContect{ Protected void oncreate(Bundle savedInstanceState); Protected void onStart(); Protected void onRestart(); Protected void onResume(); Protected void onPause(); Protected void onStop(); Protected void onDestroy(); } Berikut ini merupakan table lifecycle Activity Android : Method
onCreate()
onStart()
onResume()
onPause()
onStop()
Description Method
ini
pertama
kali
dipanggil
ketika
activity
pertama dimulai. Method ini dipanggil ketika activity sudah terlihat pada user. Method ini dipanggil ketika activity mulai berinteraksi dengan user. Method ini Dipanggil ketika activity berhenti sementara tidak menerima inputan user dan tidak mengeksekusi kode apapun. Method ini dipanggil ketika activity sudah tidak terlihat pada user.
onDestroy() Method ini dipanggil sebelum sebuah activity di matikan.
onRestart()
Method ini dipanggil setelah activity berhenti dan ditampilkan ulang oleh user.
Tabel 3. Lifecycle Activity Android
Mengorganisir Resource Berikut adalah panduan untuk menempatkan sesuai dengan folder : Folder
Resource dalam folder
animator
Property animasi dalam format xml
anim
Animasi view dalam format xml
color
Kode warna dalam format xml
drawable
File gambar atau file XML
layout
Layout User Inerface dalam format XML
Menu
Definisi menu dalam format XML
raw
File apapun yang dibutuhkan aplikasi
value
Nilai sederhana, seperti teks, dimensi, warna, dll
xml
File XML lain yang anda butuhkan untuk aplikasi seperti config file
Menggunakan Style Style adalah kumpulan dari sifat yang menentukan tampilan dan format untuk sebuah View atau Window. Style dapat menentukan sifat seperti tinggi, padding, warna font, ukuran font, warna latar belakang, dan banyak lagi. Style didefinisikan dalam XML dan terpisah dari XML yang menentukan layout.
Icon Icon adalah gambar kecil yang di tampilkan dilayar untuk menavigasi perangkat mobile. Ketika kita mendesain icon untuk sebuah aplikasi android, hal yang perlu diingat adalah aplikasi android yang akan dibuat akan di install pada berbagai perangkat android yang memiliki kepadatan pixel yang berbeda. Agar terlihat lebih bagus maka kita perlu mendesain beberapa icon dengan ukuran yang berbeda sesuai dengankebutuhan perangkatnya.
Di bawah ini adalah pedoman untuk ukuran icon :
Gambar 25. Ukuran Icon Gambar di atas adalah perbandingan rasio dalam pembuatan icon yang berbeda kepadatan pixelnya, atau juga dapat menggunakan rasio 2:3:4:6:8. Apabila ingin membuat icon untuk ukuran MDPI berarti ukuran icon yang di butuhkan adalah 48px, apabila ingin membuat icon untuk HDPI berarti ukuran yang dibutuhkan adalah 1.5x ukuran MDPI yakni 72px, apabila ingin membuat icon untuk XHDPI berarti ukuran yang dibutuhkan adalah 2x ukuran MDPI yakni 96px, dan begitu seterusnya.
Tema (Holo light) Tema ( Theme ) adalah mekanisme android untuk menerapkan style yang konsisten untuk sebuah aplikasi atau activity. Style menentukan sifat visual dari elemen seperti warna, ukuran, padding dll. Android menyediakan
dua
system
tema yang dapat anda pilih : - Holo Light - Holo Dark Kustomisasi Tema Kita juga dapat mengkustomisasi tema sesuai keinginan, pilih tema dasar holo light atau holo dark. Cara menentukan theme atau tema pada project android
adalah dengan memilih menu App Theme pada layout xml. Berikut ini adalah pilihan tema yang dapat dipilih dan digunakan :
Gambar 26. Project Themes Gaya Menulis Saat menulis teks di aplikasi pastikan tetap ringkas, sederhana dan ramah. Kita dapat mengacu pada ketentuan menulis melalui situs developer android berikut ini : http://developer.android.com/design/style/writing.html Android Manifest Setiap aplikasi android mempunyai file AndroidManifest.xml dalam direktori root. File manifest berisi informasi penting tentang aplikasi untuk system android yakni : - Mendeklarasikan nama package java - Mendeskripsikan komponen aplikasi : o activities o services o broadcast receivers o content providers
- Menentukan proses yang diperlukan - Mendeklarasikan permission untuk dapat menggunakan API yang dilindungi dan berinteraksi dengan aplikasi lain - Daftar class yang menyediakan profil dan informasi - Menyatakan tingkat minimum level - Daftar library Berikut ini contoh tampilan file AndroidManifest.xml :
Gambar 27. Android Manifest Titik root utama dari AndroidManifest.xml, berisi atribut package aplikasi serta paket acitivity dalam program android kita. Disini terlihat bahwa packagekita adalah com.example.rizkisyaputra.myapplication.
Menjelaskan tentang user permission/security permission yang harus diberikan agar aplikasi dapat berjalan sebagaimana mestinya. Misalnya, apabila
kita
menggunakan resource yang tersedia dari sistem, seperti ketika mengirim SMS, dan sebagainya. Contoh uses-permission ini adalah Menjelaskan batasan tentang user persmission/security permission. Mendeklarasikan
komponen
instrumen
yang
tersedia
untuk
menguji
fungsionalitas dari paket aplikasi yang kita gunakan dalam aplikasi android kita. Elemen root yang berisi deklarasi aplikasi android, icon, label dan theme aplikasi. Mendeklarasikan intent yang dibutuhkan oleh aplikasi android yang kita gunakan, atribut-atribut bisa diberikan di sini untuk men-supply label, icon, data dan informasi yang kita gunakan dalam aplikasi android. Berisi tentang action type yang di dukung oleh komponen-komponen yang berada dalam aplikasi android.
Mendeklarasikan kategori-kategori yang didukung oleh aplikasi android. Mendeklarasikan tipe MIME, URL, authority penggunaan URL serta penentuan path yang digunakan dalam URL. Mendeklarasikan meta data yang kita butuhkan sebagai tambahan data yang ada kita gunakan dalam aplikasi android. Mendeklarasikan di mana aplikasi kita diberikan informasi mengenai suatu perubahan atau saksi yang terjadi, seperti menerima SMS. Mendeklarasikan komponen yang dapat berjalan sebagai service (berjalan di background). Mendeklarasikan
komponen-komponen
yang
mengelola
data
dan
mempublikasikannya untuk dikelola/dipakai oleh aplikasi lain. Membaca Error Setiap membangun aplikasi android kita akan sering menemukan error, Kita dapat membaca, memprediksi dan mengatasi error tersebut. Berikut ini beberapa cara untuk membaca error pada android : 1. Menggunakan logcat : a.
Log.i(String, String), menampilkan informasi biasa, warna hijau.
b.
Log.d(String, String), menampilkan info debug, warna biru.
c.
Log.w(String, String), menampilkan informasi warning, warna kuning.
d.
Log.e(String, String), menampilkan informasi error, warna merah.
Berikut ini tampilan logcat pada android studio :
Gambar 28. Logcat 2. Lihat tanda merah di pinggir kanan editor 3. Lihat di messages Layout Pada Android Ada bermacam-macam layout pada android antara lain linear layout, relative layout, table layout dan sebagainya. Linear layout Linear layout adalah susunan tata letak yang paling simple dapat digunakan para developer android. Karena layout ini hanya memberikan susunan tata letak komponen secara garis lurus. Bisa secara horizontal maupun vertical.
Gambar 29. Layout di Android
Tampilan pada layout sebagai berikut : Gambar 30. Tampilan Layout
Konfigurasi linear layout mempunyai 5 contents yaitu : a. Orientation Orientation mengindikasikan layout ditampilkan berdasarkan baris atau kolom, sintaksnya adalah : Android.orientation=”value” Valuenya horizontal berdasarkan baris atau vertical berdasarkan kolom. b. Fill Model Fill Model adalah bentuk tampilan element/widget terhadap space yang tersedia. Terdiri dari tiga pilihan yaitu : • Specific dimension, seperti 125px untuk mengisi widgets tampilan di 125pixel. • Wrap_content, widgets akan mengisi posisi dengan konsep natural space • Fill_parent, widgets akan mengisi posisi yang tersedia c. Weight Weight
mengatur
settingan
android.layout_width
(untuk
baris)
dan
android.layout_height (untuk kolom). d. Gravity Gravity secara default pada tampilan dengan Linear Layout adalah “Left and top aligned”. Jika kita menginginkan tampilan yang berbeda kita bisa mengatur
gravity sesuai kebutuhan. Nilai-nilai gravity adalah left, center_horizontal, right for left-aligned, centered, dan right-aligned. e. Padding Padding memiliki empat nilai standard
yaitu
paddingLeft,
paddingRight,
paddingTop, dan paddingBottom. Relative Layout Untuk relative layout kita bisa mengaturnya mengikuti komponen lainnya, semisal ada komponen A, B, dan C maka kita bisa mengaturnya seperti , A berada dibawah B, dan C berada di samping kanan/kiri A dan sebagainya. Intinya adalah komponen satu dan lainnya saling berkaitan.
Gambar 31. Relative Layout Relative layout standardnya mempunyai dua layout, yaitu : 1. Relative to container Terdiri dari beberapa posisi, yaitu : • android:layout_alignParentTop • android:layout_alignParentBottom • android:layout_alignParentLeft • android:layout_alignParentHorizontal
• android:layout_centerHorizontal • android:layout_centerInParent • android:layout_centerVertical 2. Relative to widget lainnya terdiri dari beberapa posisi, yaitu : • android:layout_above • android:layout_below • android:layout_toLeftOf • android:layout_toRightOf Tampilan layout : Gambar 32. Tampilan Relative Layout
Frame Layout Frame layout digunakan untuk menampilkan 1 item/komponen, kita dapat menampatkan item lebih dari satu dan secara default FrameLayout menampilkan secara overlapping (timpang tindih). Tampilan design layout :
Gambar 33. Tampilan Frame Layout
akan
Absolute Layout Absolute layout akan mengatur
posisi
tiap komponen di layar berdasarkan
kooordinat x dan kooordinat y. Model ini sangat tidak direkomendasikan dalam UI development android, karena akan menghasilkan tampilan yang berbeda-beda pada setiap device dengan ukuran layar yang berbeda. Android mendefinisikan koordinat (0,0) adalah di atas layar kiri layar, jadi nilai layout x akan mengarah ke sebelah kanan dan nilai layout y akan mengarah ke bawah. Tampilan design layout :
Gambar 34. Tampilan Absolute Layout
ScrollView Layout Scrollview layout biasanya digunakan untuk menampilkan informasi yang bersifat lebih detail. Dengan menggunakan layout ini kita bisa menaikkan layout ke atas dan ke bawah. Tampilan design layout :
Gambar 35. Tampilan ScrollView Layout Konsep Widget Di Andorid Widget android pada dasarnya merupakan visualisasi dari elemen user interface (UI) yang digunakan pada layar aplikasi android dimana kita dapat merancang sendiri sesuai kebutuhan kita. Widget di dalam android ditampilkan dengan konsep View. Di mana aplikasi android pada umumnya menggunakan widget sebagai layout XML. Untuk mengimplementasikan widget, selain file java kita juga membutuhkan tambahan dua
file. Berikut ini adalahfile-file yang umumnya kita butuhkan apabila kita
membuat widget : • File Java Berupa file java di mana merupakan file yang mengimplementasikan aksi dari widget. Jika kita mendefinisikan suatu widget beserta posisinya di layar yang didefinisikan dari file XML, kita harus melakukan coding di file java dimana kita dapat mengambil semua nilai atribut dari tata letak file xml yang didefiniskan.
• File XML Sebuah file XML yang berada di res/values/ yang mendefinisikan komponen elemen-elemen XML yang digunakan untuk inisialisasi widget serta atribut yang mendukungnya. • Layout XML [optional] File ini tidak harus ada, file XML
berada di
dalam
res/layout/
yang
menggambarkan atau penambahan keterangan pada layout widget. Sebenarnya ini kita dapat dilakukan pada file java kita (file dikenal dengan string.xml pada bab bagian-bagian sebelumnya, dimana fungsi string.xml itu bisa dihandle oleh file javanya).
Instalasi Aplikasi Virtual Box + Genymotion Untuk dapat menjalankan aplikasi Android Studio ini ada beberapa software yang diperlukan yaitu Virtual Box dan Genymotion, cara sebagai berikut : 1. Install Virtual Box Berikut langkah-langkah untuk melakukan instalasi software pada windows : a. Download software melalui link sebagai berikut : https://www.virtualbox.org/wiki/Downloads b. Proses install, klik double file VirtualBox-5.0.16-105871-Win. 2. Install Genymotion Berikut langkah-langkah untuk melakukan instalasi software pada windows : a. Download software melalui link sebagai berikut : https://www.genymotion.com/download/ b. Proses install, klik double file genymotion. c. Gambar hasil instalasi gentmotion.
Materi Toast dan Alert Dalam sebuah aplikasi, kotak dialog atau message box merupakan sarana interaktif antara user dengan aplikasi itu sendiri. Misalnya jika kita ingin keluar dari aplikasi, biasanya muncul peringatan berisi pertanyaan “Are you sure to quit?” dan tersedia tombol “yes” dan “no”. Pada bagian ini kita akan menggunakan message box yakni toast dan alert dialog. Mencari icon bisa ke link https://design.google.com/icons/
dan
untuk
membuat
pola
design
https://www.google.com/design/spec/patterns/navigation.html . Dan untuk style bisa liahat link ini https://www.google.com/design/spec/style/color.html# Message box dengan menggunakan toast Toast adalah kotak kecil transparan, apabila di panggil akan muncul diatas apalikasi yang sedang berjalan. Biasanya toast berisi pesan singkat. Contoh penerapannya adalah pesan yang muncuk ketika melakukan save pada suatu aplikasi. Langkah-langkah pembuatan aplikasi message box toast adalah sebagai berikut : 1. Buatlah sebuah project baru
Gambar 36. Halaman Pertama Android Studio
2. Klik Start a new Android Studio project, Application Name dan Company Domain sesuai gambar dibawag ini :
Gambar 37. New Project
Gambar 38. Layout Activity
Gambar 39. Blank Activity 3. Pada layout content_main.xml dibagian Design buatlah seperti ini :
Gambar 40. Content_main.xml
4. Kemudian pada MainActivity.java tambahkan kode berikut : public class MainActivity extends AppCompatActivity { TextView teks; Button btnToast, btnAlert ; Context context = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {AlertDialog.Builder a = new AlertDialog.Builder(context); a.setTitle("Read this!"); a.setMessage("r u Sure want to exit ?"); a.setNeutralButton("Close", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); { a.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); a.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }).show(); } } }); btnToast = (Button) findViewById(R.id.btnToast); btnAlert = (Button) findViewById(R.id.btnAlert); //untuk menampilkan alert berupa toast btnToast.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) { Toast.makeText(getApplicationContext(), "TOAST!!!!!!!!!", Toast.LENGTH_SHORT).show(); } }); //untuk menampilkan alet berupa alert dialog btnAlert.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { AlertDialog.Builder a = new AlertDialog.Builder(context); a.setTitle("Read this!"); a.setMessage("r u Sure want to exit ?"); a.setNeutralButton("Close", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); { a.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); a.setPositiveButton("Yes", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { finish(); } }).show(); } } }); }
5. Running project, pilih menu Run ! Run ‘app’ kemudian akan tampil seperti berikut ini :
Gambar 41. Pilih Perangkat
Tampilan hasil running sebagai berikut :
Gambar 42. Hasil Project
Materi Spinner atau Combolist Mengenal widget spinner pada android Widget spinner dalam android adalah untuk menampilkan pilihan list dalam bentuk drop-down. Penggunaannya tidak jauh dengan komponen listview. Beriku ini langkah-langkah pembuatan aplikasi dengan mengguankana spinner : a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_Spinner Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Pada
layout kita
menambahkan widget spinner.
Berikut tampilan design layout nya :
Gambar 43. Layout Spinner
Berikut ini kode pada layout nya : c. Logika Kode
Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener{ Spinner buah; TextView txtPilih; ImageView img; String list_buah [] = { "Alpukat","Apel","Ceri","Durian","Jambu Air","Manggis","Strawberry" }; int gbr_buah[] = { R.drawable.alpukat, R.drawable.apel, R.drawable.ceri,R.drawable.durian, R.drawable.jambu_air, R.drawable.manggis, R.drawable.strawberry }; int musik [] = { R.raw.alpukat, R.raw.apel, R.raw.ceri, R.raw.durian, R.raw.jambu_air, R.raw.manggis, R.raw.strawberry }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); buah = (Spinner)findViewById(R.id.buah); img = (ImageView)findViewById(R.id.gbr); txtPilih = (TextView)findViewById(R.id.txtPilih); buah.setOnItemSelectedListener(this); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item, list_buah); adapter.setDropDownViewResource(android.R.layout.simple_spinner_drop down_item); buah.setAdapter(adapter); } @Override public void onItemSelected(AdapterView parent, View view, int position, long id) { txtPilih.setText(list_buah[position]); img.setImageResource(gbr_buah[position]); Uri myUri = Uri.parse("android.resource://" +getPackageName() + "/" + musik[position]); MediaPlayer mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
try { mediaPlayer.setDataSource(getApplicationContext(), myUri); } catch (IOException e){ e.printStackTrace(); } try { mediaPlayer.prepare(); } catch (IOException e){ e.printStackTrace(); } mediaPlayer.start(); } @Override public void onNothingSelected(AdapterView parent) { } } d. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Gambar 44. Hasil Spinner
Materi Popup Menu Popup menu adalah dialog yang akan menampilkan menu yang berkaitan dengan action-action khusus/spesifik. Berikut ini langkah-langkah pembuatan aplikasi dengan menggunakan popup menu : a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_PopupMenu Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Berikut tampilan design layout nya :
Gambar 45. Layout Popup Menu
Berikut ini kode pada layout nya : c. Tambahkan item menu pada file menu_main.xml seperti dibawah ini :
d. Logika Kode Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity implements PopupMenu.OnMenuItemClickListener{ TextView txtPilih; Button btnMenu; Context a = this; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); txtPilih = (TextView)findViewById(R.id.txtPilih); btnMenu = (Button)findViewById(R.id.btnMenu); btnMenu.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { PopupMenu popupMenu = new PopupMenu(MainActivity.this, v); popupMenu.setOnMenuItemClickListener(MainActivity.this); popupMenu.inflate(R.menu.menu_main); popupMenu.show(); }
}); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.pilihan, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.tes) { txtPilih.setText("Tambah"); return true; }else if (id == R.id.tes2){ txtPilih.setText("Hapus"); return true; } return super.onOptionsItemSelected(item); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode){ case KeyEvent.KEYCODE_BACK: AlertDialog.Builder dialog = new AlertDialog.Builder(a); dialog.setTitle("Perhatiaan"); dialog.setMessage("Yakin mau keluar ?"); dialog.setNegativeButton("No", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dialog.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { finish(); } }).show(); } return super.onKeyDown(keyCode, event); } @Override public boolean onMenuItemClick(MenuItem item) { switch (item.getItemId()){ case R.id.mangga: txtPilih.setText("ini menu mangga"); return true; case R.id.manggis: txtPilih.setText("ini menu manggis"); return true; case R.id.jeruk: txtPilih.setText("ini menu jeruk"); return true; case R.id.share: Intent bagi = new Intent(Intent.ACTION_SEND); bagi.setType("text/plain"); bagi.putExtra(Intent.EXTRA_SUBJECT, "Judul"); bagi.putExtra(Intent.EXTRA_TEXT, "http://green-nusa.net"); startActivity(Intent.createChooser(bagi, "share link")); return true; } return true; } } e. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’. Gambar 46. Hasil Popup Menu
Materi Inputan Untuk dapat berinteraksi dengan pengguna aplikasi harus dapat menangani inputan dari user, seperti gesture, keyboard input dan controller lain nya seperti game controller dll. Di sini yang akan anda pelajari adalah keyboard input dan event listener. Kita akan menggunakan Edit Text untuk menangani inputan dari keyboard, dan menggunakan button untuk contoh event listenernya. Pada pembahasan ini kita akan membuat sebuah aplikasi Kalkulator. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_Inputan Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Berikut tampilan design layout nya :
Gambar 47. Layout Inputan
Berikut ini kode pada layout nya : c. Logika Kode Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity { EditText n1, n2; TextView txthasil ; double a, b, hasil ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action",
Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); n1 = (EditText)findViewById(R.id.nilai1); n2 = (EditText)findViewById(R.id.nilai2); txthasil = (TextView)findViewById(R.id.txtHasil); } public void tambah(View v){ if (TextUtils.isEmpty(n1.getText().toString()) || TextUtils.isEmpty(n2.getText().toString())){ Toast.makeText(getApplicationContext(),"Tidak Boleh Kosong", Toast.LENGTH_LONG).show(); }else { a = Double.parseDouble(n1.getText().toString()); b = Double.parseDouble(n2.getText().toString()); hasil = a + b; txthasil.setText("Hasil = " + hasil); } } public void bersih(View v){ n1.setText(""); n2.setText(""); txthasil.setText(""); } public void kurang(View v){ a = Double.parseDouble(n1.getText().toString()); b = Double.parseDouble(n2.getText().toString()); hasil = a -‐ b; txthasil.setText("Hasil = "+hasil); } public void bagi(View v){ a = Double.parseDouble(n1.getText().toString()); b = Double.parseDouble(n2.getText().toString()); hasil = a / b; txthasil.setText("Hasil = "+hasil); } public void kali(View v){ a = Double.parseDouble(n1.getText().toString()); b = Double.parseDouble(n2.getText().toString()); hasil = a * b; txthasil.setText("Hasil = "+hasil); }
@Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } } d. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’. Gambar 48. Hasil Inputan
Materi MultiScreen Jika anda membuat aplikasi android pasti lebih dari 1 tampilan, bisa terdiri dari beberapa tampilan, di sini kita akan belajar membuat Multiple Activity (Screen), kita dapat membuat beberapa screen dan tiap screen dapat saling terhubung. Untuk menghubungkan satu activity dengan activity yang lain pada android kita menggunakan yang Intent. Intent itu adalah sebuah object yang merupakan kunci untuk berkomunikasi dengan activity lainya. Fungsi intent tersebut terbagi : a. Untuk memanggil activity lain yang masih dalam 1 package b. Untuk memanggil activity lain yang tidak dalam 1 package dan project c. Untuk memanggil activity yang sudah ada di fungsi internal android seperti Dial Number, Open browser, dan lainnya. Selain itu dengan menggunakan intent kita juga dapat mengirimkan data ke activity lain dan juga dapat menangkap data dari activity tersebut. Dari beberapa pengertian, didapatkan bahwa intent tersebut dibagi menjadi 2 : 1. Implicit Intent yakni intent yang memanggil fungsi activity yang sudah ada di fungsi internal android seperti Dial Number, Open Browser, dll. 2. Explicit Intent yakni memanggil activity lain yang masih dalam 1 project ataupun beda project. Berikut ini langkah-langkah pembuatannya. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_MultiScreen Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout.
Berikut tampilan design layout nya :
Gambar 49. Layout MultiScreen Berikut ini kode pada layout nya : Sekarang kita buat layout selanjutnya, ada 4 layout terdiri dari Layout FB, Layout Twitter, Youtobe dan Go-Jek Seperti gambar dibawah ini :
Gambar 50. Layout FB Kode file activity pada Layout FB sebagai berikut : c. Logika Kode Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity implements View.OnClickListener{ Button fb, tw, yt, gj; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); fb = (Button)findViewById(R.id.btnFB); tw = (Button)findViewById(R.id.btnTW); yt = (Button)findViewById(R.id.btnYT); gj = (Button)findViewById(R.id.btnGJ); fb.setOnClickListener(this); tw.setOnClickListener(this); yt.setOnClickListener(this); gj.setOnClickListener(this); } @Override public void onClick(View v) { if(v == fb){ Intent a = new Intent(getApplicationContext(), Facebook.class); startActivity(a); }else if (v == tw){ Intent a = new Intent(getApplicationContext(), twitter.class); startActivity(a); } } } Sekarang kita buat file java selanjutnya, ada 4 file java terdiri dari FB, Twitter, Youtobe dan Go-Jek seperti kode dibawah ini :
public class Facebook extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_facebook2); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } d. Berikut ini adalah kode pada AndroidManifest.xml : e. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Gambar 51. Hasil MultiScreen
Materi SplashScreen Splashscreen biasanya terdiri dari gambar, logo dan versi aplikasi, biasanya muncul saat aplikasi, program atau game pertama kali di jalankan. Splashscreen mempunyai dua manfaat, yang pertama untuk membranding aplikasi, dan manfaat yang kedua untuk menunggu loading configurasi atau data. Berikut ini langkah-langkah pembuatannya. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_SplashScreen Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Berikut tampilan design layout Splash nya :
Gambar 52. Layout Splash.xml Berikut ini kode pada layout nya :
c. Logika Kode Berikut ini kode pada file activity Splash.java : public class Splash extends AppCompatActivity{ private long ms=0; private long waktu=5000; private boolean aktif=true; private boolean paused=false; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.splash);
Thread thread = new Thread(){ @Override public void run() { try{ while (aktif && ms < waktu){ if (!paused); ms = ms + 100; sleep(100); } }catch (Exception e) { }finally { Intent a = new Intent(getApplicationContext(), MenuUtama.class); startActivity(a); finish(); } } }; thread.start(); } } Berikut ini kode pada file activity MenuUtama.java : public class MenuUtama extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_menu_utama); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); } } d. Berikut ini adalah kode pada AndroidManifest.xml :
e. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Gambar 53. Hasil SplahScreen
Materi PlayAudio Pada materi ini kita akan mempelajari tentang bagaimana memutar sebuah file audio pada aplikasi android. File audio yang akan di putar terlebih dahulu harus berformat mp3 dan dimasukkan kedalam folder raw. Berikut ini langkah-langkah pembuatannya. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_PlayAudio Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Berikut tampilan design layout nya :
Gambar 54. Layout PlayAudio Berikut ini kode pada layout nya : c. Logika Kode Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity { MediaPlayer mediaPlayer; ImageButton btnPlay, btnStop, btnPause, btnResume; TextView tmp;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); btnPlay = (ImageButton)findViewById(R.id.btnPlay); btnStop = (ImageButton)findViewById(R.id.btnStop); tmp = (TextView)findViewById(R.id.tmp); btnStop.setEnabled(false); btnPlay.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (tmp.getText().equals("Pause")){ mediaPlayer.pause(); tmp.setText("Resume"); btnPlay.setImageResource(R.drawable.resume); }else if (tmp.getText().equals("Resume")){ mediaPlayer.start(); tmp.setText("Pause"); btnPlay.setImageResource(R.drawable.pause); }else { Uri url = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.uswatunhasanah); mediaPlayer = new MediaPlayer(); mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC); try { mediaPlayer.setDataSource(getApplicationContext(), url); } catch (IOException e) { e.printStackTrace(); } try { mediaPlayer.prepare(); } catch (IOException e) { e.printStackTrace(); } mediaPlayer.start(); btnStop.setEnabled(true); btnPlay.setImageResource(R.drawable.pause); tmp.setText("Pause"); } } });
btnStop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mediaPlayer != null && mediaPlayer.isPlaying()) { mediaPlayer.stop(); btnPlay.setEnabled(true); btnPlay.setImageResource(R.drawable.play); btnStop.setEnabled(false); } } }); } } d. Berikut ini adalah kode pada AndroidManifest.xml :
e. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Gambar 55. Hasil PlayAudio
Materi Radio Streaming Radio Internet yang juga dikenal sebagai web radio, net radio, streaming radio atau e-radio adalah layanan penyiaran audio yang ditransmisikan melalui internet. Penyiaran yang dilakukan melalui internet disebut sebagai webcasting karena tidak menular secara luas melalui sarana nirkabel. Radio internet memiliki sebuah media streaming yang dapat menyediakan saluran audio terus menerus dan tidak ada kontrol operasional penyiaran seperti media penyiaran tradisional pada umumnya. Cara yang digunakan untuk menyiarkan radio internet adalah melalui teknologi streaming, yaitu teknologi yang dapat menerima serta mengirim informasi dari satu pihak ke pihak lain menggunakan alat yang dapat menerima aliran media streaming tersebut juga. Teknologi streaming ini menggunakan lossy audio codec, yaitu program komputer yang berfungsi untuk mengkompres audio maupun video berdasarkan data yang diformat melalui streaming suara ke radio internet. Format audio streaming termasuk MP3, Ogg Vorbis, Windows Media Audio, RealAudio dan HE-ACC (kadang-kadang disebut accPlus). Untuk membuat sebuah aplikasi radio streaming pada android yang paling di perlukan adalah link server radio tersebut. Berikut ini langkah-langkah pembuatannya. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_RadioStreaming Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout.
Berikut tampilan design layout nya :
Gambar 56. Layout RadioStreaming Berikut ini kode pada layout nya : c. Logika Kode Berikut ini kode pada file activity MainActivity.java : public class MainActivity extends AppCompatActivity implements View.OnClickListener { Button btnPlay, btnStop; ProgressBar progressBar; private String url_radio ="http://162.243.130.87/"; MediaPlayer mediaPlayer; @Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UI(); Putar(); } private void UI(){ btnPlay = (Button)findViewById(R.id.btnPlay); btnStop = (Button)findViewById(R.id.btnStop); progressBar = (ProgressBar)findViewById(R.id.progressBar); progressBar.setIndeterminate(false); progressBar.setMax(100); btnPlay.setOnClickListener(this); btnStop.setOnClickListener(this); } private void Putar(){ mediaPlayer = new MediaPlayer(); try { mediaPlayer.setDataSource(url_radio); }catch (IOException e){ e.printStackTrace(); } mediaPlayer.setOnBufferingUpdateListener(new MediaPlayer.OnBufferingUpdateListener() { @Override public void onBufferingUpdate(MediaPlayer mp, int percent) { progressBar.setIndeterminate(false); progressBar.setSecondaryProgress(100); Log.i("Buffering", "" +percent); } }); } @Override public void onClick(View v) { if (v == btnPlay){ Memutar(); }else if (v == btnStop){ Berhenti(); } } private void Memutar(){ btnStop.setEnabled(true); progressBar.setVisibility(View.VISIBLE); mediaPlayer.prepareAsync();
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mediaPlayer.start(); btnPlay.setEnabled(false); } }); } private void Berhenti() throws IllegalStateException { if (mediaPlayer == null) return; try{ if (mediaPlayer.isPlaying()){ mediaPlayer.stop(); mediaPlayer.release(); Putar(); } }catch (Exception e){ } btnPlay.setEnabled(true); btnStop.setEnabled(false); progressBar.setVisibility(View.INVISIBLE); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { switch (keyCode){ case KeyEvent.KEYCODE_BACK: if (isTaskRoot() && mediaPlayer.isPlaying()){ Intent a = new Intent(Intent.ACTION_MAIN); a.addCategory(Intent.CATEGORY_HOME); startActivity(a); return true; }else{ return super.onKeyDown(keyCode, event); } } return super.onKeyDown(keyCode, event); } } d. Berikut ini adalah kode pada AndroidManifest.xml :
e. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Gambar 57. Hasil Radio Streaming
Materi ListView Berikut ini langkah-langkah pembuatannya. a. Pembuatan project - Buat sebuah project baru dan beri nama Pelatihan_ListView Pilih Next, kemudian muncul pilihan minimum sdk target pembuatan aplikasi. - Setelah itu pilih Next Pilih Next, kemudian muncul. - Pada Add an Activity to Mobile, pilih Blank Activity. Setelah itu pilih Next. - Pada Costumize the Activity, pilih Finish. Tunggu beberapa saat hingga proses pembuatan project tersebut selesai. b. Pembuatan Layout - Setelah proses pembuatan project selesai, langkah selanjutnya adalah pembuatan layout. Berikut tampilan design layout nya : Berikut ini kode pada layout nya : c. Logika Kode Berikut ini kode pada file activity MainActivity.java : d. Menjalankan Aplikasi Untuk menjalankan aplikasi tersebut dapat dengan memilih menu Run ! Run ‘app’.
Materi Membuat Portal Berita dengan PHP Database Terlebih dahulu buatlah sebuah database yang berfungsi untuk menampung data berita. Database yang kita buat dengan nama db_berita, dengan table tb_berita dan field sebagai berikut:
Gambar File Php Selanjutnya adalah pembuatan file php yang berfungsi untuk menampilkan data dengan format json. Buatlah beberapa file php sebagai berikut : File koneksi.php
File getberita.php
File detailberita.php
View more...
Comments