More
Cara Mengimplementasikan Pintasan Keyboard di Flutter dengan CallbackShortcuts dan Back4App
23 mnt
pendahuluan pintasan keyboard meningkatkan pengalaman pengguna dengan memberikan akses cepat ke tindakan umum dalam aplikasi di flutter, widget callbackshortcuts memungkinkan pengembang untuk memetakan kombinasi tombol keyboard langsung ke fungsi callback tanpa perlu mendefinisikan tindakan atau niat ini menyederhanakan proses penambahan pintasan keyboard ke aplikasi anda dalam tutorial ini, anda akan belajar bagaimana mengintegrasikan callbackshortcuts ke dalam aplikasi flutter dan menggunakan back4app—sebagai backend as a service yang didukung oleh parse server—untuk menyimpan dan mengambil data pada akhir tutorial ini, anda akan memiliki aplikasi flutter yang merespons pintasan keyboard untuk melakukan tindakan seperti mengambil data dari back4app prasyarat untuk menyelesaikan tutorial ini, anda akan memerlukan flutter sdk terinstal di mesin anda ikuti panduan instalasi flutter resmi https //flutter dev/docs/get started/install untuk sistem operasi anda pengetahuan dasar tentang flutter dan dart jika anda baru mengenal flutter, tinjau dokumentasi flutter https //flutter dev/docs untuk membiasakan diri dengan dasar dasarnya sebuah ide atau editor teks seperti visual studio code atau android studio a akun back4app daftar untuk akun gratis di back4app https //www back4app com/ parse server sdk untuk flutter ditambahkan ke proyek anda pelajari cara mengaturnya dengan mengikuti panduan sdk flutter back4app https //www back4app com/docs/flutter/parse flutter sdk sebuah keyboard fisik atau emulator untuk menguji pintasan keyboard langkah 1 – menyiapkan proyek flutter 1 1 buat proyek flutter baru buka terminal anda dan jalankan flutter create callback shortcuts app navigasikan ke direktori proyek cd callback shortcuts app 1 2 tambahkan dependensi buka pubspec yaml dan tambahkan dependensi berikut dependencies flutter sdk flutter parse server sdk flutter ^4 0 1 jalankan flutter pub get untuk menginstal paket langkah 2 – menyiapkan back4app 2 1 buat aplikasi back4app baru masuk ke dasbor back4app https //dashboard back4app com/ klik pada "buat aplikasi baru" masukkan nama untuk aplikasi anda, misalnya, "callbackshortcutsapp" , dan klik "buat" 2 2 siapkan model data di dasbor aplikasi anda, navigasikan ke "database" bagian klik pada "buat kelas" di modal pilih "kustom" masukkan "item" sebagai nama kelas klik "buat kelas" 2 3 tambahkan kolom ke kelas di kelas "item" , klik pada "+" untuk menambahkan kolom baru tambahkan kolom berikut nama ketik string deskripsi ketik string tambahkan beberapa data contoh ke kelas "item" misalnya 2 4 dapatkan kredensial aplikasi navigasikan ke pengaturan aplikasi > keamanan & kunci catat id aplikasi dan kunci klien langkah 3 – menginisialisasi parse di aplikasi flutter anda buka lib/main dart dan ubah seperti berikut import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk dart'; import 'home page dart'; // you'll create this file next void main() async { widgetsflutterbinding ensureinitialized(); const keyapplicationid = 'your application id'; const keyclientkey = 'your client key'; const keyparseserverurl = 'https //parseapi back4app com'; await parse() initialize( keyapplicationid, keyparseserverurl, clientkey keyclientkey, debug true, ); runapp(myapp()); } class myapp extends statelesswidget { @override widget build(buildcontext context) { return materialapp( title 'callback shortcuts app', theme themedata( primaryswatch colors blue, ), home homepage(), ); } } ganti 'your application id' dan 'your client key' dengan kredensial back4app anda yang sebenarnya langkah 4 – mengambil data dari back4app buat file baru lib/home page dart import 'package\ flutter/material dart'; import 'package\ parse server sdk flutter/parse server sdk dart'; class homepage extends statefulwidget { @override homepagestate createstate() => homepagestate(); } class item { final string name; final string description; item(this name, this description); } class homepagestate extends state\<homepage> { list\<item> items = \[]; future\<void> fetchitems() async { final querybuilder\<parseobject> query = querybuilder\<parseobject>(parseobject('item')); final parseresponse apiresponse = await query query(); if (apiresponse success && apiresponse results != null) { setstate(() { items = apiresponse results! map((data) { final name = data get\<string>('name') ?? ''; final description = data get\<string>('description') ?? ''; return item(name, description); }) tolist(); }); } else { print('error fetching data ${apiresponse error? message}'); } } @override void initstate() { super initstate(); fetchitems(); } @override widget build(buildcontext context) { return scaffold( appbar appbar( title text('callback shortcuts app'), ), body items isempty ? center(child circularprogressindicator()) listview\ builder( itemcount items length, itembuilder (context, index) { return listtile( title text(items\[index] name), subtitle text(items\[index] description), ); }, ), ); } } penjelasan kelas item kelas model untuk mewakili item yang diambil dari back4app fetchitems() mengambil data dari kelas item di back4app dan memperbarui daftar items build() menampilkan daftar item atau indikator pemuatan jika data masih diambil langkah 5 – mengimplementasikan callbackshortcuts sekarang, mari kita tambahkan pintasan keyboard untuk menyegarkan data dan menavigasi melalui daftar 5 1 tambahkan widget focus dan callbackshortcuts modifikasi build() metode di home page dart @override widget build(buildcontext context) { return scaffold( appbar appbar( title text('callback shortcuts app'), ), body focus( autofocus true, child callbackshortcuts( bindings { singleactivator(logicalkeyboardkey keyr, control true) () { fetchitems(); scaffoldmessenger of(context) showsnackbar( snackbar(content text('data refreshed')), ); }, singleactivator(logicalkeyboardkey arrowdown) () { focusnextitem(); }, singleactivator(logicalkeyboardkey arrowup) () { focuspreviousitem(); }, }, child items isempty ? center(child circularprogressindicator()) listview\ builder( itemcount items length, itembuilder (context, index) { return focusableactiondetector( child listtile( title text(items\[index] name), subtitle text(items\[index] description), ), ); }, ), ), ), ); } penjelasan focus widget membungkus tubuh untuk memastikan dapat menerima fokus dan peristiwa keyboard callbackshortcuts memetakan pintasan keyboard ke fungsi callback ctrl + r memperbarui data dengan memanggil fetchitems() arrow down memindahkan fokus ke item berikutnya arrow up memindahkan fokus ke item sebelumnya focusableactiondetector membuat setiap listtile dapat difokuskan untuk dinavigasi menggunakan keyboard 5 2 implementasikan fungsi navigasi tambahkan metode berikut untuk menangani navigasi item void focusnextitem() { final focus = focusscope of(context); if (focus canrequestfocus) { focus nextfocus(); } } void focuspreviousitem() { final focus = focusscope of(context); if (focus canrequestfocus) { focus previousfocus(); } } langkah 6 – menguji pintasan keyboard 6 1 jalankan aplikasi di terminal anda, jalankan flutter run 6 2 uji pintasan segarkan tekan ctrl + r (atau cmd + r di macos) saat aplikasi sedang berjalan anda harus melihat pesan snackbar yang mengatakan "data diperbarui" daftar harus diperbarui jika ada perubahan pada data 6 3 uji pintasan navigasi gunakan tombol panah bawah dan tombol panah atas untuk menavigasi melalui daftar anda harus melihat fokus berpindah ke item yang berbeda kesimpulan dalam tutorial ini, anda belajar bagaimana mengimplementasikan pintasan keyboard dalam aplikasi flutter menggunakan callbackshortcuts anda mengintegrasikan back4app untuk mengambil dan menampilkan data, serta meningkatkan pengalaman pengguna dengan memungkinkan pengguna berinteraksi dengan aplikasi menggunakan pintasan keyboard poin penting callbackshortcuts menyederhanakan penambahan pintasan keyboard dengan memetakan kombinasi tombol langsung ke fungsi callback manajemen fokus penting untuk widget agar menerima peristiwa keyboard integrasi back4app menyediakan backend yang dapat diskalakan untuk menyimpan dan mengambil data langkah selanjutnya perluas pintasan tambahkan lebih banyak pintasan keyboard untuk fungsionalitas tambahan modifikator khusus platform menangani perbedaan dalam tombol modifikasi antara platform (misalnya, control vs command) aksesibilitas pastikan aplikasi anda dapat diakses dengan mendukung navigasi keyboard dan pembaca layar penanganan kesalahan tingkatkan penanganan kesalahan saat mengambil data dari back4app sumber daya tambahan dokumentasi back4app https //www back4app com/docs panduan parse sdk untuk flutter https //docs parseplatform org/flutter/guide/ dokumentasi resmi flutter https //flutter dev/docs widget callbackshortcuts https //api flutter dev/flutter/widgets/callbackshortcuts class html selamat berkoding!