More

Membangun Aplikasi Flutter Drag-and-Drop dengan Widget Draggable dan Back4App

22min

Pendahuluan

Antarmuka interaktif seret dan lepas meningkatkan pengalaman pengguna dengan memungkinkan pengguna untuk memanipulasi elemen UI secara intuitif. Flutter menyediakan Draggable dan DragTarget widget untuk membuat interaksi semacam itu. Dalam tutorial ini, Anda akan belajar bagaimana membangun aplikasi Flutter yang menggunakan Draggable widget untuk memindahkan item antara daftar, dengan ketahanan data menggunakan Back4App—sebuah backend-as-a-service yang didukung oleh Parse Server.

Pada akhir tutorial ini, Anda akan memiliki aplikasi Flutter fungsional di mana pengguna dapat menyeret item dari satu daftar ke daftar lainnya, dan perubahan akan disimpan dan diambil dari Back4App. Tutorial ini cocok untuk pengembang Flutter dari semua tingkat pengalaman.

Prasyarat

Untuk menyelesaikan tutorial ini, Anda akan memerlukan:

  • Flutter SDK terinstal di mesin Anda. Ikuti panduan instalasi Flutter resmi untuk sistem operasi Anda.
  • Pengetahuan dasar tentang Flutter dan Dart. Jika Anda baru mengenal Flutter, tinjau dokumentasi Flutter untuk membiasakan diri dengan dasar-dasarnya.
  • Sebuah IDE atau editor teks seperti Visual Studio Code atau Android Studio.
  • Sebuah akun Back4App. Daftar untuk akun gratis di Back4App.
  • Parse Server SDK untuk Flutter ditambahkan ke proyek Anda. Pelajari cara mengaturnya dengan mengikuti Panduan SDK Flutter Back4App.

Ikhtisar

Kami akan membangun aplikasi manajemen tugas di mana tugas dapat diseret dari daftar "To Do" ke daftar "Completed" dan sebaliknya. Aplikasi ini akan:

  • Gunakan Draggable widget untuk mengaktifkan penarikan tugas.
  • Gunakan DragTarget widget untuk mendefinisikan zona drop.
  • Simpan dan ambil tugas dari Back4App untuk mempertahankan data.

Langkah 1 – Menyiapkan Proyek Flutter

1.1. Buat Proyek Flutter Baru

Buka terminal Anda dan jalankan:

Bash


Navigasikan ke direktori proyek:

Bash


1.2. Tambahkan Dependensi

Buka pubspec.yaml dan tambahkan dependensi berikut:

YAML


Jalankan flutter pub get untuk menginstal paket.

Langkah 2 – Menyiapkan Back4App

2.1. Buat Aplikasi Back4App Baru

  1. Masuk ke dasbor Back4App.
  2. Klik pada "Buat aplikasi baru".
  3. Masukkan nama untuk aplikasi Anda, misalnya, "DragDropApp", dan klik "Buat".

2.2. Siapkan Model Data

  1. Di dasbor aplikasi Anda, navigasikan ke bagian "Database".
  2. Klik pada "Buat kelas".
  3. Di modal:
    • Pilih "Kustom".
    • Masukkan "Tugas" sebagai nama kelas.
    • Klik "Buat kelas".

2.3. Tambahkan Kolom ke Kelas

  1. Di kelas "Tugas", klik pada "+" untuk menambahkan kolom baru.
  2. Tambahkan kolom berikut:
    • judul: Tipe String
    • status: Tipe String
  3. Tambahkan beberapa data contoh ke kelas "Tugas". Misalnya:

2.4. Dapatkan Kredensial Aplikasi

  1. Navigasikan ke Pengaturan Aplikasi > Keamanan & Kunci.
  2. Catat ID Aplikasi dan Kunci Klien Anda.

Langkah 3 – Menginisialisasi Parse di Aplikasi Flutter Anda

Buka lib/main.dart dan ubah seperti berikut:

Dart

  • Ganti 'YOUR_APPLICATION_ID' dan 'YOUR_CLIENT_KEY' dengan kredensial Back4App Anda yang sebenarnya.

Langkah 4 – Membuat Model Tugas

Buat direktori baru bernama models di bawah lib dan tambahkan file bernama task.dart:

Dart


Langkah 5 – Mengambil Tugas dari Back4App

Buat direktori baru bernama services di bawah lib dan tambahkan file bernama task_service.dart:

Dart


Langkah 6 – Membangun UI dengan Draggable dan DragTarget

Buat direktori baru bernama screens di bawah lib dan tambahkan file bernama home_page.dart:

Dart


Penjelasan

  • Halaman Utama: Layar utama yang menampilkan dua kolom—tugas "Untuk Dilakukan" dan "Selesai."
  • KolomTugas: Sebuah widget yang menampilkan tugas dan berfungsi sebagai DragTarget untuk Draggable tugas.
  • KartuTugas: Sebuah widget untuk menampilkan informasi tugas individu.

Langkah 7 – Menjalankan Aplikasi

7.1. Jalankan Aplikasi

Di terminal Anda, jalankan:

Bash


7.2. Uji Fungsionalitas Seret dan Jatuhkan

  • Seret tugas dari kolom "To Do" dan jatuhkan ke kolom "Completed".
  • Status tugas harus diperbarui, dan harus muncul di bawah "Completed".
  • Perubahan tetap ada di Back4App; jika Anda memulai ulang aplikasi, tugas tetap dalam status barunya.

Kesimpulan

Dalam tutorial ini, Anda belajar bagaimana mengimplementasikan fungsionalitas seret dan jatuhkan dalam aplikasi Flutter menggunakan Draggable dan DragTarget widget. Anda mengintegrasikan Back4App untuk menyimpan dan mengambil data tugas, memungkinkan untuk ketahanan data di seluruh sesi. Aplikasi interaktif ini menunjukkan bagaimana meningkatkan pengalaman pengguna dengan elemen UI yang intuitif dan backend yang dapat diskalakan.

Poin Penting

  • Widget Dapat Diseret: Memungkinkan pengguna untuk menyeret elemen UI.
  • Widget Target Seret: Mendefinisikan zona jatuh untuk item yang dapat diseret.
  • Integrasi Back4App: Menyediakan backend untuk menyimpan dan mengelola data.

Langkah Selanjutnya

  • Tambahkan Autentikasi: Implementasikan autentikasi pengguna untuk memiliki daftar tugas yang dipersonalisasi.
  • Tingkatkan UI/UX: Tambahkan animasi, ikon kustom, dan tata letak yang lebih baik.
  • Pembaruan Waktu Nyata: Gunakan Live Queries dari Back4App untuk memperbarui tugas secara waktu nyata di berbagai perangkat.
  • Penanganan Kesalahan: Implementasikan penanganan kesalahan untuk masalah jaringan dan konflik data.

Sumber Daya Tambahan

Selamat Berkoding!