PMO Pertemuan 3, Komponen Aplikasi Android

Komponen Aplikasi Android

Link Powerpoint : https://drive.google.com/file/d/0B_LQHcSu8A-bNFpreElEUUp2cFk/view?usp=sharing

Komponen aplikasi android adalah suatu bagian yang sangat penting dari suatu aplikasi Android karena dengan komponen-komponen inilah suatu aplikasi android dapat berjalan dengan baik. Komponen-komponen ini dikendalikan oleh AndroidManifest.xml yang mendeskripsikan setiap komponen dan bagaimana mereka berinteraksi.

Berikut ini adalah 4 komponen utama yang dapat digunakan dalam sebuah aplikasi Android:

  1. Activities Suatu komponen yang mengendalikan User Interface dan menangani interaksi pengguna ke layar smart phone.
  2. Services Suatu komponen yang menangani proses di background yang terhubung dengan aplikasi.
  3. Broadcast Receivers Suatu komponen yang menangani komunikasi antara Sistem Operasi Android dengan aplikasi.
  4. Content Providers Suatu komponen yang terjadi menangani data dan masalah manajemen basis data.

 

  1. Activities

Sebuah activity merepresentasikan sebuah layar dengan User Interface. Dalam artian, activity -lah yang melakukan aksi pada layar, Contohnya: pada facebook, halaman log in adalah sebuah activity lalu news feed setelah Anda log in merupakan activity yang berbeda.

Jika sebuah aplikasi memiliki lebih dari 1 activity, maka salah satu dari activity tersebut harus ditAndai sebagai activity yang ditampilkan secara default ketika aplikasi dijalankan.

Sebuah activity dapat diimplementasikan sebagai sebuah subclass dari suatu Activity class dengan cara berikut:

Public class MainActivity extend Activitity {

}

                                                            

  1. Intent

Intent adalah sebuah pesan yang dapat mengizinkan sebuah aplikasi melakukan sesuatu sesuai intent tersebut. Contohnya: pada facebook Anda, activity yang sedang berjalan adalah News feed dan Anda ingin melihat sebuah gambar yang diposting teman Anda dalam full frame . Melakukan klik pada gambar tersebut akan mengaktifkan View Photo Intent sehingga gambar foto dalam full frame tersebut akan ditampilkan.

  1. Services

Service adalah komponen yang berjalan di background untuk melakukan operasi yang berjalan panjang, Contohnya: sebuah service dapat memainkan music di background sementara pengguna dalam aplikasi yang berbeda atau service dapat mengambil data dalam jaringan tanpa menghalangi interaksi user dengan sebuah activity.

 

Sebuah service dapat diimplementasikan sebagai sebuah subclass dari Service class dengan cara berikut:

Public class My service extend service {

}

 

  1. Broadcast Receivers

Broadcast Receivers merespon terhadap pesan broadcast dari aplikasi lain atau dari system, Contohnya: aplikasi juga dapat melakukan broadcast agar aplikasi lain tahu bahwa beberapa aplikasi yang telah di-download ke dalam perangkat dan dapat mereka gunakan. Di sinilah fungsi Broadcast Receivers yang berfungsi mengambil alih komunikasi seperti ini dan menginisiasi aksi yang tepat. Sebuah Broadcast Receivers dapat diimplementasikan sebagai sebuah subclass dari BroadcastReceiver class dan setiap pesan dikirimkan sebagai Objek Intent dengan cara berikut:

Public class my receiver extends BroadcastReceiver{

Public void on Receiver (context, intent) {}

}

  1. Content Providers

Komponen content provider menyuplai data dari satu aplikasi ke aplikasi lainnya pada saat diminta datanya. Request ini ditangani oleh metode dari kelas Content Resolver . Data nya mungkin dapat disimpan di file system, di database atau di suatu tempat secara keseluruhan.

Sebuah content provider dapat diimplementasikan sebagai sebuah subclass dari ContentProvider class dan harus mengimplementasikan sekumpulan API stAndar yang memungkinkan aplikasi lain untuk melakukan transaksi dengan cara berikut :

Public class myContentProvider extend ContenProvider{

Public void on create() {

}

Kita akan mempelajari bahan-bahan ini lebih detail lagi dalam sub-bab selanjutnya. Dalam sub-bab komponen aplikasi android ini khusus untuk mempelajari komponen aplikasi android secara garis besar.

Komponen Tambahan

  1. Ada beberapa komponen tambahan yang akan digunakan dalam pembuatan 4 komponen utama di atas, komponen-komponen itu adalah:
  2. Fragments Merepresentasikan sebuah porsi dari User Interface dalam sebuah Activity.
  3. Views Elemen User Interface yang digambar pada layar seperti tombol, list, formulir, dan lain lain.
  4. Layouts Hierarki dari view yang mengontrol format layar dan tampilan dari view. Intents Objek pesan yang dapat digunakan untuk meminta aksi dari komponen aplikasi lain.
  5. Resources Elemen eksternal, seperti: string, konstanta dan gambar.
  6. Manifest File Konfigurasi untuk aplikasi.

Proses Thraed

proses, secara umum, adalah serangkaian terus menerus dari tindakan untuk mencapai hasil yang spesifik. Namun, dalam dunia komputer, proses adalah sebuah contoh dari mengeksekusi program komputer. Dengan kata lain, itu adalah konsep dari kejadian tunggal dari program komputer yang berjalan. Proses yang berjalan secara binar akan mengandung satu atau lebih thread.

Menurut jumlah thread yang terlibat dalam proses, ada dua jenis proses. Mereka adalah proses single-thread dan proses multi-thread. Seperti namanya, proses tunggal-thread adalah proses yang hanya memiliki satu thread. Oleh karena itu, thread ini adalah sebuah proses, dan hanya ada satu aktivitas yang terjadi. Dalam proses multi-thread, ada lebih dari satu thread, dan ada lebih dari satu aktivitas yang terjadi.

Dua atau lebih proses dapat berkomunikasi dalam setiap menggunakan komunikasi antar-proses lain. Tapi itu cukup sulit dan membutuhkan lebih banyak sumber daya. Ketika membuat proses baru programmer harus melakukan dua hal. Mereka adalah duplikasi proses induk dan alokasi memori dan sumber daya untuk proses baru. Jadi ini benar-benar mahal.

thread adalah pelaksanaan instruksi terkecil dari program komputer yang dapat dikelola secara independen sesuai dengan jadwal. Sebuah thread adalah jalan eksekusi sederhana dalam proses. Sebuah thread adalah sebagai proses kuat karena thread bisa melakukan proses apa saja yang bisa dilakukan. Sebuah thread adalah proses ringan dan membutuhkan sumber daya yang lebih sedikit. Thread dapat mulai dari membaca dan menulis ke variabel yang sama dan struktur data variabel. Thread dapat berkomunikasi antara thread dengan mudah.

Hari ini multi-threading telah menjadi pendekatan alami untuk banyak masalah. Sebuah pekerjaan besar dibagi menjadi beberapa bagian dan masing-masing ditugaskan untuk unit eksekusi yang disebut thread. Ini hanya multi-threading. Hal ini memerlukan kehati-hatian pemrograman karena thread berbagi struktur data yang dimodifikasi oleh thread lain pada satu waktu dan juga karena thread berbagi ruang alamat yang sama. Satu keuntungan lebih dari thread adalah bahwa thread menyediakan cara yang efisien dan efektif untuk mencapai paralelisme. Sebuah throughput sistem dapat ditingkatkan dengan membiarkan beberapa thread berjalan pada beberapa prosesor karena thread adalah entitas independen yang dapat dijadwal (schedulable)

 

Proses dan thread dua teknik yang digunakan oleh programmer untuk mengontrol prosesor dan pelaksanaan instruksi pada komputer dengan cara yang efisien dan efektif. Sebuah proses dapat berisi beberapa thread. Thread menyediakan cara yang efisien untuk berbagi memori meskipun beroperasi beberapa eksekusi dari proses. Oleh karena itu, thread merupakan alternatif untuk beberapa proses. Dengan tren yang berkembang menuju prosesor multi-core, thread akan menjadi alat yang paling penting dalam dunia programmer.

Perbedaan Antara Proses dan Thread

  • Proses sulit untuk membuat karena membutuhkan duplikasi proses induk dan alokasi memori sedangkan thread lebih mudah untuk membuat karena mereka tidak memerlukan ruang alamat yang terpisah.
  • Thread digunakan untuk tugas-tugas sederhana, sementara proses yang digunakan untuk tugas-tugas yang berat-berat seperti pelaksanaan aplikasi.
  • Proses tidak berbagi ruang alamat yang sama, namun thread dalam berbagi proses yang sama ruang alamat yang sama.
  • Proses yang independen satu sama lain, tetapi thread saling bergantung karena mereka berbagi ruang alamat yang sama.
  • Sebuah proses dapat terdiri dari beberapa thread.
  • Karena thread berbagi ruang alamat yang sama, virtual memori hanya terkait dengan proses tapi tidak dengan thread. Tapi prosesor virtual yang berbeda dikaitkan dengan setiap thread.
  • Setiap proses memiliki kode dan data sendiri sedangkan proses thread berbagi kode yang sama dan data.
  • Setiap proses dimulai dengan thread utama, tapi dapat membuat thread tambahan jika diperlukan.
  • Konteks beralih antara proses jauh lebih lambat dibandingkan konteks beralih antara thread dari proses yang sama.
  • Thread dapat memiliki akses langsung ke segmen data, tetapi proses memiliki salinan sendiri segmen data mereka.
  • roses memiliki overhead tapi tidak thread.

Siklus Hidup Activity

Activity adalah suatu kelas yang disediakan oleh Android guna mengimplementasikan siklus hidup suatu kelas-kelas pada suatu aplikasi. Oleh karena itu, kelas Activity wajib diturunkan ke kelas-kelas lain pada aplikasi.. Berikut ilustrasi di dalam kode pemograman

Nama kelas yang kita inisiasi adalah StartingPoint yang berada dalam package bernama com.thenewboston.travis.  Package adalah suatu pembungkus atau suatu kemasan yang berisi banyak kelas-kelas. Setelah Activity menurunkan sifat-sifatnya atau dengan kata lain setelah StartingPoint melakukan extends kepada kelas Activity, maka siklus di atas berlaku pula pada kelas StartingPoint. Siklus sesungguhnya berisi dengan masing-masing state yang sebenarnya adalah suatu method yang dimiliki kelas activity .Berikut penjelasan pada masing-masing state  :

  1. onCreate()

Method ini dipanggil ketika activity pertama kali dibuat

  1. onStart()

Method ini dipanggil ketika sebuah activity tampil ke pengguna

  1. onResume()

Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resumed). (Hasil dari method OnRestart())

  1. onFreeze()

Method ini dipanggil ketika activity berada dalam keadaan freeze atau tidak merespon akibat sedang sibuk mengerjakan task tertentu pada sistem

  1. onPause()

Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume()

  1. onStop()

Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna

  1. onDestroy()

Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori

  1. onRestart()

Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop

Pada state di atas, kita bebas mendefenisikan method-method terkait seperti contoh pada state start, kita dapat mendefenisikan suatu Splash screen sehingga saat aplikasi baru dimulai, akan menampilkan suatu gambar terlebih dahulu disertai dengan musik lalu masuk ke aplikasi utama. Siklus di atas pun berlangsung terus menerus hingga aplikasi atau activity akhirnya di terminasi.

Konsep siklus ini penting agar developer tidak mengimplementasikan banyak kelas di waktu yang bersamaan yang pastinya memakan banyak sekali memori. Ketika kelas lain aktif, kelas yang tidak berjalan perlu dihentkan sementara agar menghemat penggunaan memori.

Struktur project

tampilan hierarki proyek android yang biasanya kita gunakan untuk koding, tampilan tersebut hanya untuk memudahkan dalam navigasi ke beberapa modul yang kebanyakan dibutuhkan dalam proses development. Pada dasarnya meringkas kesuluruhan file yang nantinya sering di lakukan perubahan dalam development, seperti halnya menampilkan gradle script teratas dengan pemisahan dalam tampilan, modules app agar memudahkan pengeditan modul depensi dan library tambahan dari aplikasi yang dibuat, atau module gradle project dari skala kode sumber proyek di mana depensi di dapatkan/berasal. Disisi lain juga beberapa resource gambar,icon, dll terlihat dalam satu file saja walaupun sebenarnya terdapat banyak file dalam ukuran berbeda untuk menentukan ukuran yang sesuai pada standart platform.

Secara garis besar, tampilan dalam mode android tersebut dipisahkan menjadi manifest berisi konfigurasi global dari aplikasi android, java berisi file kontroler, java yang dipisahkan berdasarkan nama paket dan terakhir res dimana sebagai resources, view, sumber daya dari semua komponen layout berasal, untuk lebih detail mengenai pembahasan ini lihat Gambar 3.

  • nama-module/ build/ Berisi file output/result/keluaran dari beberapa kompilasi project yang dilakukan saat development.
  • libs/ berisi library proyek.
  • src/ Berisi semua file sumber daya dan kode untuk modul, termasuk kode java dan semua file resources.
  • androidTest/ Berisi kode untuk pengujian instrumentasi yang dijalankan pada perangkat Android. Untuk informasi selengkapnya, anda bisa merujuk di link berikut https://developer.android.com/studio/test/index.html.
  • main/ Berisi file sourceset “main”: sumber daya dan kode Android yang digunakan bersama oleh semua varian pembangunan baik dalam release atau versi debug (file untuk varian pembangunan lainnya berada dalam direktori sama, semisal src/debug/ untuk tipe pembangunan versi debug).
  • xml Konfigurasi global, menjelaskan sifat,tipe aplikasi dan masing-masing komponennya,activity,resources,nama aplikasi dll.
  • java/ Berisi kode Java yang notabene sebagai kontroler dalam struktur project.
  • jni/ Berisi kode asli yang menggunakan Java Native Interface (JNI).
  • gen/ generated file, Berisi file Java yang dihasilkan oleh Android Studio, misalnya file R.java Anda dan antarmuka yang dibuat dari file AIDL, biasanya terdiri dari susunan resource id yang sudah terkompilasi secara otomatis.
  • res/ Berisi sumber daya aplikasi tempat dimana mengatur tampilan dan layouting, dan folder lainnya berisi file resource pendukung gambar, file layout, dan string UI, dll.
  • assets/ Berisi file yang harus dikompilasi menjadi file .apk apa adanya tanpa kompilasi seperti modul modul sebelumnya. Anda bisa menyusuri direktori ini dengan cara yang sama seperti pada sistem file umumnya dengan menggunakan URI dan membaca file sebagai aliran byte dengan menggunakan AssetManagertest/ Berisi kode untuk pengujian lokal yang dijalankan pada JVM host Anda.
  • gradle (modul) build.gradle (proyek) pada dasarnya terdapat satu file hanya saja di tampilkan lebih untuk memudahkan navigasi antara pemasangan depensi atau pemasangan kode proyek sumber depensi.

Secara garis besar modul dan lingkup ruang kerja yang akan di gunakan dalam proses pengembangan proyek tidak lebih dari yang saya paparkan diatas,.

Structure XML

Struktur dasar XML terdiri dari beberapa elemen seperti root child dan subchild. Namun XML juga mempunyai bentuk atau struktur yang menyerupai bentuk sebuah pohon sehingga disebut struktur pohon atau Tree Struckture. Dan berikut ini adalah dalam bentuk struktur pohonnya :

 

Kemudian berikut ini adalah struktur penulisan XML :

 

Dan berikut ini contoh kedua struktur di atas jika diimplementasikan kedalam bentuk XML :

Pada baris pertama mendefinisikan versi XML yaitu (1,0) dan pengkodean yang digunakan (ISO-8859-1 = set karakter Latin-1/West Eropa). Kemudian pada baris selanjutnya adalah elemen root yang bernama < tokobuku > yang memiliki elemen < buku > yang mempunyai 4 child yaitu < judul >, < pengarang >, < tahun > dan < harga >.

jenis-jenisnya Layout :

  • Relative Layout

Relative layout adalah layout yang tergantung. Relative layout akan meletakkan elemen secara bebas, tidak terurut. Peletakan berdasarkan ketergantungannya kepada yang lain misal kepada parent atau kepada elemen lain.

  • Linear Layout

Linear layout adalah layout yang terstruktur. Linear layout akan meletakkan elemen yang ada di dalamnya secara berurutan tergantung orientationnya. Jika  orientationnya vertical, maka peletakan elemenakan terurut kebawah. Sedangkan jika orientationnya horizontal (secara default, orientation horizontal tidak ditulis di dalam XML), maka peletakan elemennya akan terurut ke samping.

  • Absolute Layout

Absolute Layout adalah tampilan dimana kita dapat memasukkan posisi x dan y dari widget yang ada di dalamnya secara pasti sehingga penempatan posisi dapat ditentukan secara pasti.

  • Frame Layout

Frame Layout merupakan tampilan dimana widget-widget di dalamnya akan saling menumpuk satu sama lain. Bedanya antara layout ini dengan Relative Layout adalah jika di Relative Layout, kita dapat menempatkan sebuat widget posisinya di sebelah kanan/kiri/atas/bawah, sedangkan pada Frame Layout, widget yang ditulis lebih akhir akan diletakkan di DEPAN widget sebelumnya, sehingga akan menutupi kecuali jika warnanya transparan.

Android  User Interface Control

Text View

TextView digunakan untuk menampilkan label teks. View ini sudah kita gunakan  Beberapa contoh property dari TextView adalah android:textSize untuk mengatur ukuran, android:textStyle untuk mengatur apakah font bold atau italic, android:textColor dsb.

 

Property dapat diedit melalui property editor. Coba edit property text color dan text size sebagai berikut (gambar bawah) dan perhatikan efeknya:

Catatan:pada atribut textSize, direkomendasikan menggunakan ukuran sp. sp merupakan singkatan  dari scaled-pixel yang memperhitungkan kepadatan resolusi dan juga preferensi ukuran font dari pengguna. Selain melalui property editor,  property juga dapat diedit langsung melalui xml. Pindah dari mode design graphical layout ke text xml.

Button

Button merupakan turunan dari TextView sehingga yang berlaku di textView juga berlaku di button. Tambahan property yang penting adalah onClick

ImageButton dan ImageView

ImageButton adalah turunan dari button, gunakan widget ini jika Anda ingin menggunakan image sebagai pengganti tulisan pada button. Sedangkan ImageView dapat digunakan untuk menampilkan image. Berbeda dengan program pada desktop, app di Android dapat berjalan di device dengan berbagai resolusi.  Oleh karena itu, kita perlu menyiapkan image untuk berbagai kategori resolusi. Hal ini untuk mencegah gambar yang digunakan terlihat pecah atau terlalu kecil pada device dengan resolusi berbeda. Ada lima jenis resolusi: mdpi untuk medium (160dpi) , hdpi untuk high density (240dpi) dan xhdpi untuk ekstra high density (320dpi).  xxhdpi untuk resolusi 480dpi dan xxxhdpi untuk 640.

 

Image yang akan ditampilkan dalam button diletakkan di direktori /res/drawable sesuai dengan resolusinya. res merupakan singkatan dari “resource”,  file-file yang berada di dalam direktori /res disebut dengan project resources.

EditText

EditText digunakan untuk menerima input dari pengguna.  Pada palette telah disediakan berbagai jenis EditText, silahkan dicoba satu persatu dan perhatikan property setiap widget .

CheckBox

User dapat memilih lebih dari satu pilihan dengan checkbox. Coba tambahkan dua checkboxs. Double klik pada checkbox lalu isi id dan text

Satu bertuliskan “Java” dengan id cbJava , dan yang kedua PHP” dengan id cbPHP

RadioButton

Pada radioButton, hanya satu pilihan yang boleh aktif (mutual exclusive) di dalam satu group yang disebut radioGroup.   Modifikasi program checkbox diatas, tambahkan radio group (bukan radiobutton) yang ada di bagian Container.  Baru kemudian tambahkan radio button.

Hasilnya:

Contoh Program UI

Maps API menawarkan beberapa kontrol UI bawaan yang serupa dengan yang ditemukan dalam aplikasi Google Maps pada ponsel Android Anda. Anda bisa mengubah visibilitas kontrol ini dengan menggunakan kelas UiSettings yang bisa diperoleh dari GoogleMap dengan metode GoogleMap.getUiSettings. Perubahan yang dilakukan pada kelas ini segera diterapkan pada peta. Untuk melihat contoh fitur ini, lihat aktivitas demo Setelan UI dalam aplikasi contoh.

Anda juga bisa mengonfigurasi sebagian besar opsi ini bila peta telah dibuat, baik melalui atribut XML atau menggunakan kelas GoogleMapOptions. Lihat Mengonfigurasi status awal untuk detail selengkapnya.

Setiap kontrol UI memiliki posisi sesuai dengan tepi peta, yang telah ditentukan sebelumnya. Anda bisa memindahkan kontrol menjauh dari tepi atas, bawah, kiri atau kanan dengan menambahkan [pengisi] ke objek GoogleMap.

Kontrol zoom

Maps API menyediakan kontrol zoom bawaan yang muncul di sudut kanan bawah peta. Kontrol dinonaktifkan secara default, namun bisa diaktifkan dengan memanggil UiSettings.setZoomControlsEnabled(true).

Kompas

Maps API menyediakan gambar kompas yang muncul di sudut kiri atas peta dalam keadaan tertentu. Kompas hanya akan muncul bila kamera diarahkan sedemikian rupa sehingga memiliki penjuru bukan nol atau kemiringan bukan nol. Bila pengguna mengeklik kompas, kamera akan beranimasi kembali ke posisi dengan penjuru dan kemiringan nol (orientasi default) dan kompas menghilang tidak lama kemudian. Anda bisa menonaktifkan kompas yang muncul bersamaan dengan memanggil UiSettings.setCompassEnabled(boolean). Akan tetapi, Anda tidak bisa memaksa kompas untuk selalu ditampilkan.

Tombol My Location

Tombol My Location muncul di sudut kanan atas layar hanya bila layer My Location diaktifkan. Untuk detailnya, lihat panduan untuk data lokasi.

Level-picker

Secara default, level-picker (floor-picker) muncul dekat tepi tengah sebelah kanan layar saat pengguna menampilkan sebuah peta dalam ruangan. Bila ada dua atau beberapa peta dalam ruangan terlihat, level-picker akan memilih bangunan yang sedang difokus, yang biasanya adalah bangunan paling dekat dengan tengah layar. Setiap bangunan memiliki tingkat default yang akan dipilih bila picker pertama kali ditampilkan. Pengguna bisa memilih tingkat yang berbeda dengan memilihnya dari picker.

Anda bisa menonaktifkan atau mengaktifkan kontrol level-picker dengan memanggilGoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Ini berguna jika Anda ingin mengganti level-picker default dengan level-picker Anda sendiri.

Toolbar peta

Secara default, toolbar muncul di kanan bawah peta bila pengguna mengetuk marker. Toolbar memberikan akses cepat ke aplikasi seluler Google Maps kepada pengguna. Anda bisa mengaktifkan dan menonaktifkan toolbar dengan memanggi lUiSettings.setMapToolbarEnabled(boolean).

Dalam peta mode-minim, toolbar tidak terpengaruh oleh tindakan pengguna. Dalam peta interaktif penuh, toolbar akan masuk bila pengguna mengetuk marker dan keluar lagi bila marker tidak lagi difokus.

Toolbar ini menampilkan ikon-ikon yang memberikan akses ke tampilan peta atau permintaan arah dalam aplikasi seluler Google Maps. Bila pengguna mengetuk sebuah ikon pada toolbar, API akan membuat sebuah maksud untuk meluncurkan aktivitas terkait dalam aplikasi seluler Google Maps.

Toolbar terlihat di kanan bawah peta dalam tangkapan layar di atas. Nol, satu atau kedua ikon maksud akan muncul pada peta, bergantung pada materi peta dan asalkan aplikasi seluler Google Maps mendukung maksud yang dikembalikan.

Isyarat peta

Peta yang dibuat dengan Google Maps Android API mendukung isyarat yang sama dengan aplikasi Google Maps. Akan tetapi, mungkin ada situasi yang membuat Anda ingin menonaktifkan isyarat tertentu untuk mempertahankan status peta. Zoom, penggeseran, kemiringan dan penjuru juga bisa disetel lewat program – lihat Kamera dan Tampilan untuk detail selengkapnya. Perhatikan, menonaktifkan isyarat tidak memengaruhi apakah Anda bisa mengubah posisi kamera lewat program atau tidak.

Seperti kontrol UI, Anda bisa mengaktifkan/menonaktifkan isyarat dengan kelas UiSettings yang bisa diperoleh dari GoogleMap dengan memanggil GoogleMap.getUiSettings. Perubahan yang dilakukan pada kelas ini segera diterapkan pada petaAnda juga bisa mengonfigurasi opsi ini bila peta telah dibuat baik melalui Atribut XML atau menggunakan kelas GoogleMapOptions. Lihat Mengonfigurasi peta untuk detail selengkapnya.

Isyarat zoom

Peta merespons berbagai isyarat yang bisa mengubah tingkat zoom kamera:

  • Ketuk dua kali untuk menambah tingkat zoom sebesar 1 (memperbesar).
  • Ketuk dengan dua jari untuk mengurangi tingkat zoom sebesar 1 (memperkecil).
  • Mencubit/merentang dengan dua jari
  • Zooming satu jari dengan mengetuk dua kali namun tidak dilepaskan ketukan kedua, kemudian menggeser jari satunya ke atas untuk memperkecil, atau ke bawah untuk memperbesar.

Isyarat gulir (geser)

Pengguna bisa menggulirkan (menggeser) peta dengan menyeret peta menggunakan jari. Anda bisa menonaktifkan guliran dengan memanggil UiSettings.setScrollGesturesEnabled(boolean).

Isyarat memiringkan

Pengguna bisa memiringkan peta dengan menempatkan dua jari pada peta dan menggerakkannya ke bawah atau ke atas secara bersamaan untuk menambah atau mengurangi sudut kemiringan. Anda bisa menonaktifkan isyarat memiringkan dengan memanggil UiSettings.setTiltGesturesEnabled(boolean).

Isyarat memutar

Pengguna bisa memutar peta dengan menempatkan dua jari pada peta dan melakukan gerakan memutar.Anda Anda bisa menonaktifkan rotasi dengan memanggil UiSettings.setRotateGesturesEnabled(boolean).

 

 

 

Referensi

http://www.sridianti.com/perbedaan-proses-dan-thread-dalam-os.html

https://developers.google.com/maps/documentation/android-api/controls?hl=id

https://irmarismay99.wordpress.com/2015/04/22/jenis-jenis-layout-pada-android-layout/?_e_pi_=7%2CPAGE_ID10%2C7123928966

https://awesomedit.wordpress.com/2013/04/22/siklus-hidup-activity-android/

www.androidtechies.com

www.tutorialspoint.com

www.linkedin.com