Mobile Programming

Membangun Aplikasi Berbagi File P2P Offline dengan Kotlin, Compose, Nearby Connections, dan Noise Protocol

Bangun aplikasi berbagi file P2P offline yang aman dengan Kotlin, Jetpack Compose, Nearby Connections, dan Noise Protocol.

Diperbarui 24 Agu 2026id7 bagian · 35 pelajaran4 jam 30 menit
Belum ada ulasan
Level Advanced
Kategori Mobile Programming
Perkiraan Durasi 4 jam 30 menit

Skill yang dibangun

Apa yang akan Anda pelajari

Merancang alur discovery, advertising, request connection, dan lifecycle koneksi menggunakan Nearby Connections.

Membangun UI Jetpack Compose untuk menampilkan peer, status koneksi, progress transfer, error, dan hasil autentikasi.

Mengelola pengiriman file secara asynchronous dengan coroutine, state management, serta pemisahan layer sesuai arsitektur aplikasi modern.

Menerapkan konsep Noise Protocol untuk handshake, autentikasi peer, derivasi session key, dan enkripsi data sebelum dikirim.

Menangani permission Android, koneksi terputus, transfer gagal, pembatalan, retry, dan validasi file secara aman.

Menguji aplikasi P2P pada dua perangkat fisik dan mendiagnosis masalah melalui logging serta skenario failure yang realistis.

Siapa Target Audiens Kursus Ini

Android developer yang sudah menguasai Kotlin, Jetpack Compose, coroutine, arsitektur aplikasi modern, dan dasar networking, serta ingin membangun aplikasi peer-to-peer yang aman dan tetap berfungsi tanpa koneksi internet.

Project outcomes

Apa yang Akan Anda Buat

Kamu akan membangun aplikasi Android berbagi file offline antardevice. Pengguna bisa menemukan peer terdekat, memilih perangkat tujuan, melakukan autentikasi, lalu mengirim file melalui koneksi P2P. Aplikasi menampilkan status koneksi dan progress transfer secara real-time, mengenkripsi data selama proses pengiriman, serta menangani kondisi seperti peer menolak koneksi, koneksi terputus, transfer dibatalkan, dan file tidak valid.

Konten Kursus

Fondasi Arsitektur P2P Offline dan Keamanan Aplikasi

5 pelajaran | 155 menit
Mendefinisikan Arsitektur Aplikasi Berbagi File Offline
25 menit
Memahami Topologi P2P dan Batasan Nearby Connections
30 menit
Merancang State Machine untuk Sesi Transfer
35 menit
Mengenal Threat Model pada File Sharing Offline
30 menit
Menyiapkan Project Kotlin Compose dan Dependency
35 menit

Nearby Connections: Discovery dan Koneksi Peer

5 pelajaran | 180 menit
Mengonfigurasi Permission dan Lifecycle Nearby Connections
30 menit
Membangun Advertising Peer
35 menit
Membangun Discovery Peer
35 menit
Menerima dan Memvalidasi Connection Request
40 menit
Membungkus Callback Nearby ke Flow dan ViewModel
40 menit

Handshake Aman dengan Noise Protocol

5 pelajaran | 195 menit
Memahami Noise Protocol Tanpa Mengarang Kriptografi Sendiri
35 menit
Memilih Handshake Pattern dan Identitas Peer
35 menit
Membuat Framing Pesan Handshake
40 menit
Menjalankan Handshake di Atas Nearby Payload
45 menit
Memverifikasi Peer dan Mencegah Man-in-the-Middle
40 menit

Transfer File Reliabel dan Terenkripsi

5 pelajaran | 205 menit
Memilih dan Membuka File dengan Storage Access Framework
35 menit
Mengirim File Payload dengan Nearby Connections
40 menit
Mengenkripsi Chunk File dengan AEAD
45 menit
Membangun Progress, Cancellation, dan Retry
40 menit
Memvalidasi Integritas dan Menangani Partial Transfer
45 menit

UI Compose, Persistence, dan Reliability

5 pelajaran | 195 menit
Membangun UI Discovery dan Pairing dengan Compose
35 menit
Membangun UI Progress Transfer
35 menit
Menyimpan Riwayat Transfer dengan Room
40 menit
Menangani Error, Disconnect, dan Reconnect
40 menit
Menguji Flow dengan Fake Transport dan Coroutine Test
45 menit

Hardening, Observability, dan Release Readiness

5 pelajaran | 185 menit
Audit Keamanan Data dan Secret Handling
35 menit
Menguji Interoperabilitas Dua Perangkat Android
40 menit
Mengukur Performa dan Konsumsi Resource
35 menit
Observability dan Debugging Masalah P2P
40 menit
Menyiapkan Release Build dan Demo Teknis
35 menit

Proyek Akhir: Membangun FileLink Offline

5 pelajaran | 390 menit
Perancangan dan Setup Proyek FileLink Offline
60 menit
Implementasi Discovery, Pairing, dan Handshake
75 menit
Implementasi Transfer File dan Progress UI
90 menit
Integrasi Error Handling dan Riwayat Transfer
75 menit
Pengujian, Hardening, dan Presentasi FileLink Offline
90 menit

Deskripsi Kursus

Kamu akan membangun aplikasi Android untuk berbagi file langsung antarperangkat tanpa internet. Koneksi antardevice memanfaatkan Nearby Connections, sementara proses handshake dan enkripsi data dirancang dengan Noise Protocol. Jadi, fokusnya bukan sekadar file berhasil terkirim, tapi juga bagaimana koneksi dan data tetap terlindungi.

Kita mulai dari fondasi discovery, advertising, connection lifecycle, permission, dan pengiriman payload. Setelah itu, alurnya dikembangkan menjadi aplikasi Compose dengan state yang rapi, coroutine, serta arsitektur modern yang gampang diuji dan dirawat.

Bagian keamanan dibedah secara praktis. Kamu akan memahami peran key pair, handshake, framing pesan, autentikasi peer, dan enkripsi file sebelum transfer. Contoh kode dibuat bertahap dan runnable, lalu diuji dengan skenario nyata seperti koneksi putus, peer menolak autentikasi, file besar, dan proses transfer yang dibatalkan. Intinya, kamu tidak cuma mengikuti tutorial, tapi belajar mengambil keputusan teknis yang masuk akal saat membangun aplikasi P2P di dunia kerja.

Rating & Ulasan

0 ratings