Hirupmotekar.com



KOMPONEN APLIKASI ANDROID KELOMPOK 3center24574500Anggota Kelompok :Khoerul Umam 15.11.0241Dwi Yulianto K.W15.11.0231Anggen Dias Restu Wardani15.11.0229M. Reza Fadilah15.11.0249Afrizal Rifai15.11.0253Riyanuar Nugroho15.11.0252Safki Fajar Fatmawan15.11.0255Kelas : TI 15 APROGRAM STUDI TEKNIK INFORMATIKASEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTERSTMIK AMIKOM PURWOKERTO2017Pemograman Mobile Pemograman mobile merupakan pemograman berbasis OOP didalam pemograman mobile memiliki struktur struktur yang sangat terkonsep terlebih bahasa android yang mulai berkembang secara pesat dengan adanya pemograman mobile ini diharapkan teman teman mampu mengimplentasikan kedalam bentuk syntak pada pemograman Android selain itu mahasiswa dapat mengembangkan aplikasi android berbasis OOP yang dapat menunjang tesis untuk tugas akhir (TA). Untuk itu kami sekolompok akan mengulas tentang seputar Pemograman Android mulai dari :Komponen Aplikasi AndroidHyrarchy Of Screen ElementsProses ThreadSiklus Hidup Activity Project StructureStruktur XML Jenis – Jenis Layout dan Contoh AplikasinyaAndroid UI Control (Text View, Edit Text , Button, Spinner, CheckBox, Radio Button)Beserta Contoh Aplikasinya.Komponen Aplikasi Android Secara garis besar, android memiliki empat buah komponen utama untuk aplikasi-aplikasinya, setiap komponen tersebut harus di deklarasikan didalam android manifest agar dikenal oleh OS android dan dapat digunakan.Setiap komponen-komponen tersebut akan kita tulis dengan bahasa pemograman Java, dan kita harus meng extend sebuah subclass atau super class dari komponen tersebut yang telah disediakan oleh android. Komponen-komponen tersebut adalah?Activity, Service, Content Provider,?dan?Broadcast Receiver.?Sejauh ini tutorial yang saya upload baru menyinggung tentang?activity,?tapi memang dibandingkan dengan komponen lainnya, biasanya activity akan lebih sering kita gunakan.ActivityActivity adalah komponen wajib yang harus ada disetiap aplikasi android, aplikasi android tidak akan memiliki bentuk jika tidak memiliki activity (yaiyalah, mau nampilin apa coba?). Activity bertugas menyajikan UI kepada user, activity akan menangani hampir seluruh interaksi user dengan aplikasi tersebut. Gampangnya, jika pembaca sedang membuka sebuah aplikasi android sekarang, itu artinya pembaca sedang melihat sebuah Activity.Berikut adalah contoh dari Activity :ServiceBerbeda dengan activity, service tidak memiliki interface, komponen yang satu ini berjalan di background. Biasanya service digunakan untuk melakukan proses-proses tertentu dari aplikasi, namun masih bisa berjalan walaupun aplikasi ditutup, misalnya untuk pemutar audio atau radio, walaupun aplikasi utamanya sudah ditutup tetapi radio atau radio masih bisa kita dengarkan, atau mungkin aplikasi download yang berjalan dibackgroud, dll. Sebuah service bisa berjalan secara independen tanpa terikat denga komponen aplikasi yang lain, jenis service ini kita sebut Started Service, atau sebuah service berjalan secara terikat dengan komponen aplikasi yang lain, yang kita sebut Bound Service. Bound service dengan komponen yang terikat padanya bisa saling bertukar informasi, komponen yang terikat pada bound service bisa mengirim request, dan bound service dapat merespone request tersebut. Kita dapat mendlekarasikan sebuah service di android manifest dengan menuliskan tag <service android:name”.Nama”></sercive>, sama dengan activity, service juga dibuat dengan cara menjadikan java class kita sebagai subclass dari class Service. Berikut adalah contoh Service :Content ProviderDengan komponen Content Provider, sebuah aplikasi bisa berbagi data dengan aplikasi lainnya, sebuah aplikasi bisa menyimpan data di filesystem, di SQLite, atau di web misalnya. Contoh simplenya ada pada aplikasi sms, atau aplikasi kontak, dimana aplikasi-aplikasi tersebut menggunakan Content Provider untuk dapat berbagai data. Sebuah Content Provider dibuat dengan menjadikan class java kita menjadi subclass dari class?ContentProvider.Didalam android manifest, content provider dideklarasikan dengan cara membuat tag?<provider android:name”Nama”>….</provider>.Broadcast ReceiverJika kita mau membuat sebuah aplikasi yang mampu menangkap event-event tertentu dari OS android, semilah panggilan masuk, panggilan keluar, atau mungkin low battery, maka Broadcast Receiver lah jawabannya. Setiap kali sebuah systemwide event terjadi pada android OS, maka android OS akan mengirimkan pesan siaran atau broadcast yang bisa ditangkap oleh setiap aplikasi android. Dengan cara seperti ini kita bisa membuat aplikasi untuk memblok panggilan misalnya, dll. Kita juga bisa membuat pesan broadcast kita sendiri yang bisa ditangkap oleh Broadcast Receiver aplikasi kita atau Broadcast Receiver aplikasi lain, denga cara seperti ini kita bisa memberitahukan aplikasi lain bahwa sebuah event sudah terjadi, misalnya sebuah download sudah selesai, lalu file yang didownload tersebut sudah bisa digunakan oleh aplikasi lain. Cara pendeklarasian Broadcast Receiver di android manifest adalah menulis tag <receiver android:name=”.Nama”>….</receiver>,?dan cara membuatnya sebagai berikut :Sumber : Of Screen ElementsLayout mendefinisikan struktur visual untuk antarmuka pengguna, seperti UI sebuah?aktivitas / widget aplikasi. Anda dapat mendeklarasikan layout dengan dua cara:Deklarasikan elemen UI dalam XML. Android menyediakan sebuah kosakata XML sederhana yang sesuai dengan kelas dan subkelas View, seperti halnya untuk widget dan layout.Buat instance elemen layout saat waktu proses. Aplikasi Anda bisa membuat objek View dan ViewGroup (dan memanipulasi propertinya) lewat program.Kerangka kerja Android memberi Anda fleksibilitas untuk menggunakan salah satu atau kedua metode ini guna mendeklarasikan dan mengelola UI aplikasi Anda. Misalnya, Anda bisa mendeklarasikan layout default aplikasi Anda dalam XML, termasuk elemen-elemen layar yang akan muncul di dalamnya dan di propertinya. Anda nanti bisa menambahkan kode dalam aplikasi yang akan memodifikasi status objek layar, termasuk yang dideklarasikan dalam XML, saat waktu proses.Anda juga harus mencoba alatHierarchy Viewer, untuk men-debug layout — alat ini akan menampilkan nilai-nilai properti layout, menggambar bentuk kerangka dengan indikator pengisi/margin, dan tampilan yang dirender penuh selagi Anda merunut pada emulator atau perangkat.Alat?layoutopt?memungkinkan Anda menganalisis layout dan hierarki dengan untuk mengetahui ketidakefisienan atau masalah lainnya.Keuntungan mendeklarasikan UI dalam XML adalah karena hal ini memungkinkan Anda memisahkan penampilan aplikasi dari kode yang mengontrol perilakunya dengan lebih baik. Keterangan UI Anda bersifat eksternal bagi kode aplikasi Anda, yang berarti bahwa Anda bisa memodifikasi atau menyesuaikannya tanpa harus memodifikasi dan mengompilasi ulang kode sumber. Misalnya, Anda bisa membuat layout XML untuk berbagai orientasi layar, berbagai ukuran layar perangkat, dan berbagai bahasa. Selain itu, mendeklarasikan layout dalam XML akan mempermudah Anda memvisualisasikan struktur UI, sehingga lebih mudah men-debug masalahnya. Karena itu, dokumen ini berfokus pada upaya mengajari Anda cara mendeklarasikan layout dalam XML. Jika Anda tertarik dalam membuat instance objek View saat waktu proses, lihat referensi kelas?ViewGroup?dan?View. Secara umum, kosakata XML untuk mendeklarasikan elemen UI mengikuti dengan sangat mirip struktur serta penamaan kelas dan metode, dengan nama elemen dipadankan dengan nama kelas dan nama atribut dipadankan dengan metode. Sebenarnya, pemadanan ini kerap kali begitu jelas sehingga Anda bisa menebak atribut XML yang berpadanan dengan sebuah metode kelas, atau menebak kelas yang berpadanan dengan sebuah elemen XML. Akan tetapi, perhatikan bahwa tidak semua kosakata identik. Dalam beberapa kasus, ada sedikit perbedaan penamaan. Misalnya , elemen EditText memiliki atribut?text?yang berpadanan dengan?EditText.setText(). Dengan menggunakan kosakata XML Android, Anda bisa mendesain secara cepat layout UI dan elemen layar yang dimuatnya, sama dengan cara membuat laman web dalam HTML — dengan serangkaian elemen tersarang. Tiap file layout harus berisi persis satu elemen akar, yang harus berupa sebuah objek View atau ViewGroup. Setelah mendefinisikan elemen akar, Anda bisa menambahkan objek atau widget layout tambahan sebagai elemen anak untuk membangun hierarki View yang mendefinisikan layout Anda secara bertahap. Misalnya, inilah layout XML yang menggunakan?LinearLayout?vertikal untuk menyimpan?TextView?dan?Button:Sumber : ThreadProsesProses adalah konsep pokok dari sistem operasi. Berbagai macam defnisi mengenai proses?telah dicetuskan. Secara sederhana, proses adalah sebuah program yang dieksekusi. Proses merupakan unit kerja terkecil yang secara individu memiliki sumber daya-sumber daya dan dijadwalkan sistem operasi. Sistem operasi mengelola semua proses di sistem dan?mengalokasikan sumber daya ke proses sesuai kebutuhan.Secara informal proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari daftar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global. Process StateStatus proses selalu berubah-ubah selama suatu program dieksekusi atau dijalankan. Beberapa status tersebut ialah :New : proses baru diciptakanRunning : proses sedang dijalankanWaiting : proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O)Ready : proses menunggu untuk dilayani?processorterminated : proses telah menyelesaikan eksekusi.Proses Control Block (PCB)Sistem operasi membutuhkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :Process State >>berisi informasi status proses (new, running, waiting).Program counter >> berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.CPU register >> berisi register – register CPU apa saja yang digunakanCPU scheduling information >> berisis penjadwalan proses beserta algoritmanyaMemory management information >> berisi informasi tentang berapa jumlah memory yang digunakan, limit register, tabel segment, dll berkenaan dengan penggunaan memory.I/O status information >> berisi informasi tentang perangkat apa saja yang digunakan dalam prosesAccounting >> berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.ThreadThread?merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu.Keuntungan penggunaan thread :TanggapPemberdayaan resorceEkonomisPemberdayaan arsitektur multiprocessorKerugian penggunana ThreadJika digunakan secara berlebihan, multithreading akan berdampak pada pemborosanresource dan CPU yang dialokasikan untuk switching threads. Misalnya jika heavy disk I/O terlibat, akan lebih cepat jika hanya memiliki 1 atau 2 thread yang melaksanakan tugas secara berurutan, daripada menggunakan multithread yang masing-masing mengeksekusi sebuah task pada waktu yang sama.Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading.Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut.Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache.Macam – Macam ThreadSingle thread >> process hanya mengeksekusi satu thread saja pada satu waktuMulti thread >> process dapat mengeksekusi sejumlah thread dalam satu waktu.Model MultithreadMany to oneBeberapa thread user-lever dipetakan ke dalam single kernel threadPenggunaannya pada sistem tidak memerlukan dukungan kernel threadOne to oneSetiap user-level thread dipetakan ke kernel thread.Contoh : Windows 95/98/NT/2000Many to manyMembolehkan setiap user-level thread dipetakan ke banyak kernel threadMembolehkan sistem operasi membuat sejumlah kernel threadContoh : Windows NT/2000 dengan paket ThreadFiber 10, Solaris 2\Sumber : Hidup ActivitySiklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumber daya yang tersedia, dan sebagainya. Misalnya pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Siklus hidup android bisa digambarkan dengan Flowchart :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. 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 : onCreate() Method ini dipanggil ketika activity pertama kali dibuatonStart()Method ini dipanggil ketika sebuah activity tampil ke penggunaonResume()Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resumed). ( Hasil dari method OnRestart())onFreeze()Method ini dipanggil ketika activity berada dalam keadaan freeze atau tidak merespon akibat sedang sibuk mengerjakan task tertentu pada sistemonPause()Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume() onStop()Method ini dipanggil ketika activity tidak lagi tampak kepada penggunaonDestroy()Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem ( baik secara manual maupun untuk kepentingan pelonggaran memorionRestart()Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop,Pada state di atas, kita bebas mendefenisikan method-method terkait seperti contoh padastate 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.Sumber : StructureAda beberapa peran dalam struktur projek android :Java (sang programer)Semua code java dapat ditemukan di?src/main/java?directory. Semua file java dapat ditemukan di directory ini, dan?Java juga yang menentukan fungsi dari aplikasi mobile anda.Resources (sang desainer)Kita tidak hanya ingin membuat aplikasi yang berfungsi dengan baik dan benar, tetapi juga ingin?membuat aplikasi yang indah dan keren untuk dipakai. Nah disinilah faktor desain berperan. Folder resources dapat ditemukan di?app / res?directory, yang berisikan :drawable?folder sebagai tempat meletakan gambar-gambar yang kita pakai.layout?folder sebagai tempat xml untuk desain yang dipakaimenu?folder sebagai tempat xml untuk desain actionbar. values?folder sebagai tempat untuk meletakan konfigurasi statis, seperti strings, colors, dimensions dan styles.AndroidManifest.xml (the bigbos)Android Manifest adalah xml yang mengatur semua yang terjadi pada app anda. Semua activity harus dilaporkan kepada The Big Boss, yaitu androidmanifest.xml. Title, icon, dan version juga dilaporkan disini.android:icon?Lokasi dari icon,?@mipmap/ic_launcher?berarti lokasi di folder res/mipmap/ dengan file ic_launcher.android:theme?Lokasi dari theme yang dipilih, lokasi style terletak di folder res/values/styles.xml dengan pilihan name yaitu AppTheme.<activity>?Element di sini menggambarkan semua activity yang terdaftar di dalam project ini.Intent (sang pekerja)Mau memunculkan halaman baru di layar? Mau memanggil website? Semua kegiatan ini merupakan Intent. Intent dapat berkomunikasi internal di dalam satu app atau external antar app.?Contohnya, pada androidmanifest.xml?app "Hello World" anda, akan anda temukan bahwa?MainActivity?mempunyai?android.intent.category.LAUNCHER?yang akan menjadikan?MainActivity?sebagai Intent pertama sewaktu app kita diluncurkan?/ dijalankan (launch).Jika anda masih belum memahami apa itu Intent, tidak masalah, ikuti saja tutorial ini dan anda akan semakin memahaminya. Sumber : Structure XMLPengertian XMLXML adalah singkatan dari eXtensible Markup Language. Bahasa markup adalah sekumpulan aturan-aturan yang mendefinisikan suatu sintaks yang digunakan untuk menjelaskan, dan mendeskripsikan teks atau data dalam sebuah dokumen melalui penggunaan tag. Bahasa markup lain yang populer seperti HTML, menggambarkan kepada browser web tentang bagaimana menampilkan format teks, data, dan grafik ke layar komputer ketika sedang mengunjungi sebuah situs web. XML adalah sebuah bahasa markup yang digunakan untuk mengolah meta data (informasi tentang data) yang menggambarkan struktur dan maksud/tujuan data yang terdapat dalam dokumen XML, namun bukan menggambarkan format tampilan data tersebut. XML adalah sebuah standar sederhana yang digunakan untuk medeskrippsikan data teks dengan cara self-describing (deskripsi diri). XML juga dapat digunakan untuk mendefinisikan domain tertentu lainnya, seperti musik, matematika, keuangan dan lain-lain yang menggunakan bahasa markup terstruktur. Penerapan XML pada Aplikasi Android, untuk lebih jelasnya bisa dilihat, ?contoh gambar di bawah:Seperti yang kalian lihat pada contoh gambar di atas , untuk menerapkan element?TextView?, yang berfungsi untuk menampilkan text pada layar perangkat Android. Kita bisa mengawalinya dengan tag pembuka <TextView , lalu bisa kita isi dengan nama atribut , seperti pada contoh diatas yang termasuk atribut :android:id?,(Fungsi : untuk referensi di coding java)?android:text?, (Fungsi : isi konten text )android:layout_width?(Fungsi : jenis atau ukuran lebar TextView)?android:layout_width?( Fungsi : jenis atau ukuran tinggi TextView)Yang termasuk nilai atau value :"@+id/textView1"(Fungsi : value untuk referensi di coding java)?"Hello okedroid"?(Fungsi : value isi konten text )"match_parent"?(Fungsi : value jenis atau ukuran lebar TextView)?"wrap_content"??( Fungsi : value jenis atau ukuran tinggi TextView)Nah setiap awalan pasti harus ada akhiran , pada element?TextView??diatas , kita harus menutupnya dengan tag penutup?/> . Agar tidak ada terjadinya compile time erorr ,yang akan memberitahu kita ,bahwa tag tidak ditutup. ?Setelah itu element tersebut ,nantinya akan di referensikan atau diconvert ke dalam codingan java.Penggunaan Namespace XMLNamespace XML ,digunakan untuk nama unik dari element dan atribut ,didalam sebuah dokumen XML . Pada pengembangan Aplikasi Android ,setiap kita ingin menerapkan RelativeLayout atau LinearLayout sebagai RootView pada Layout , kita wajib mendefinisikan namespace XML ,yang dimana ,kita menggunakan?xmlns:android?sebagai atribut , dan nilai atau value?"". ?Karna ini merupakan unique identifier, sama halnya pada penggunaan di bahasa pemrograman PHP ,atau C++.?Antar Muka LayoutSemua element antarmuka pada Aplikasi Android, di bangun menggunakan View dan ViewGroup. View adalah suatu object ,yang di tampilkan di layar ,untuk menangani interaksi user (pengguna). Contohnya seperti TextView ,EditText,Button dan lain sebagainya. ViewGroup adalah objek yang menangani beberapa View dan View Group, yang dimana digunakan untuk mendefinisikan tata letak antar muka.Contohnya seperti : RelativeLayout, LinearLayout, dan lain-lain. Kita dapat meembangun antar muka pada Layout XML ,dengan cara nested(bersarang). Seperti pada contoh gambar dibawah:sumber :? – Jenis Layout dan Contoh AplikasinyaLinier Layout Linear layout akan menampilkan elemen-elemen View secara garis lurus, baik vertical ataupun horizontal. Pada contoh main.xml di bawah ini, kita akan membuat view tombol akan saling menyamping dengan menambahkan LinearLayout di dalamnya, (sintaks dalam box merah adalah sintaks yang perlu ditambahkan). Berikut langkah – langkah membuat liniaer layout :Android Linier Layout Declaration<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:orientation="vertical"?>????<!-- Add Child Views Here --></LinearLayout>activity_main.xml<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:paddingLeft="20dp"????android:paddingRight="20dp"????android:orientation="vertical"?>??? <EditText????????android:id="@+id/txtTo"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"????????android:hint="To"/>??? <EditText????????android:id="@+id/txtSub"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"????????android:hint="Subject"/>??? <EditText????????android:id="@+id/txtMsg"????????android:layout_width="match_parent"????????android:layout_height="0dp"????????android:layout_weight="1"????????android:gravity="top"????????android:hint="Message"/>??? <Button????????android:layout_width="100dp"???? ???android:layout_height="wrap_content"????????android:layout_gravity="right"????????android:text="Send"/></LinearLayout>MainActivity.javapackage?com.tutlane.linearlayout;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;public class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??? }}Output Linier Layout Relative LayoutRelative Layout memungkinkan pengguna menyusun tata letak secara lebih leluasa. Posisi setiap widget bisa diatur relatif pada widget yang lainya (dibawah, atau disamping widget sebelumnya). RelativeLayout adalah cara terbaik untuk menyusun suatu interface, karena dengan ini kita bisa mengurangi nested ViewGroup (yang sering terjadi adalah nested LinierLayout). Berikut langkah – langkah membuat Relative Layout :activity_main.xml<?xml version="1.0"?encoding="utf-8"?><RelativeLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:paddingLeft="10dp"????android:paddingRight="10dp">??? <Button????????android:id="@+id/btn1"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_alignParentLeft="true"????????android:text="Button1"?/>??? <Button????????android:id="@+id/btn2"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_alignParentRight="true"????????android:layout_centerVertical="true"????????android:text="Button2"?/>??? <Button????????android:id="@+id/btn3"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_alignParentLeft="true"????????android:layout_centerVertical="true"????????android:text="Button3"?/>??? <Button????????android:id="@+id/btn4"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"????????android:layout_alignParentBottom="true"????????android:text="Button4"?/>??? <Button????????android:id="@+id/btn5"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_alignBottom="@+id/btn2"????????android:layout_centerHorizontal="true"????????android:text="Button5"?/>??? <Button????????android:id="@+id/btn6"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_above="@+id/btn4"????????android:layout_centerHorizontal="true"????????android:text="Button6"?/>??? <Button????????android:id="@+id/btn7"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_toEndOf="@+id/btn1"????????android:layout_toRightOf="@+id/btn1"????????android:layout_alignParentRight="true"????????android:text="Button7"?/></RelativeLayout>MainActivity.javapackage?com.tutlane.linearlayout;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;public class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??? }}Output Relative Layout Table LayoutYang perlu dipahami dalam pembuatan layout dengan TableLayout adalah bagaimana widget atau View bekerja dengan baris dan kolom. Dan bagaimana mengatasi sebuah widget atau view yang memakai lebih dari satu kolom untuk penampilnya. Banyaknya baris ditentukan oleh developer dengan memasukan widget atau view sebagai elemen anak dari elemen <TableRow>. Dengan demikian, developer mengontrol secara langsung banyak nya baris yang diinginkan.Banyaknya kolom, akan ditentukan oleh Androidnya sendiri, dan para developer mengontrol banyaknya kolom secara tidak langsung. Paling sedikit, satu kolom untuk setiap widget. Sebagai contoh, jika kita punya 3 baris, baris 1 memiliki tiga widget; baris 2 memiliki dua widget; dan baris 3 memiliki empat widget, maka, paling sedikit akan ada empat kolom disana. Tetapi sebuah widget juga bisa memakai lebih dari satu kolom dengan menggunakan atribut layout_span.Berikut langkah – langkah membuat Table layout :activity_main.xml<?xml version="1.0"?encoding="utf-8"?><TableLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:layout_marginTop="100dp"????android:paddingLeft="10dp"????android:paddingRight="10dp"?>??? <TableRow?android:background="#0079D6"?android:padding="5dp">??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="UserId"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"? ??????????android:layout_weight="1"????????????android:text="User Name"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Location"?/>??? </TableRow>??? <TableRow?android:background="#DAE8FC"?android:padding="5dp">??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="1"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Suresh Dasari"?/>??????? <TextView???????? ???android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Hyderabad"?/>??? </TableRow>??? <TableRow?android:background="#DAE8FC"?android:padding="5dp">??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="2"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Rohini Alavala"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Guntur"?/>??? </TableRow>??? <TableRow?android:background="#DAE8FC"?android:padding="5dp">??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"?? ?????????android:layout_weight="1"????????????android:text="3"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Trishika Dasari"?/>??????? <TextView????????????android:layout_width="wrap_content"????????????android:layout_height="wrap_content"????????????android:layout_weight="1"????????????android:text="Guntur"?/>??? </TableRow></TableLayout>MainActivity.Javapackage?com.tutlane.linearlayout;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;public class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??? }}Output Table Layout Sumber : Android UI Control (Text View, Edit Text, Button, Spinner, CheckBox, RadioButton) beserta contoh aplikasinya.Di android UI/input control adalah komponen interaktif atau View yang digunakan untuk merancang antarmuka pada pengguna aplikasi. Di android kami memiliki beragam UI atau kontrol masukan yang tersedia, yaitu TextView, EditText, Buttons, Checkbox, Progressbar, Spinners, dll.Text ViewDi android, TextView adalah kontrol antarmuka pengguna yang digunakan untuk mengatur dan menampilkan teks ke pengguna berdasarkan kebutuhan kita. Kontrol TextView akan bertindak seperti kontrol label dan tidak memungkinkan pengguna mengedit teks. Di android, kita bisa membuat kontrol TextView dalam dua cara baik dalam file layout XML atau membuatnya dalam file Activity secara pemrograman. Berikut adalah langkah – langkah membuat TextView :Create Android Text View in layout File<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:orientation="vertical">??? <TextView????????android:id="@+id/textView1"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"????????android:layout_marginBottom="10dp"????????android:text="Welcome to Tutlane"????????android:textColor="#86AD33"????????android:textSize="20dp"????????android:textStyle="bold"?/></LinearLayout>Create a TextView in Activity Filepublic class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? LinearLayout linearLayout =? (LinearLayout) findViewById(R.id.linearlayout);??????? TextView textView =?new?TextView(this);??????? textView.setText("Welcome to Tutlane");??????? linearLayout.addView(textView);??? }}Set the Text of Android TextViewpublic class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? LinearLayout linearLayout =? (LinearLayout) findViewById(R.id.linearlayout);??????? TextView textView =?new?TextView(this);??????? textView.setText("Welcome to Tutlane");??????? linearLayout.addView(textView);??? }}Activity_main.xml<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:layout_marginTop="10dp"????android:orientation="vertical"????android:padding="10dp">??? <TextView????????android:id="@+id/textView1"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"?? ?????android:layout_marginBottom="10dp"????????android:text="Welcome to Tutlane"????????android:textColor="#86AD33"????????android:textSize="20dp"????????android:textStyle="bold"?/>??? <TextView????????android:id="@+id/textView2"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginBottom="15dp"????????android:textAllCaps="true"?/>??? <TextView????????android:id="@+id/textView3"????????android:layout_width="wrap_content"?????? ?android:layout_height="wrap_content"????????android:text="Welcome to Tutlane"????????android:textStyle="bold"????????android:textColor="#fff"????????android:background="#7F3AB5"????????android:layout_marginBottom="15dp"/>??? <TextView????????android:id="@+id/textView4"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:autoLink="email|web"????????android:text="For more details visit and send mail to support@"?/></LinearLayout>MainActivity.javapackage?com.tutlane.textviewexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.widget.TextView;public class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? TextView tv = (TextView)findViewById(R.id.textView2);?? ?????tv.setText("Welcome to Tutlane");??? }}Output Android Text ViewEdit textDi android, EditText adalah kontrol antarmuka pengguna yang digunakan untuk memungkinkan pengguna memasukkan atau memodifikasi teks. Saat menggunakan kontrol EditText di aplikasi android kami, kami perlu menentukan jenis data yang dapat diterima oleh field teks dengan menggunakan atribut inputType. Misalnya, jika menerima teks biasa, maka kita perlu menentukan inputType sebagai "teks". Jika kolom EditText adalah untuk kata sandi, maka kita perlu menentukan jenis input sebagai "textPassword". Di android, kontrol EditText adalah versi lanjutan dari kontrol TextView dengan fitur tambahan dan ini digunakan untuk memungkinkan pengguna memasukkan nilai masukan. Di android, kita bisa membuat kontrol EditText dalam dua cara baik dalam file layout XML atau membuatnya di file Activity secara pemrograman. Berikut adalah langkah – langkah membuat EditText : Create Android Edit Text In layout File<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:orientation="vertical"?>??? <EditText????????android:id="@+id/txtSub"????????android:layout_width="match_parent"????????android:layout_height="wrap_content"????????android:hint="Subject"????????android:inputType="text"/></LinearLayout>Create EditText Control in Activity Filepublic class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? LinearLayout linearLayout =? (LinearLayout) findViewById(R.id.linearlayout);??????? EditText et =?new?EditText(this);??????? et.setHint("Subject");??????? linearLayout.addView(et);??? }}Set the Text of Android EditText<EditText? ? ?android:id="@+id/editText1"? ? ?android:layout_width="match_parent"? ? ?android:layout_height="wrap_content"? ? ?android:text="Welcome to Tutlane"?/>Get Text of Android EditTextpublic class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? EditText et = (EditText) findViewById(R.id.txtSub);??????? String name = et.getText().toString();??? }}Activity_main.xml<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:layout_width="match_parent"????android:layout_height="match_parent"????android:paddingLeft="40dp"????android:orientation="vertical"?android:id="@+id/linearlayout"?>??? <EditText????????android:id="@+id/txtName"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginTop="25dp"????????android:ems="10"????????android:hint="Name"????????android:inputType="text"????????android:selectAllOnFocus="true"?/>??? <EditText????????android:id="@+id/txtPwd"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:ems="10"????????android:hint="Password 0 to 9"????? ??android:inputType="numberPassword"?/>??? <EditText????????android:id="@+id/txtEmai"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:ems="10"????????android:hint="Email"????????android:inputType="textEmailAddress"?/>??? <EditText????????android:id="@+id/txtDate"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_below="@+id/editText3"????????android:ems="10"????????android:hint="Date"????????android:inputType="date"?/>??? <EditText????????android:id="@+id/txtPhone"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:ems="10"????????android:hint="Phone Number"????????android:inputType="phone"????????android:textColorHint="#FE8DAB"/>??? <Button????????android:id="@+id/btnSend"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="submit"????????android:textSize="16sp"????????android:textStyle="normal|bold"?/>??? <TextView????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:id="@+id/resultView"????????android:layout_marginTop="25dp"????????android:textSize="15dp"/></LinearLayout>MainActivity.javapackage?com.tutlane.edittextexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.view.View;import?android.widget.Button;import?android.widget.EditText;import?android.widget.TextView;import?org.w3c.dom.Text;public class?MainActivity?extends?AppCompatActivity {??? Button?btnSubmit;??? EditText?name,?password,?email,?dob,?phoneno;??? TextView?result;????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);????????name=(EditText)findViewById(R.id.txtName);????????password?= (EditText)findViewById(R.id.txtPwd);????????email?= (EditText)findViewById(R.id.txtEmai);????????dob?= (EditText)findViewById(R.id.txtDate);????????phoneno= (EditText)findViewById(R.id.txtPhone);????????btnSubmit?= (Button)findViewById(R.id.btnSend);????????result?= (TextView)findViewById(R.id.resultView);????????btnSubmit.setOnClickListener(new?View.OnClickListener() {????????????@Override????????????public void?onClick(View v) {????????????????if?(name.getText().toString().isEmpty() ||?password.getText().toString().isEmpty() ||?email.getText().toString().isEmpty() ||?dob.getText().toString().isEmpty()??????????????????????? ||?phoneno.getText().toString().isEmpty()) {????????????????????result.setText("Please Fill All the Details");??????????????? }?else?{????????????????????result.setText("Name -? "?+?name.getText().toString() +?"?\n"?+?"Password -? "?+?password.getText().toString()??????????????????????????? +?"?\n"?+?"E-Mail -? "?+?email.getText().toString() +?"?\n"?+?"DOB -? "?+?dob.getText().toString()??????????????????????????? +?"?\n"?+?"Contact -? "?+?phoneno.getText().toString());??????????????? }??????????? }??????? });??? }}Output Android Edit TextButton Button adalah kontrol antarmuka pengguna yang digunakan untuk melakukan tindakan setiap kali pengguna mengklik atau mengetuknya.Umumnya, Tombol di android akan berisi teks atau ikon atau keduanya dan melakukan tindakan saat pengguna menyentuhnya. Berikut adalah langkah – langkah membuat Button :Create Button in XML Layout File<LinearLayout?xmlns:android=""????android:orientation="vertical"?android:layout_width="match_parent"????android:layout_height="match_parent">??? <Button????????android:id="@+id/addBtn"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="Add"?/></LinearLayout>Create Button Control in Activity FileLinearLayout layout = (LinearLayout)findViewById(R.id.l_layout);Button btn =?new?Button(this);btn.setText("Test");layout.addView(btn);Define Button Click Event in XML Layout File<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:orientation="vertical"?android:layout_width="match_parent"????android:layout_height="match_parent">??????? <Button????????android:id="@+id/addBtn"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="Add"????????android:onClick="addOperation"/></LinearLayout>Define Buton Click Event in Activity FileButton btnAdd = (Button)findViewById(R.id.addBtn);btnAdd.setOnClickListener(new?View.OnClickListener() {public void?onClick(View v) {// Do something in response to button click}});}Activity_main.xml<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:orientation="vertical"?android:layout_width="match_parent"????android:layout_height="match_parent">??? <TextView????????android:id="@+id/fstTxt"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:layout_marginTop="150dp"????? ??android:text="First Number"?/>??? <EditText????????android:id="@+id/firstNum"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:ems="10"?/>??? <TextView????????android:id="@+id/secTxt"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="Second Number"????????android:layout_marginLeft="100dp"?/>??? <EditText????????android:id="@+id/secondNum"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:ems="10"?/>??? <Button????????android:id="@+id/addBtn"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:text="Add"?/></LinearLayout>MainActivity.javapackage?com.tutlane.buttonexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.view.View;import?android.widget.Button;import?android.widget.EditText;import?android.widget.Toast;public class?MainActivity?extends?AppCompatActivity {????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);????????final?EditText firstNum = (EditText)findViewById(R.id.firstNum);????????final?EditText secNum = (EditText)findViewById(R.id.secondNum);??????? Button btnAdd = (Button)findViewById(R.id.addBtn);??????? btnAdd.setOnClickListener(new?View.OnClickListener() {?? ?????????@Override????????????public void?onClick(View v) {????????????????if(firstNum.getText().toString().isEmpty() ||?secNum.getText().toString().isEmpty())??????????????? {??????????????????? Toast.makeText(getApplicationContext(),?"Please fill all the fields", Toast.LENGTH_SHORT).show();??????????????? }????????????????else?{????????????????????int?num1 = Integer.parseInt(firstNum.getText().toString());????????????????????int?num2 = Integer.parseInt(secNum.getText().toString());??????????????????? Toast.makeText(getApplicationContext(),?"SUM = "?+ (num1 + num2), Toast.LENGTH_SHORT).show();??????????????? }??????????? }??????? });??? }}Output Button SpinnerSpinner adalah tampilan yang memungkinkan pengguna memilih satu nilai dari daftar nilai. Pemintal di android akan berperilaku seperti daftar dropdown dalam bahasa pemrograman lainnya.Umumnya android akan menyediakan menu drop-down dengan daftar semua nilai saat kita klik atau ketuk di atasnya. Secara default,android akan menunjukkan nilai yang saat ini dipilihnya dan dengan menggunakan Adaptor kita bisa mengikat barang ke objek. Berikut adalah langkah – langkah membuat Spinner :Cretae Android Spinner in XML Layout File<Spinner?android:id="@+id/spinner1"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"/>Activity_main.xmlpackage?com.tutlane.spinnerexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.view.View;import?android.widget.AdapterView;import?android.widget.ArrayAdapter;import?android.widget.Spinner;import?android.widget.Toast;public class?MainActivity?extends?AppCompatActivity?implements?AdapterView.OnItemSelectedListener {String[]?users?= {?"Suresh Dasari",?"Trishika Dasari",?"Rohini Alavala",?"Praveen Kumar",?"Madhav Sai"?};????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);??????? Spinner spin = (Spinner) findViewById(R.id.spinner1);??????? ArrayAdapter<String> adapter =?new?ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,?users);??????? adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);??????? spin.setAdapter(adapter);??????? spin.setOnItemSelectedListener(this);??? }????@Override????public void?onItemSelected(AdapterView<?> arg0, View arg1,?int?position,long?id) {??????? Toast.makeText(getApplicationContext(),?"Selected User: "+users[position] ,Toast.LENGTH_SHORT).show();??? }????@Override????public void?onNothingSelected(AdapterView<?> arg0) {????????//?TODO - Custom Code????}}Output Android Spinner CheckboxCheckBox adalah tombol yang memiliki 2 keadaan (OFF / ON ) dan ini akan memungkinkan pengguna untuk beralih antara kedua negara (ON / OFF) berdasarkan persyaratan. Umumnya, kita dapat menggunakan beberapa kontrol CheckBox dalam aplikasi android untuk memungkinkan pengguna memilih satu atau lebih opsi dari kumpulan nilai. Berikut adalah langkah – langkah membuat CheckBox:Create CheckBox in XML Layout File<?xml version="1.0"?encoding="utf-8"?><RelativeLayout?xmlns:android=""????android:layout_width="match_parent"?android:layout_height="match_parent"><CheckBox????android:id="@+id/chk1"????android:layout_width="wrap_content"????android:layout_height="wrap_content"????android:checked="true"????android:text="Java"?/>?</RelativeLayout>Create CheckBox Control in Activity FileLinearLayout layout = (LinearLayout)findViewById(R.id.l_layout);CheckBox cb =?new?CheckBox(this);cb.setText("Tutlane");cb.setChecked(true);layout.addView(cb);Define CheckBox Click Event in XML Layout File<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""????android:orientation="vertical"?android:layout_width="match_parent"????android:layout_height="match_parent">??? <CheckBox?? ?android:id="@+id/chk1"????android:layout_width="wrap_content"????android:layout_height="wrap_content"????android:checked="true"????android:text="Java"android:onClick="onCheckBoxClick"/></LinearLayout>Define CheckBox Click Event in Activity FileCheckBox chk = (CheckBox) findViewById(R.id.chk1);chk.setOnClickListener(new?View.OnClickListener() {????@Override????public void?onClick(View v) {????????boolean?checked = ((CheckBox) v).isChecked();????????// Check which checkbox was clicked????????if?(checked){????????????// Do your coding????????????}????????else{????????????// Do your coding????????????}??? }});Activity_main.xml<?xml version="1.0"?encoding="utf-8"?><LinearLayout?xmlns:android=""? ??android:orientation="vertical"?android:layout_width="match_parent"????android:layout_height="match_parent">??? <CheckBox????????android:id="@+id/chkJava"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginTop="150dp"????????android:layout_marginLeft="100dp"????????android:text="Java"????????android:onClick="onCheckboxClicked"/>??? <CheckBox????????android:id="@+id/chkPython"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="Python"????????android:onClick="onCheckboxClicked"/>??? <CheckBox????????android:id="@+id/chkAndroid"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="Android"????????android:onClick="onCheckboxClicked"/>??? <CheckBox????????android:id="@+id/chkAngular"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="AngularJS"????????android:onClick="onCheckboxClicked"/>??? <Button????????android:id="@+id/getBtn"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:text="Get Details"?/></LinearLayout>MainActivity.javapackage?com.tutlane.checkboxexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.view.View;import?android.widget.Button;import?android.widget.CheckBox;import?android.widget.Toast;public class?MainActivity?extends?AppCompatActivity {??? CheckBox?android,?java,?angular,?python;????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);????????android?= (CheckBox)findViewById(R.id.chkAndroid);????????angular?= (CheckBox)findViewById(R.id.chkAngular);????????java?= (CheckBox)findViewById(R.id.chkJava);????????python?= (CheckBox)findViewById(R.id.chkPython);??????? Button btn = (Button)findViewById(R.id.getBtn);??????? btn.setOnClickListener(new?View.OnClickListener() {????????????@Override???? ???????public void?onClick(View v) {??????????????? String result =?"Selected Courses";????????????????if(android.isChecked()){??????????????? result +=?"\nAndroid";??????????????? }????????????????if(angular.isChecked()){??????????????????? result +=?"\nAngularJS";??????????????? }????????????????if(java.isChecked()){??????????????????? result +=?"\nJava";??????????????? }????????????????if(python.isChecked()){??????????????????? result +=?"\nPython";??????????????? }??????????????? Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();??????????? }??????? });??? }????public void?onCheckboxClicked(View view) {????????boolean?checked = ((CheckBox) view).isChecked();??????? String str="";????????// Check which checkbox was clicked????????switch(view.getId()) {????????????case?R.id.chkAndroid:??????????????? str = checked?"Android Selected":"Android Deselected";????????????????break;????????????case?R.id.chkAngular:??????????????? str = checked?"AngularJS Selected":"AngularJS Deselected";????????????????break;????????????case?R.id.chkJava:??????????????? str = checked?"Java Selected":"Java Deselected";????????????????break;????????????case?R.id.chkPython:??????????????? str = checked?"Python Selected":"Python Deselected";????????????????break;??????? }??????? Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();??? }}Output CheckBOxRadioButtonRadioButton adalah tombol yang dapat digunakan untuk memilih sebuah pernyataan seperti kontrol CheckBox, kecuali bahwa ia hanya mengizinkan satu opsi untuk memilih dari kelompok pilihan. Pengguna dapat menekan atau mengklik tombol radio untuk membuatnya dipilih. Di android, kontrol CheckBox memungkinkan pengguna untuk mengubah keadaan kontrol baik Checked atau Unchecked namun radiobutton tidak dapat dicentang setelah dicentang.Umumnya, kita dapat menggunakan kontrol RadioButton dalam aplikasi android untuk memungkinkan pengguna memilih hanya satu pilihan dari kumpulan nilai. Berikut adalah langkah – langkah membuat Radio Button :Create RadioButton in XML Layout File<?xml version="1.0"?encoding="utf-8"?><RelativeLayout?xmlns:android=""????android:layout_width="match_parent"?android:layout_height="match_parent"><RadioGroup????android:layout_width="match_parent"????android:layout_height="wrap_content"????android:orientation="vertical">??? <RadioButton????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="Java"????????android:checked="true"/></RelativeLayout>Create RadioButton Control in Activity FileLinearLayout layout = (LinearLayout)findViewById(R.id.l_layout);RadioButton rd =?new?RadioButton(this);rd.setText("Tutlane");rd.setChecked(true);layout.addView(rd);Create RadioButton Click Event in XML Layout File<?xml version="1.0"?encoding="utf-8"?><RelativeLayout?xmlns:android=""????android:layout_width="match_parent"?android:layout_height="match_parent"><RadioGroup????android:layout_width="match_parent"????android:layout_height="wrap_content"????android:orientation="vertical">??? <RadioButton????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:text="Java"????????android:onClick="onRadioButtonClicked"/></RadioGroup></RelativeLayout>Define RadioButton Click Event in Activity FileRadioButton rdb = (RadioButton) findViewById(R.id.radiobutton1);rdb.setOnClickListener(new?View.OnClickListener() {????@Override????public void?onClick(View v) {????????boolean?checked = ((RadioButton) v).isChecked();????????// Check which radiobutton was pressed????????if?(checked){????????????// Do your coding????????????}????????else{????????????// Do your coding????????????}??? }});activity_main.xml<?xml version="1.0"?encoding="utf-8"?><RelativeLayout?xmlns:android=""????android:layout_width="match_parent"?android:layout_height="match_parent">??? <TextView????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginTop="150dp"????????android:layout_marginLeft="100dp"????????android:textSize="18dp"????????android:text="Select Your Course"????????android:textStyle="bold"????????android:id="@+id/txtView"/><RadioGroup????android:layout_width="match_parent"????android:layout_height="wrap_content"????android:orientation="vertical"????android:id="@+id/rdGroup"????android:layout_below="@+id/txtView">??? <RadioButton????????android:id="@+id/rdbJava"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="Java"????????android:onClick="onRadioButtonClicked"/>??? <RadioButton????????android:id="@+id/rdbPython"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="Python"????????android:onClick="onRadioButtonClicked"/>??? <RadioButton????????android:id="@+id/rdbAndroid"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="Android"????????android:onClick="onRadioButtonClicked"/>? ??<RadioButton????????android:id="@+id/rdbAngular"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:padding="10dp"????????android:layout_marginLeft="100dp"????????android:text="AngularJS"????????android:onClick="onRadioButtonClicked"/></RadioGroup>??? <Button????????android:id="@+id/getBtn"????????android:layout_width="wrap_content"????????android:layout_height="wrap_content"????????android:layout_marginLeft="100dp"????????android:layout_below="@+id/rdGroup"????????android:text="Get Course"?/></RelativeLayout>Main_Activity.javapackage?com.tutlane.radiobuttonexample;import?android.support.v7.app.AppCompatActivity;import?android.os.Bundle;import?android.view.View;import?android.widget.Button;import?android.widget.RadioButton;import?android.widget.Toast;public class?MainActivity?extends?AppCompatActivity {??? RadioButton?android,?java,?angular,?python;????@Override????protected void?onCreate(Bundle savedInstanceState) {????????super.onCreate(savedInstanceState);??????? setContentView(R.layout.activity_main);?? ?????android?= (RadioButton)findViewById(R.id.rdbAndroid);????????angular?= (RadioButton)findViewById(R.id.rdbAngular);????????java?= (RadioButton)findViewById(R.id.rdbJava);????????python?= (RadioButton)findViewById(R.id.rdbPython);??????? Button btn = (Button)findViewById(R.id.getBtn);??????? btn.setOnClickListener(new?View.OnClickListener() {????????????@Override????????????public void?onClick(View v) {??????????????? String result =?"Selected Course: ";??????????????? result+= (android.isChecked())?"Android":(angular.isChecked())?"AngularJS":(java.isChecked())?"Java":(python.isChecked())?"Python":"";??????????????? Toast.makeText(getApplicationContext(), result, Toast.LENGTH_SHORT).show();??????????? }??????? });??? }????public void?onRadioButtonClicked(View view) {????????boolean?checked = ((RadioButton) view).isChecked();??????? String str="";????????// Check which radio button was clicked????????switch(view.getId()) {????????????case?R.id.rdbAndroid:????????????????if(checked)???? ???????????str =?"Android Selected";????????????????break;????????????case?R.id.rdbAngular:????????????????if(checked)??????????????? str =?"AngularJS Selected";????????????????break;????????????case?R.id.rdbJava:????????????????if(checked)??????? ????????str =?"Java Selected";????????????????break;????????????case?R.id.rdbPython:????????????????if(checked)??????????????? str =?"Python Selected";????????????????break;??????? }??????? Toast.makeText(getApplicationContext(), str, Toast.LENGTH_SHORT).show();??? }}Output RadioButtonSumber : ................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download