More
Wie man Tastenkombinationen in Flutter mit CallbackShortcuts und Back4App implementiert
24 min
einführung tastenkombinationen verbessern das benutzererlebnis, indem sie schnellen zugriff auf häufige aktionen innerhalb einer anwendung bieten in flutter ermöglicht das callbackshortcuts widget entwicklern, tastenkombinationen direkt auf callback funktionen abzubilden, ohne dass aktionen oder absichten definiert werden müssen dies vereinfacht den prozess, tastenkombinationen zu ihrer app hinzuzufügen in diesem tutorial lernen sie, wie sie callbackshortcuts in eine flutter anwendung integrieren und back4app—einen backend as a service, der von parse server betrieben wird—verwenden, um daten zu speichern und abzurufen am ende dieses tutorials haben sie eine flutter app, die auf tastenkombinationen reagiert, um aktionen wie das abrufen von daten von back4app auszuführen voraussetzungen um dieses tutorial abzuschließen, benötigen sie flutter sdk auf ihrem computer installiert befolgen sie die offizielle flutter installationsanleitung https //flutter dev/docs/get started/install für ihr betriebssystem grundkenntnisse in flutter und dart wenn sie neu in flutter sind, lesen sie die flutter dokumentation https //flutter dev/docs um sich mit den grundlagen vertraut zu machen eine ide oder einen texteditor wie visual studio code oder android studio ein back4app konto melden sie sich für ein kostenloses konto bei back4app https //www back4app com/ an parse server sdk für flutter in ihr projekt integriert erfahren sie, wie sie es einrichten, indem sie die back4app flutter sdk anleitung https //www back4app com/docs/flutter/parse flutter sdk befolgen eine physische tastatur oder einen emulator zum testen von tastenkombinationen schritt 1 – einrichten des flutter projekts 1 1 erstellen eines neuen flutter projekts öffnen sie ihr terminal und führen sie aus flutter create callback shortcuts app navigieren sie zum projektverzeichnis cd callback shortcuts app 1 2 abhängigkeiten hinzufügen öffnen sie pubspec yaml und fügen sie die folgenden abhängigkeiten hinzu dependencies flutter sdk flutter parse server sdk flutter ^4 0 1 führen sie flutter pub get aus, um die pakete zu installieren schritt 2 – back4app einrichten 2 1 erstellen sie eine neue back4app anwendung melden sie sich bei ihrem back4app dashboard https //dashboard back4app com/ an klicken sie auf "neue app erstellen" geben sie einen namen für ihre anwendung ein, z b "callbackshortcutsapp" , und klicken sie auf "erstellen" 2 2 datenmodell einrichten navigieren sie in ihrem anwendungs dashboard zum "datenbank" abschnitt klicken sie auf "klasse erstellen" im modal wählen sie "benutzerdefiniert" geben sie "artikel" als klassennamen ein klicken sie auf "klasse erstellen" 2 3 spalten zur klasse hinzufügen klicken sie in der "artikel" klasse auf "+" um eine neue spalte hinzuzufügen fügen sie die folgenden spalten hinzu name typ string beschreibung typ string fügen sie einige beispieldaten zur "artikel" klasse hinzu zum beispiel 2 4 anwendungsanmeldeinformationen erhalten navigieren sie zu app einstellungen > sicherheit & schlüssel notieren sie sich ihre anwendungs id und client schlüssel schritt 3 – initialisierung von parse in ihrer flutter app öffnen sie lib/main dart und ändern sie es wie folgt 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(), ); } } ersetzen sie 'ihre anwendungs id' und 'ihre client id' durch ihre tatsächlichen back4app anmeldeinformationen schritt 4 – daten von back4app abrufen erstellen sie eine neue datei 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), ); }, ), ); } } erklärung item klasse eine modellklasse zur darstellung der von back4app abgerufenen elemente fetchitems() ruft daten aus der item klasse in back4app ab und aktualisiert die items liste build() zeigt die liste der elemente oder einen ladeindikator an, wenn die daten noch abgerufen werden schritt 5 – implementierung von callbackshortcuts jetzt fügen wir tastenkombinationen hinzu, um die daten zu aktualisieren und durch die liste zu navigieren 5 1 fügen sie focus und callbackshortcuts widgets hinzu ändern sie die build() methode in 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), ), ); }, ), ), ), ); } erklärung focus widget umhüllt den körper, um sicherzustellen, dass er den fokus und tastaturereignisse empfangen kann callbackshortcuts ordnet tastenkombinationen callback funktionen zu strg + r aktualisiert die daten, indem fetchitems() aufgerufen wird pfeil nach unten verschiebt den fokus zum nächsten element pfeil nach oben verschiebt den fokus zum vorherigen element focusableactiondetector macht jedes listtile fokussierbar, um mit der tastatur zu navigieren 5 2 implementierung von navigationsfunktionen fügen sie die folgenden methoden hinzu, um die elementnavigation zu handhaben void focusnextitem() { final focus = focusscope of(context); if (focus canrequestfocus) { focus nextfocus(); } } void focuspreviousitem() { final focus = focusscope of(context); if (focus canrequestfocus) { focus previousfocus(); } } schritt 6 – testen von tastenkombinationen 6 1 app ausführen führen sie in ihrem terminal aus flutter run 6 2 testen sie die aktualisierungsverknüpfung drücken sie ctrl + r (oder cmd + r auf macos), während die app läuft sie sollten eine snackbar nachricht sehen, die sagt "daten aktualisiert" die liste sollte sich aktualisieren, wenn es änderungen in den daten gibt 6 3 testen sie die navigationsverknüpfungen verwenden sie die pfeil nach unten und pfeil nach oben tasten, um durch die liste zu navigieren sie sollten sehen, wie der fokus auf verschiedene elemente verschoben wird fazit in diesem tutorial haben sie gelernt, wie sie tastenkombinationen in einer flutter anwendung mit hilfe von callbackshortcuts , implementieren sie haben back4app integriert, um daten abzurufen und anzuzeigen, und das benutzererlebnis verbessert, indem sie es den benutzern ermöglicht haben, mit der app über tastenkombinationen zu interagieren wichtige erkenntnisse callbackshortcuts vereinfacht das hinzufügen von tastenkombinationen, indem tastenkombinationen direkt auf callback funktionen abgebildet werden fokusverwaltung essentiell für widgets, um tastaturereignisse zu empfangen back4app integration bietet ein skalierbares backend zum speichern und abrufen von daten nächste schritte erweiterte shortcuts fügen sie weitere tastenkombinationen für zusätzliche funktionen hinzu plattformspezifische modifikatoren berücksichtigen sie unterschiede bei den modifikatortasten zwischen plattformen (z b control vs command) barrierefreiheit stellen sie sicher, dass ihre app zugänglich ist, indem sie die tastaturnavigation und screenreader unterstützen fehlerbehandlung verbessern sie die fehlerbehandlung beim abrufen von daten von back4app zusätzliche ressourcen back4app dokumentation https //www back4app com/docs parse sdk für flutter leitfaden https //docs parseplatform org/flutter/guide/ flutter offizielle dokumentation https //flutter dev/docs callbackshortcuts widget https //api flutter dev/flutter/widgets/callbackshortcuts class html viel spaß beim programmieren!