Ponieważ Flutter jest tylko frameworkiem interfejsu użytkownika, tematy takie jak trwałość i bazy danych mogą być poza zakresem lub mogą zależeć od przypadku użycia.
Interfejs użytkownika Flutter może utrzymywać dane (stan aplikacji) przez krótkie okresy czasu w sposób, który jest naprawdę przydatny tylko w celu stworzenia dobrego User Experience (czy ten przycisk klika? czy jest zielony? itp.)
Aby zachować bardziej przydatne dane poza aplikacją i na rzeczywistym urządzeniu, możesz rozważyć Wtyczka Shared Preferences dla Fluttera .
Teraz, jeśli potrzebujesz utrwalania danych w jakikolwiek scentralizowany sposób (np. RDMS, Firebase lub dowolna usługa utrwalania danych), masz następujące opcje:
- Opcje trwałości, które mają wtyczkę Flutter (np. Firestore, Firebase)
- Zbuduj własną warstwę usług za pomocą HTTP , gRPC który komunikuje się z jakąś usługą zaplecza, która zapewnia dostęp do magazynu danych. Możesz to zrobić za pomocą Express, Rails, CloudFunctions itp.
- Jeśli chodzi o łączenie się bezpośrednio z bazą danych, taką jak MySQL, nie rozumiem, dlaczego nie możesz tego zrobić (może są jakieś ograniczenia techniczne), ale byłby to bardzo zły pomysł w każdej praktycznej sytuacji, ponieważ (w przeciwieństwie do Firebase/Firestore), nie będziesz w stanie chronić swojego magazynu danych, gdy jakakolwiek aplikacja kliencka będzie miała dostęp do zapisu.
Wygląda na to, że potrzebujesz centralnego magazynu danych do odczytu/zapisu, więc najlepszym rozwiązaniem może być hostowanie serwera, który zapewnia dostęp do bazy danych, jednocześnie udostępniając API Flutterowi, do którego możesz użyć dart:io
do składania wniosków.