2-programming in android studio
DESCRIPTION
Pemrograman AndroidTRANSCRIPT
![Page 1: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/1.jpg)
Programming in
Android Studio Pertemuan 2 – IF 634
Seng Hansun, S.Si., M.Cs.
![Page 2: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/2.jpg)
Reviews
What is Android?
Android’s Version
Android’s Platform Distributions
Android’s Features
Android’s Platform/ Architecture
Android Devices
Android Market
Tools on Android
Setting Up the Android Studio
Creating Your First Project: HelloWorld
Running Your Project
Pertemuan 2 - TI735
![Page 3: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/3.jpg)
Objectives
Android Studio editor
Code folding
Code completion
Commenting code
Code generation
Code reformatting
Inserting live templates
Moving codes
Styling codes
Refactoring code
Anatomy of Android Studio apps
Pertemuan 2 - TI735
![Page 4: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/4.jpg)
Introduction
Mengembangkan suatu aplikasi melibatkan banyak upaya programming, meliputi menulis, mereview, dan memodifikasi baris kode program.
Kelebihan pemanfaatan suatu modern code editor:
Mengurangi penulisan kode oleh programmer
Kemudahan navigasi dalam source code files yang besar
Kemampuan mendeteksi dan men-highlight programming errors saat kode program ditulis (‘on-the-fly code analysis’)
Beberapa fitur utama yang diharapkan dapat meningkatkan produktivitas programmer akan dibahas.
Pertemuan 2 - TI735
![Page 5: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/5.jpg)
Android Studio Editor
Pertemuan 2 - TI735
A
B
C
D
E
![Page 6: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/6.jpg)
The Validation and Marker Sidebar
Pertemuan 2 - TI735
![Page 7: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/7.jpg)
Lens Overlay
Pertemuan 2 - TI735
![Page 8: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/8.jpg)
Splitting the Editor Window
Pertemuan 2 - TI735
Right
click
![Page 9: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/9.jpg)
Searching and Opening Files
Pertemuan 2 - TI735
Ctrl + N
![Page 10: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/10.jpg)
Show/ Hide Line Numbers
Pertemuan 2 - TI735
Help → Find Action
![Page 11: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/11.jpg)
Code Folding
Pertemuan 2 - TI735
Folding
Outline
![Page 12: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/12.jpg)
Code Folding
Pertemuan 2 - TI735
Setting → Editor → Code Folding
![Page 13: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/13.jpg)
Code Completion
Android Studio editor memiliki kemampuan dan pengetahuan built-in Java programming termasuk classes dan methods yang membentuk Android SDK.
Saat code diketik, editor akan memindai apa yang diketik dan bila sesuai akan memberikan saran-saran perintah program yang memungkinkan.
Saran-saran yang diberikan akan berbeda tergantung pada ruang lingkup cursor Anda berada.
Pertemuan 2 - TI735
![Page 14: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/14.jpg)
Code Completion
Pertemuan 2 - TI735
![Page 15: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/15.jpg)
Code Completion
Pertemuan 2 - TI735
![Page 16: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/16.jpg)
Statement Completion
Pertemuan 2 - TI735
Ctrl + Shift + Enter
![Page 17: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/17.jpg)
Parameter Information
Pertemuan 2 - TI735
Ctrl + P
![Page 18: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/18.jpg)
Code Generation
Pertemuan 2 - TI735
Alt + Insert
![Page 19: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/19.jpg)
Code Reformatting
Untuk me-reformat source code, tekan
Ctrl + Alt + L.
Pertemuan 2 - TI735
Ctrl + Alt + Shift + L
![Page 20: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/20.jpg)
Using Templates
Android Studio memungkinkan programmer untuk memasukkan code secara langsung ke dalam source file melalui templates.
Untuk melihat live templates yang ada dan membuatnya:
Pertemuan 2 - TI735
File → Settings → Editor → Live Templates
![Page 21: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/21.jpg)
Using Templates
Pertemuan 2 - TI735
![Page 22: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/22.jpg)
Using Templates
Pertemuan 2 - TI735
Ctrl + J
![Page 23: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/23.jpg)
Quick Documentation Lookup
Pertemuan 2 - TI735
Ctrl + Q
![Page 24: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/24.jpg)
Code Comment
Comments merupakan baris kode yang akan diabaikan oleh compiler, namun mengandung pesan atau metadata yang penting bagi programmers.
Pertemuan 2 - TI735
![Page 25: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/25.jpg)
Code Comment
Pertemuan 2 - TI735
![Page 26: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/26.jpg)
Moving Codes
Pertemuan 2 - TI735
![Page 27: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/27.jpg)
Styling Codes
Pertemuan 2 - TI735
![Page 28: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/28.jpg)
Refactoring Codes
Selain membangkitkan code, Android Studio juga menyediakan fasilitas untuk me-refactor code Anda.
Perhatikan, proses refactoring ini dapat menghasilkan errors yang tidak diinginkan.
Pertemuan 2 - TI735
Refactor → Refactor This
Ctrl + Alt +Shift + T
![Page 29: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/29.jpg)
Anatomy of Android Apps
Activities
Intents
Broadcast Intents
Broadcast Receivers
Services
Content Providers
Application Manifest
Application Resources
Application Context
Pertemuan 2 - TI735
![Page 30: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/30.jpg)
Activities
Activity adalah suatu modul fungsionalitas aplikasi yang biasanya berhubungan langsung dengan suatu layar user interface dan fungsionalitas di dalamnya.
Activities juga didesain agar dapat saling bertukar data diantara beragam aplikasi.
Activities dibangun sebagai subclass dari class Android activity dan harus diterapkan, sehingga sepenuhnya independent dari activities lainnya dalam suatu aplikasi.
Pertemuan 2 - TI735
![Page 31: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/31.jpg)
Intents
Merupakan mekanisme dimana satu activity dapat menjalankan activity lainnya dan menerapkan alur proses yang dibutuhkan dalam aplikasi.
Intents bisa dideklarasikan secara eksplisit (misal memanggil activity lainnya dengan merujuk pada nama class activity tersebut) atau secara implisit (dengan menyatakan tipe aksi yang akan dilakukan atau menyediakan data dari suatu tipe khusus dimana aksi tersebut akan dilakukan).
Pertemuan 2 - TI735
![Page 32: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/32.jpg)
Broadcast Intents
Merupakan suatu intent sistem yang dikirim ke seluruh aplikasi yang telah mendaftar pada suatu Broadcast Receiver.
Suatu broadcast intent dapat berjalan secara normal (asynchronous) yang dikirim ke seluruh broadcast receivers pada waktu yang kurang lebih sama, atau secara berurutan (odered) dimana intent dikirimkan ke satu receiver pada satu waktu untuk diproses dan kemudian dihentikan atau diteruskan ke broadcast receiver lainnya.
Pertemuan 2 - TI735
![Page 33: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/33.jpg)
Broadcast Receivers
Merupakan mekanisme dimana aplikasi dapat memberikan tanggapan pada Broadcast Intents.
Harus diregister oleh suatu aplikasi dan dikonfigurasi dengan suatu intent filter untuk mengindikasi jenis dari broadcast yang diinginkan.
Saat suatu intent yang sesuai dikirimkan, receiver akan dipanggil oleh Android runtime.
Broadcast receivers berjalan secara background dan tidak memiliki suatu user interface.
Pertemuan 2 - TI735
![Page 34: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/34.jpg)
Services
Merupakan proses-proses yang berjalan secara background dan tidak memiliki user interface.
Dapat dijalankan dan diatur dari activities, broadcast receiver, atau dari services lainnya.
Android runtime memberikan prioritas yang lebih tinggi pada services dibandingkan proses-proses lainnya, dan hanya akan dimatikan oleh sistem sebagai upaya terakhir untuk membebaskan resources.
Pertemuan 2 - TI735
![Page 35: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/35.jpg)
Content Providers
Menerapkan suatu mekanisme untuk sharing data diantara aplikasi.
Memiliki kemampuan untuk menambah, menghapus, dan melakukan query data (tergantung pada permissions yang diberikan).
Akses pada data disediakan melalui Universal Resource Identifier (URI) yang didefinisikan oleh content provider.
Data dapat dibagikan dalam bentuk suatu file atau keseluruhan database SQLite.
Pertemuan 2 - TI735
![Page 36: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/36.jpg)
Application Manifest
Merupakan perekat yang mengumpulkan beragam elemen yang membentuk suatu aplikasi Android.
Dalam file XML inilah, aplikasi mendeskripsikan activities, services, broadcast receivers, data providers, dan permissions yang membangun keseluruhan aplikasi.
Pertemuan 2 - TI735
![Page 37: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/37.jpg)
Application Resources
Selain file manifest dan file Dex yang mengandung byte code, suatu Android application package juga biasanya memiliki suatu kumpulan files resource.
Misal strings, images, fonts, dan colors yang muncul dalam user interface bersama dengan representasi XML dari layouts user interface.
Secara default, files ini disimpan dalam subdirectory /res dari hirarki project aplikasi.
Pertemuan 2 - TI735
![Page 38: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/38.jpg)
Application Context
Saat suatu aplikasi di-compile, suatu class R dibentuk.
Class ini mengandung references ke application resources.
File manifest aplikasi dan resources aplikasi bergabung membentuk suatu application context.
Context ini dapat digunakan dalam code aplikasi untuk memperoleh akses ke resources aplikasi secara runtime.
Pertemuan 2 - TI735
![Page 39: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/39.jpg)
Next
Android Apps Components
Android Apps Resources
Activity Lifecycles
Activity State Changes
Saving and Restoring Activity State
Pertemuan 2 - TI735
![Page 40: 2-Programming in Android Studio](https://reader034.vdocument.in/reader034/viewer/2022042514/5695d1ba1a28ab9b0297b08c/html5/thumbnails/40.jpg)
References
Gerber, A., Craig, C., 2015, Learn Android Studio: Build Android Apps Quickly and Effectively, Apress: California.
Cinar, O., 2015, Android: Quick APIs Reference, Apress: California.
http://www.techotopia.com/index.php/The_Basics_of_the_Android_Studio_Code_Editor
http://www.techotopia.com/index.php/The_Anatomy_of_an_Android_Studio_Android_Application
Pertemuan 2 - TI735