As part of our ongoing commitment to nurture the tech startup ecosystem in Indonesia, we launched the Google for Startups Accelerator for Indonesia in February. After a months-long search, we’re excited to announce the 8 startups chosen for the program.
From healthtech and edtech to online platforms that help encourage recycling or growth for small-scale fishermen or MSMEs in the agricultural sector; this cohort shows the diversity of the startup community in Indonesia, and creative ways they are using technology to help the local economy grow and develop.
Through this program, over the course of four weeks, these talented founders will experience mentorship and technical project support, as well as deep dives and workshops focused on product design, customer acquisition and leadership development for founders. The program runs from April 26-June 10.
Here is the full list of startups.
aido health is a digital healthcare platform that connects its users to their network of clinics, hospitals, laboratories, and pharmacies - providing accessible and high quality healthcare via a mobile application.
Aruna is Indonesia's largest integrated fishery platform that connects local fishermen directly to customers - improving fishermen livelihood through fair trade, marine ecosystem sustainability, and access to quality seafood for communities.
CROWDE is an agriculture-focused financial technology startup that empowers Indonesian farmers with access to capital, and technology that integrates the agriculture ecosystem - optimising cost, productivity, and improving smallholder livelihoods.
Duitin is a digital waste management platform in Indonesia that promotes environmental sustainability by incentivizing recycling with social and economic benefits.
Pahamify is an online learning platform for K-12 students in Indonesia that provides a test prep solution alongside a personalised and gamified learning experience.
Pintek is an education-focused financial technology startup that democratises access to quality education in Indonesia through affordable and flexible credit.
PrivyID is a digital identity and signature provider that provides seamless user authentication and onboarding.
TeleCTG (sehati) is a digital healthcare platform with connected medical devices that enhances access to quality maternal healthcare in rural Indonesia.
We are also extremely excited to have Kumpul as a program partner and we look forward to helping these 8 startups grow and scale their business as they continue to provide innovative solutions to create positive change in Indonesia and beyond.
Jika Anda melewatkannya, kami baru saja menyelesaikan seri MAD Skills mengenai Work Manager. Kami memulai dengan memperkenalkan WorkManager bagi mereka yang baru mengenal library kemudian melanjutkan dengan penjelasan lebih banyak tentang penggunaan lanjutan termasuk cara menguji dan men-debug kode WorkManager Anda. Seri ini diakhiri dengan sebuah episode tentang cara melakukan migrasi kode lama Anda dari GCMNetworkManager dan FirebaseJobDispatcher lalu menggunakan WorkManager sebagai gantinya.
Berikut adalah ringkasan singkat mengenai apa yang kami bahas.
Episode 1: WorkManager: Dasar-Dasar
Di episode pertama, kami menjelajahi dasar-dasar WorkManager melalui codelab WorkManager. Kami memulai dengan memahami cara mendefinisikan pekerjaan yang ingin kami selesaikan, dan cara menjadwalkan pekerjaan tersebut. Kami kemudian beralih ke penerapan berbagai jenis pekerjaan: unik dan periodik. Terakhir, kami mengakhiri episode ini dengan melihat bucket aplikasi standby agar lebih memahami cara kerja penjadwalan WorkManager.
Sematkan video: https://www.youtube.com/watch?v=_SQM-10TB4k
Jika Anda baru mengenal WorkManager, kami juga merekomendasikan untuk membaca artikel berikut:
- Memperkenalkan Workplace
- Dasar - Dasar Workplace
Episode 2: WorkManager: Bekerja di latar belakang
Seri ini dilanjutkan oleh Ben yang memberikan gambaran lebih mendalam tentang cara WorkManager menangani multi-threading. Saat menangani thread, Anda memiliki opsi untuk menggunakan Executor, coroutine, atau RxJava, dan Ben mendemonstrasikan setiap pendekatan ini dengan WorkManager. Episode ini diakhiri dengan mendemonstrasikan cara menampilkan hasil saat pekerjaan selesai sehingga UI bisa diperbarui.
Sematkan video: https://www.youtube.com/watch?v=kpuMD2P7s5M
Jika Anda tertarik menggunakan WorkManager dengan coroutine, kami juga merekomendasikan artikel ini dari Florina: WorkManager - API Kotlin
Episode 3: WorkManager: Konfigurasi dan pengujian lanjutan
Di episode 3, kita melihat cara menyesuaikan inisialisasi WorkManager dan mendukung aplikasi yang mencakup banyak proses. Kami mendapat banyak pertanyaan dari developer seputar pengujian dan proses debug, jadi Ben juga membahas cara menguji Worker Anda, dan teknik proses debug yang berguna.
Episode 4: Bermigrasi dari GCM NetworkManager dan FirebaseJobDispatcher ke WorkManager
Di episode terakhir, kami berfokus pada cara melakukan migrasi dari library penjadwalan tugas lama (GCMNetworkManager dan FirebaseJobDispatcher) ke WorkManager. Setelah aplikasi Anda mulai menargetkan API level 30 ke atas, GCM NetworkManager dan FirebaseJobDispatcher tidak akan berfungsi lagi pada perangkat yang menjalankan Android Marshmallow (6.0) dan yang lebih baru. Jika aplikasi Anda masih menggunakan salah satu library tersebut, sekaranglah saatnya mengupdate aplikasi Anda untuk menggunakan WorkManager sebagai gantinya!
Sematkan video: https://www.youtube.com/watch?v=5siAia1sb8w
Episode 5: WorkManager bersama Hugo
Android GDE Hugo Visser berbicara tentang alasannya memilih menggunakan WorkManager pada aplikasi kesehatan yang baru-baru ini dikerjakannya dan bagaimana library telah membantu proses pengembangannya.
Sematkan video: https://www.youtube.com/watch?v=CEUnCHnc5aA&list=PLWz5rJ2EKKc_J88-h0PhCO_aV0HIAs9Qk&index=6
Episode 5: Tanya Jawab Langsung
Seri ini diakhiri dengan sesi Tanya Jawab langsung, di sesi ini kami menjawab pertanyaan yang terkait dengan WorkManager. Tonton rekamannya untuk melihat semua pertanyaan yang telah dijawab, termasuk rencana mendatang untuk WorkManager, menangani pekerjaan duplikat, mencoba lagi pekerjaan yang gagal, dan banyak lagi!
Sematkan video:
https://www.youtube.com/watch?v=y6bEQ84PHH0&list=PLWz5rJ2EKKc_J88-h0PhCO_aV0HIAs9Qk&index=7
Selamat datang di Now in Android, panduan berkelanjutan Anda tentang apa yang baru dan penting dalam dunia pengembangan Android.
Rilis pratinjau developer kedua untuk Android 12 sekarang sudah tersedia.
Baca blog untuk ringkasan fitur terbaru yang dirilis bagi developer, dari penyempurnaan picture-in-picture, hingga RenderEffect API baru untuk menghasilkan efek grafik yang mudah dan andal seperti blur dan filter warna.
Sementara itu, kami telah menyempurnakan dokumentasi developer untuk rilis pratinjau ini, dengan beberapa cara:
Lihat situs Pratinjau Android 12 untuk mengetahui informasi tentang perubahan perilaku, fitur dan API baru, dan banyak lagi. Dan yang terpenting: cobalah aplikasi Anda di rilis baru dan kirimkan masukan kepada kami bersama masalah yang muncul; itulah inti dari merilis pratinjau lebih awal, sehingga kami bisa menyempurnakan semuanya pada saat merilis produk jadi.
Nantikan rilis lainnya saat kami terus mendorong rilis final, dengan peningkatan jumlah fitur, perbaikan, dan fungsionalitas. Tentunya.
Seri MAD Skills terus berlanjut, dengan konten teknis tentang pengembangan Android modern. Seri WorkManager di MAD Skills akan segera berakhir minggu ini, tetapi banyak konten yang harus dilihat:
Penghentian penggunaan Firebase JobDispatcher dan GCMNetworkManager:Apakah Anda masih menggunakan API Firebase JobDispatcher atau GCMNetworkManager? Jika demikian, maka Anda sebaiknya… tidak lagi menggunakannya, karena keduanya sudah tidak digunakan lagi, dan inilah saatnya beralih. WorkManager adalah penyelamatnya!
Dalam episode ini, Caren Chang menunjukkan cara melakukan migrasi kode Anda untuk menggunakan WorkManager. Selain video di bawah ini, pastikan melihat panduan tentang melakukan migrasi dari Firebase JobDispatcher dan GCMNetworkManager.
Tips Komunitas:Hugo Visser membagikan cara ia menggunakan WorkManager untuk menjadwalkan download dan pemrosesan data reguler di aplikasi kesehatan yang dibuatnya. Ia juga membagikan bagaimana masalah yang mereka temukan di beberapa perangkat membuat mereka melaporkan bug yang sekarang telah diperbaiki di rilis terbaru WorkManager (masukan sangatlah membantu!)
Tanya Jawab WorkManager:Untuk episode terakhir dalam seri WorkManager, sekali lagi kita akan mengadakan Tanya Jawab yang disiarkan langsung bersama pakar WorkManager. Bergabunglah dengan saya (mengajukan pertanyaan), bersama Ben Weiss & Caren Chang (host untuk seri ini) dan Sumir Kataria & Rahul Ravikumar (engineer di balik WorkManager), pada Kamis pagi (waktu Pasifik) karena kami akan mencoba menjawab semua pertanyaan Anda tentang API ini.
Saya tahu kemungkinan besar Anda membacanya setelah Tanya Jawab dilakukan. Jangan khawatir: Anda masih bisa melihat rekamannya pada link di bawah ini untuk melihat apa yang terjadi.
Untuk konten berkelanjutan, pastikan memeriksa playlist MAD Skills di YouTube, artikel di Medium, atau halaman landing praktis ini yang akan menunjukkan semuanya.
Kami baru saja merilis beberapa versi stabil perbaikan bug AndroidX, termasuk Fragment 1.3.2, Activity 1.2.2, dan Lifecycle 2.3.1.
Ada juga beberapa library baru yang menarik dan baru saja mencapai rilis alfa pertama, termasuk:
Oboe adalah library native untuk menghasilkan audio berperforma tinggi dan berlatensi rendah di semua rilis dan perangkat Android. Kami berbicara dengan engineer Oboe April lalu di podcast ADB, dan sekarang Oboe telah terintegrasi ke dalam Games SDK. Daniel Galpin memposting artikel di blog Developer Android yang menjelaskan cara menambahkannya ke proyek dan mulai menggunakannya dalam kode Anda.
Audio Game Berperforma Tinggi dengan Oboe
Manuel Vivo menulis artikel untuk memperkenalkan API baru di Lifecycle 2.4.0-alpha01 yang memungkinkan pengumpulan alur Kotlin secara lebih aman dari layer UI.
Cara yang lebih aman untuk mengumpulkan alur dari UI Android
Nicole Borrelli memposting sebuah artikel tentang bagaimana dan kapan menggunakan PendingIntents dengan tepat. Topik ini tepat waktu, dengan perubahan yang berfokus pada keamanan dalam rilis berikutnya yang mengharuskan aplikasi yang menargetkan Android 12 mendeklarasikan mutabilitas PendingIntents.
Semua Tentang PendingIntents
Dasar-Dasar Android di Kotlin, kursus untuk orang-orang yang ingin mempelajari dasar-dasar pengembangan Android sambil mempelajari pemrograman Kotlin, baru saja dirilis Unit 4: Hubungkan ke Internet. Konten baru ini akan meminta Anda melakukan coding dengan coroutine Kotlin dan mempelajari cara menggunakan library penting seperti Retrofit dan Coil untuk menangani data jaringan.
Android Developers Backstage sekarang memiliki situs baru, feed baru, dan logo baru yang keren!
Perubahan ini seharusnya tidak memengaruhi pelanggan ADB saat ini; feed akan dialihkan sehingga Anda tidak perlu berlangganan kembali. Namun jika Anda mencari catatan untuk episode mendatang, lihat di Libsyn pada adbackstage.libsyn.com.
Episode pertama yang diposting ke situs dan feed baru adalah wawancara kami dengan Chris Lacy, developer aplikasi Android independen yang sangat berpengalaman. Romain dan saya berbicara dengan Chris tentang cara ia menerapkan beberapa aplikasinya, dan beberapa hal yang dipelajarinya tentang pemrograman dan API Android.
Cukup itu dulu. Jadi, bacalah tentang fitur terbaru di Android 12 DP2! Tonton episode terbaru dalam seri MADSkills WorkManager! Bermain-mainlah dengan rilis library AndroidX terbaru! Baca artikel tentang Oboe, alur Kotlin, dan Pending Intents! Ikuti unit terbaru dalam kursus Dasar-Dasar Android di Kotlin! Dengarkan podcast ADB terbaru dan segera kembali ke sini untuk mendapatkan update berikutnya dari dunia developer Android.
Ikuti Policy Webinar 2021 yang akan diselenggarakan tanggal 14 April mendatang!Pelajari bagaimana Google Play berkomitmen untuk memberikan pengalaman yang aman dan terpercaya bagi pengguna, serta developer.Kebijakan kami dirancang untuk mendistribusikan aplikasi dan game secara aman kepada triliun pengguna di seluruh dunia. Melalui acara Policy Webinar 2021, pelajari kebijakan terbaru dari tim Google, serta jangan lewatkan kesempatan tanya-jawab bersama para pakar seputar update kebijakan baru ini. Daftar sekarang!goo.gle/3do10tE
Di Android, kami membuat perubahan untuk menyempurnakan privasi pengguna dan keamanan platform guna memberikan pengalaman yang lebih baik kepada pengguna. Aplikasi yang menargetkan Android 11 (API level 30) ke atas hanya akan melihat daftar aplikasi terfilter yang diinstal di perangkat. Untuk mengakses aplikasi di luar daftar terfilter, aplikasi harus mendeklarasikan aplikasi apa saja yang diperlukannya untuk berinteraksi langsung dengan menggunakan elemen <queries> di manifes Android. Postingan blog ini akan membahas praktik terbaik tentang cara beradaptasi dengan fitur ini.
Ada berbagai cara untuk membuat kueri dan berinteraksi dengan aplikasi:
<manifest package="com.example.game">
<queries>
<package android:name="com.example.store" />
<package android:name="com.example.services" />
</queries>
...
</manifest>
<intent>
<action android:name="android.intent.action.SEND" />
<data android:mimeType="image/jpeg" />
</intent>
<manifest package="com.example.suite.enterprise">
<provider android:authorities="com.example.settings.files" />
Sebagian besar kasus penggunaan umum tidak mengharuskan aplikasi Anda memiliki visibilitas paket global. Pada banyak skenario, Anda bisa menggunakan startActivity() dan menangkap pengecualian jika tidak ada aplikasi yang bisa membuka intent ini.
try {
val intent = Intent(ACTION_VIEW, Uri.parse(url)).apply {
addCategory(CATEGORY_BROWSABLE)
}
startActivity(intent)
} catch (e: ActivityNotFoundException) {
Snackbar.make(it,"Activity Not Found",Snackbar.LENGTH_LONG).show()
Meskipun Anda bisa memulai aktivitas apa pun tanpa visibilitas target, Anda tidak bisa membuat kueri ketersediaan aktivitas itu sebelum memulainya atau mempelajari aplikasi spesifik yang akan diluncurkan karena merupakan intent implisit. Sebagai gantinya, Anda akan diberi tahu saat memulai jika hal itu tidak di-resolve. Untuk membantu menanganinya, Anda bisa menggunakan flag:
FLAG_ACTIVITY_REQUIRE_NON_BROWSER
Flag ini hanya meluncurkan intent jika intent tersebut di-resolve ke hasil yang bukan browser. Jika tidak ada hasil seperti itu, ActivityNotFoundExeception akan ditampilkan dan aplikasi Anda bisa membuka URL di tab khusus.
// The URL should either launch directly in a non-browser app (if it's
// the default), or in the disambiguation dialog.
flags = FLAG_ACTIVITY_NEW_TASK or FLAG_ACTIVITY_REQUIRE_NON_BROWSER
Kami merekomendasikan penggunaan share sheet sistem daripada share sheet khusus. Anda bisa menyesuaikan share sheet sistem tanpa memerlukan visibilitas aplikasi. Lihat dokumentasi ini untuk informasi selengkapnya.
Anda bisa dengan mudah memeriksa manifes untuk melihat semua kueri yang dimasukkan. Untuk melakukannya, buka file manifes Anda dan pilih Merged Manifest.
$ adb shell pm log-visibility --enable YOUR_PACKAGE_NAME
Untuk informasi selengkapnya tentang Visibilitas Paket, lihat referensi ini:
Selamat membuat kode!