Universitas Kebudayaan Digital Makassar

Universitas Kebudayaan Digital Makassar (UKDMKS) memadukan inovasi teknologi digital dengan pelestarian budaya lokal. Bergabunglah untuk membangun masa depan berbasis budaya dan teknologi!

android jetpack android ktx android studio androidx

Belajar Komponen Foundation Android & Android KTX

Foundation 

Komponen Foundation atau fondasi, menyediakan fungsionalitas lintas sektor seperti kompatibilitas dengan versi sebelumnya, pengujian, dan dukungan bahasa Kotlin. Berikut bagian dari komponen fondasi:


Android KTX

Android KTX? Pernahkah kalian mendengarnya? Jika Anda menggunakan bahasa Kotlin, mungkin Android KTX familiar di telinga Anda. 
Dengan menggunakan Android KTX, Anda bisa menulis kode Kotlin menjadi lebih ringkas dan idiomatis. Android KTX merupakan sekumpulan ekstensi Kotlin yang terdapat di dalam Android Jetpack. 
Bagaimana menggunakannya? Ekstensi ini memanfaatkan beberapa fitur bahasa Kotlin yakni:
  • Extension function
  • Extension properties
  • Lambdas
  • Named parameters
  • Parameter & default values
Contohnya, ketika Anda menggunakan SharedPreferences Anda perlu membuat sebuah editor terlebih dahulu sebelum Anda memodifikasi data Preferences tersebut. Anda juga harus melakukan apply atau commit untuk memperbarui perubahan saat proses editing sudah dilakukan, contohnya seperti ini:


  1. sharedPreferences

  2.         .edit()  // Membuat editor

  3.         .putBoolean("key", value)

  4.         .apply() // menyimpan data secara asynchronous


Penggunaan Kotlin Lambdas sangat cocok untuk kasus di atas. 
Kotlin Lamdas memungkinkan Anda untuk melakukan pendekatan yang lebih ringkas dengan mengirim blok kode untuk dieksekusi setelah editor dibuat, membiarkan kode tersebut diesksekusi dan membiarkan API SharedPreferences melakukan perubahan secara otomatis. 
Berikut adalah contoh dari salah satu fungsi Android KTX Core, SharedPreferences.edit yang mana berguna untuk menambahkan fungsi edit ke SharedPrefereces. Fungsi tersebut menggunakan boolean flag (opsional) sebagai argumen pertama dan menunjukan apakah Anda akan melakukan atau menerapkan perubahannya atau tidak. Fungsi ini juga menerima perintah untuk melakukan editing.
Berikut adalah contoh penerapan SharedPreferences dalam bentuk lambda:


  1. // SharedPreferences.edit extension function signature from Android KTX - Core

  2. // inline fun SharedPreferences.edit(

  3. //         commit: Boolean = false,

  4. //         action: SharedPreferences.Editor.() -> Unit)


  5. // Commit a new value asynchronously

  6. sharedPreferences.edit { putBoolean("key", value) }


  7. // Commit a new value synchronously

  8. sharedPreferences.edit(commit = true) { putBoolean("key", value) }


Perhatikan kode di atas. Lebih ringkas bukan? Anda tidak perlu mengulang-ulang penulisan apply pada kode, bahkan hilang. Anda juga dapat memilih apakah akan melakukan atau menerapkan perubahan, atau tidak. 
Tindakan lambda sendiri merupakan fungsi dari ekstensi anonim dalam SharedPrefereces.Editor yang mengembalikan Unit, seperti kode di atas. Inilah sebabnya di dalam blok kode, Anda dapat melakukan aksi secara langsung di SharedPreferences.Editor
Ada banyak contoh lainnya dalam penggunaan Android KTX ini. Anda bisa kunjungi tautan ini untuk mempelajarinya lebih dalam.

AppCompat

AppCompat merupakan library yang menyediakan fitur tertentu dan dapat dimasukkan ke dalam aplikasi Anda secara independen. Jika Anda perhatikan, secara otomatis library ini sudah ada di dalam proyek Android Anda. 
Tentu tanpa adanya AppCompat, Anda akan kesulitan dalam membuat aplikasi Android. Lalu apa saja contoh dari AppCompat? Contohnya yaitu library yang mendukung implementasi Action BarDi dalam library ini juga mendukung untuk Material Design. Anda bisa menambahkan kode berikut di build.gradle untuk menggunakan library AppCompat:


  1. implementation 'androidx.appcompat:appcompat:1.1.0'


Di dalam library AppCompat juga terdapat:
  • ActionBar – mendukung implementasi Action Bar UI Pattern. 
  • AppCompatActivity – mampu menambahkan Activity dengan Action Bar di dalamnya dan dapat digunakan sebagai kelas dasar dari Activity.
  • AppCompatDialog – mampu menambahkan kelas Dialog yang dapat digunakan sebagai kelas dasar untuk Dialog dengan tema AppCompat.
  • SharedActionProvider – mempunyai dukungan perintah berbagi yang berstandar seperti mengirim email atau membagikan kiriman ke aplikasi sosial media.

Auto

Pernahkah kalian melihat sebuah mobil yang ada smart phone di dalamnya? Seperti gambar di bawah ini:

File:Android Auto in usage.jpg
Auto merupakan komponen yang mampu membantu Anda dalam mengembangkan aplikasi untuk Android Auto. 
Android Auto memungkinkan pengguna menikmati versi aplikasi yang dioptimalkan baik di ponsel mereka maupun dengan menghubungkan ponsel mereka ke kendaraan, tentunya kendaraan yang kompatibel untuk menampilkan langsung screen di konsol. Anda bisa mempelajari lebih dalam tentang Android Auto di sini.

Benchmark

Dengan menggunakan library Benchmark, Anda dapat secara cepat membandingkan kode Kotlin atau Java dari dalam Android Studio. 
Library ini menangani warmup, mengukur kinerja kode Anda dan menampilkan hasil bechmarking ke console di dalam Android Studio. 
Contohnya untuk melakukan scrolling RecyclerView, melihat performa dari sebuah query database dan lain-lain. Jika Anda belum mengimplementasikan AndroidX dalam proyek yang ingin Anda Benchmark, lihatlah tautan ini untuk melakukan migrasi ke AndroidX. 
Anda juga bisa mempelajari bagaimana cara melakukan bechmark dengan mengunjungi tautan ini.

Multidex

Ketika aplikasi dan library yang ada di dalam proyek Android Studio melebihi 65.536 method, Anda akan menjumpai kegagalan sewaktu proses build yang menunjukkan aplikasi Anda telah mencapai batas arsitektur Android build:


  1. trouble writing output:

  2. Too many field references: 131000; max is 65536.

  3. You may try using --multi-dex option.


Versi yang lebih lama dari sistem build melaporkan kesalahan yang berbeda, namun indikasi masalahnya tetap sama:


  1. Conversion to Dalvik format failed:

  2. Unable to execute dex: method ID not in [0, 0xffff]: 65536


Kedua kondisi kesalahan ini menampilkan nomor umum: 65536. Nomor ini mewakili total maksimal referensi yang dapat dipanggil oleh kode dalam satuan file bytecode Dalvik Executable (DEX). Anda pasti penasaran bagaimana cara mengatasi eror tersebut kan? 
Nah, Anda bisa mengaktifkan konfigurasi aplikasi yang dikenal sebagai Multidex, yang memungkinkan aplikasi Anda untuk membangun dan membaca beberapa berkas DEX.
Lalu bagaimana penerapannya? Lihat pada kode berikut pada build.gradle(module:App)


  1. android {

  2.     defaultConfig {

  3.         ...

  4.         minSdkVersion 21

  5.         targetSdkVersion 28

  6.         multiDexEnabled true

  7.     }

  8.     ...

  9. }


Jika Anda menggunakan minSdkVersion di 21 atau ke atas, Anda hanya perlu mengatur multiDexEnable di posisi true. Mudah kan? Anda bisa mempelajari lebih dalam tentang MultiDex atau mengetahui penggunaan MultiDex di minSdkVersion 20 ke bawah, dengan mengunjungi tautan ini.

Security

Library Security, merupakan bagian dari Android Jetpack yang menyediakan best practice dalam mengimplementasi keamanan untuk membaca dan menulis data saat keadaan standby, serta pembuatan dan verifikasi sandi. Library Security menggunakan pola builder untuk memberikan pengaturan default yang aman. Tingkat keamanan yang diunggulkan adalah:
  • Kekuatan keamaan, menyeimbangkan enkripsi terbaik dan kinerja yang baik. Tingkat keamanan ini sesuai untuk aplikasi konsumen, seperti aplikasi perbankan dan aplikasi chatting.
  • Keamanan maksimum. Tingkat keamanan ini sesuai untuk aplikasi yang memerlukan hardware-backed keystore dan keberadaan pengguna, untuk menyediakan akses utama.
Key Management
Library Security menggunakan 2 cara untuk key management:
  • Keyset: berisi satu atau lebih kunci untuk mengenkripsi sebuah berkas atau data shared preference. Keyset itu sendiri disimpan di SharedPreferences.
  • Master Key: berisi semua engkripsi dari Keyset. Master Key disimpan menggunakan sistem Android keystore.
Bukalah tautan ini untuk mengetahui bagaimana melakukan konfigurasi keamanan yang disarankan, serta cara membaca dan menulis data yang terenkripsi dan disimpan dalam file atau shared preference yang mudah dan aman.

Test

Menguji aplikasi Anda adalah bagian integral dari proses pengembangan aplikasi. Dengan menjalankan tes terhadap aplikasi secara konsisten, Anda dapat memverifikasi kebenaran aplikasi Anda, perilaku fungsional, dan kegunaan sebelum Anda merilisnya ke publik. Pengujian juga memberi Anda keuntungan berikut:
  • Ketika terjadi kesalahan akan semakin cepat mendapatkan feedback.
  • Deteksi kegagalan sedini mungkin dalam siklus pengembangan aplikasi.
  • Refactoring kode yang lebih aman, memungkinkan Anda mengoptimalkan kode tanpa khawatir tentang regressions.
  • Kecepatan pengembangan aplikasi bisa dilakukan dengan stabil, serta membantu Anda meminimalkan hal teknis yang tertunda.
sWQkP4bPhrYaqzS_PqPNvQ-P8283WiI4cmtsylIO2dswGOIWNnrGm568BOlHneHEe8yujJqPwwqMeYLET9Jtr109cjz4Zk1Y3oNoRNaNFSLlCsY_TvZSvIJALAOhY-dnBRFbqykFXgc
Fundamentals of testing – https://developer.android.com/images/training/testing/testing-workflow.png
Anda sudah mempelajari tentang Test di modul sebelumnya, Anda juga bisa baca tautan ini untuk mengenali lebih dalam tentang pengujian.

TV

Dengan ini, Anda dapat membangun aplikasi yang memungkinkan pengguna mampu merasakan konten immersive di layar yang lebih lebar. 
Pengguna dapat menemukan rekomendasi konten Anda di layar beranda, dan library leanback yang menyediakan API untuk membantu Anda mempunyai pengalaman yang hebat dalam membangun aplikasi untuk kendali jarak jauh. Penasaran? Bukalah tautan berikut ini untuk mempelajari lebih dalam.
Hasil gambar untuk android tv

Wear OS by Google

Komponen terakhir dari Jetpack Fundation adalah Wear OS by Google. Komponen yang membantu mengembangkan aplikasi untuk Wear (Jam Pintar). Jam tangan pintar yang membuat Anda terhubung dengan kesehatan Anda, info yang dibutuhkan dari orang-orang di sekitar Anda, dan yang paling keren adalah Google Assistant. Silakan buka tautan ini untuk mempelajari bagaimana membuat aplikasi untuk Wear OS by Google.
Hasil gambar untuk wear os by google
Asalas | Unlock Anime, Manhwa & Donghua Like Never BeforeFinasteriden: Unlock the Secrets of the Movie World!Marians Woman: Celebrating Beauty Around the WorldArheon - Unveiling the Secrets of Food & Origins WorldwideMPAPER The Ultimate Destination for Anime & Manga FansANMC21: Your Guide to Smarter Living and SuccessMV Agusta of Tampa: Your Automotive News HubTech and Play: Your Hub for Technology, Gaming, and GadgetsRebeccaSommer : Stories & Cultures from Around the WorldUETRABAJANDOJUNTOS - Inside the Music World’s Best-Kept SecretsVandelay Armor - Viral News and Global UpdatesGainesville Sun: Technology & Computers UnveiledGRFX Gaming Party Bus: Journey Through Gaming ErasHouse of Beauty: Celebrating the World's Most Beautiful WomenLearn Mistake: Wisdom for a Better LifeSports Hope Alive: Portal Olahraga DuniaWorld News TW - The Hottest Viral News & Global HeadlinesWriter Sujatha - Life Lessons & Struggles That Inspirehttps://128.199.185.186/https://143.198.89.74/https://165.227.47.178/https://170.64.208.214/https://170.64.192.239/https://46.101.102.216/LVONLINEtelegram lvonlinehttps://www.thecarbongenie.com/https://www.aievea-bijou.com/https://www.slashpolicy.com/https://www.benwestbeech.com/https://www.hh-bags.com/https://www.drupalforfacebook.org/https://www.lvonline.boats/https://www.lvoslot.com/https://www.lvobet.id/https://www.lvoslot.id/https://www.lvonline000.com/https://www.lvonline001.com/https://www.lvonline002.com/https://www.lvonline003.com/https://www.lvonline004.com/https://www.lvonline005.com/https://www.lvonline006.com/https://www.lvonline007.com/https://www.lvonline008.com/https://www.lvonline009.com/https://www.lvonline010.com/https://www.lvonlinepoker.com/https://www.lvonlinebola.com/https://www.lvonlinekasino.com/https://www.lvonline.io/https://www.lvonline.store/https://www.lvonline.online/https://www.situslvonline.us/situs bandar lvonlinehttps://146.190.97.83/https://143.198.209.134/https://188.166.246.204/https://167.172.83.179/https://togelhok.tv/https://www.togelhok.id/https://earthtoweb.com/https://www.elearningfacultymodules.org/https://www.how6youtoknowc.org/https://128.199.71.129/https://167.172.64.185/https://152.42.192.250/https://www.capcut88.com/https://www.capcut88.co/https://towsonsmiles.com/https://www.campur88.com/https://www.campur88.org/https://www.campur88.work/https://www.campur88.xyz/https://www.campur88.lol/https://www.nagacampur.biz/https://www.nagacampur.club/https://www.nagacampur.co/https://www.nagacampur.me/https://www.nagacampur.xyz/https://www.nasicampur88.com/https://165.232.175.185/https://152.42.164.228/https://152.42.194.203/https://152.42.169.214/https://www.campurslot.com/https://www.campurslot.id/https://www.campurslot.co/https://www.campurslot.org/https://www.campurslot.homes/https://www.campurslot.design/Badan Lembaga Pendidikan Ilmu Komputer SubangUniversitas Negeri JeparaLembaga Universitas Kristen MaranthaSMP 3 Negri Nganjukhttps://iklanmalay.com/https://promobola.comhttps://kapsychologists.comhttps://propertycloudsite.comSattar777 NewsVR Slot Online NewsRuby888 Online Slot NewsBerita Global Klik Agenslot228Agen Sloto SG777 NewsGold Club SlotOnline NewsAzar Marra Kech NewsBerita Sidney dan MancanegaraBerita Seputar Sumsel dan DuniaBerita Rehabilitasi Judi OnlineBerita Link Gacor TerupdateItalian Tuition News UpdateWPJS Online NewsBerita Agen Slot RoyalThai Slot Online NewsAll Online Game NewsOnline Game News UpdateAsian Lotre NewsBerita Demo Dana SlotBerita Kalbar ProvLocanda della Maria NewsWye Valley NewsBerita Agen Slot1004Berita Agen Slot33Agen Slot399 NewsPlayboy Slot Online NewsSlot Online BB Slot NewsSlot Online 911 News365 Slot Online NewsEat Atlah Newsambamali canadaInfo Seputar Sepakbolacentre thoughtBerita Hiburanopen etherpadras indo groupresistance manualPrediksi Shiowe want real newsthe poisoned pawnindonesia reclaimed teakswift kennedy and copullip passionmy passion foraim torontoPublic FlashesFriweb TeknologiIngenious Gamersthe late show gardensGishPuppy Newsslot danaOregon Farm Garden NewsViral Pulse GlobaljumpajpPromo Bola soccer Captivates The WorldKapsychologists World First The Science of Mental Health - Understanding Psychiatry: The Science of Mental HealthPropertyCloudSite How to Make Smarter Investments in Today’s MarketArnavichara Ultimate Guide Right Business SoftwareAuscare Disability A Comprehensive Guide to Retirement Homes Finding the Perfect Place to Enjoy Your Golden YearsSeries Mp4 The Future of Entertainment Streaming and Downloadable Video ExplainedAlogirlxinh How to Create a Successful Personal Page or Blog in 2024ihokibethttps://bengbulang-karangpucung.cilacapkab.go.id/https://comunicacion.unsa.edu.ar/https://seychellesbiodiversitychm.sc/https://www.925lms.com/https://www.guisseny.memoire.bzh/https://www.mobiliars.org/https://www.squashparkwieliczka.pl/
Asalas | Unlock Anime, Manhwa & Donghua Like Never BeforeFinasteriden: Unlock the Secrets of the Movie World!Marians Woman: Celebrating Beauty Around the WorldArheon - Unveiling the Secrets of Food & Origins WorldwideMPAPER The Ultimate Destination for Anime & Manga FansANMC21: Your Guide to Smarter Living and SuccessMV Agusta of Tampa: Your Automotive News HubTech and Play: Your Hub for Technology, Gaming, and GadgetsRebeccaSommer : Stories & Cultures from Around the WorldUETRABAJANDOJUNTOS - Inside the Music World’s Best-Kept SecretsVandelay Armor - Viral News and Global UpdatesGainesville Sun: Technology & Computers UnveiledGRFX Gaming Party Bus: Journey Through Gaming ErasHouse of Beauty: Celebrating the World's Most Beautiful WomenLearn Mistake: Wisdom for a Better LifeSports Hope Alive: Portal Olahraga DuniaWorld News TW - The Hottest Viral News & Global HeadlinesWriter Sujatha - Life Lessons & Struggles That Inspirehttps://128.199.185.186/https://143.198.89.74/https://165.227.47.178/https://170.64.208.214/https://170.64.192.239/https://46.101.102.216/LVONLINEtelegram lvonlinehttps://www.thecarbongenie.com/https://www.aievea-bijou.com/https://www.slashpolicy.com/https://www.benwestbeech.com/https://www.hh-bags.com/https://www.lvonline.boats/https://www.lvoslot.com/https://www.lvobet.id/https://www.lvoslot.id/https://www.lvonline000.com/https://www.lvonline001.com/https://www.lvonline002.com/https://www.lvonline003.com/https://www.lvonline004.com/https://www.lvonline005.com/https://www.lvonline006.com/https://www.lvonline007.com/https://www.lvonline008.com/https://www.lvonline009.com/https://www.lvonline010.com/https://www.lvonlinepoker.com/https://www.lvonlinebola.com/https://www.lvonlinekasino.com/https://www.lvonline.io/https://www.lvonline.store/https://www.lvonline.online/https://www.situslvonline.us/situs bandar lvonlinehttps://146.190.97.83/https://143.198.209.134/https://188.166.246.204/https://167.172.83.179/https://togelhok.tv/https://www.togelhok.id/https://earthtoweb.com/https://www.elearningfacultymodules.org/https://www.how6youtoknowc.org/https://128.199.71.129/https://167.172.64.185/https://152.42.192.250/https://www.capcut88.com/https://www.capcut88.co/https://towsonsmiles.com/https://www.campur88.com/https://www.campur88.org/https://www.campur88.work/https://www.campur88.xyz/https://www.campur88.lol/https://www.nagacampur.biz/https://www.nagacampur.club/https://www.nagacampur.co/https://www.nagacampur.me/https://www.nagacampur.xyz/https://www.nasicampur88.com/https://165.232.175.185/https://152.42.164.228/https://152.42.194.203/https://152.42.169.214/https://www.campurslot.com/https://www.campurslot.id/https://www.campurslot.co/https://www.campurslot.org/https://www.campurslot.homes/https://www.campurslot.design/Badan Lembaga Pendidikan Ilmu Komputer SubangUniversitas Negeri JeparaLembaga Universitas Kristen MaranthaSMP 3 Negri Nganjukhttps://iklanmalay.com/https://promobola.comhttps://kapsychologists.comhttps://propertycloudsite.comSattar777 NewsVR Slot Online NewsRuby888 Online Slot NewsBerita Global Klik Agenslot228Agen Sloto SG777 NewsGold Club SlotOnline NewsAzar Marra Kech NewsBerita Sidney dan MancanegaraBerita Seputar Sumsel dan DuniaBerita Rehabilitasi Judi OnlineBerita Link Gacor TerupdateItalian Tuition News UpdateWPJS Online NewsBerita Agen Slot RoyalThai Slot Online NewsAll Online Game NewsOnline Game News UpdateAsian Lotre NewsBerita Demo Dana SlotBerita Kalbar ProvLocanda della Maria NewsWye Valley NewsBerita Agen Slot1004Berita Agen Slot33Agen Slot399 NewsPlayboy Slot Online NewsSlot Online BB Slot NewsSlot Online 911 News365 Slot Online NewsEat Atlah Newsambamali canadaInfo Seputar Sepakbolacentre thoughtBerita Hiburanopen etherpadras indo groupresistance manualPrediksi Shiowe want real newsthe poisoned pawnindonesia reclaimed teakswift kennedy and copullip passionmy passion foraim torontoPublic FlashesFriweb TeknologiIngenious Gamersthe late show gardensGishPuppy Newsslot danaOregon Farm Garden NewsViral Pulse GlobaljumpajpPromo Bola soccer Captivates The WorldKapsychologists World First The Science of Mental Health - Understanding Psychiatry: The Science of Mental HealthPropertyCloudSite How to Make Smarter Investments in Today’s MarketArnavichara Ultimate Guide Right Business SoftwareAuscare Disability A Comprehensive Guide to Retirement Homes Finding the Perfect Place to Enjoy Your Golden YearsSeries Mp4 The Future of Entertainment Streaming and Downloadable Video ExplainedAlogirlxinh How to Create a Successful Personal Page or Blog in 2024ihokibethttps://bengbulang-karangpucung.cilacapkab.go.id/https://comunicacion.unsa.edu.ar/https://seychellesbiodiversitychm.sc/https://www.925lms.com/https://www.guisseny.memoire.bzh/https://www.mobiliars.org/https://www.squashparkwieliczka.pl/https://mok.edu.kz/https://www.mware.cloud/https://www.facilitiescoolingandheating.com.au/https://www.krillpay.ng/https://925worksuite.com/