Modul Android Studio 2016-1

January 3, 2017 | Author: Muhammad Fikri Fadhil | Category: N/A
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF