当前位置:网站首页>【Flutter】shared_ Preferences local storage (introduction | install the shared_preferences plug-in | use the shared_preferences process)
【Flutter】shared_ Preferences local storage (introduction | install the shared_preferences plug-in | use the shared_preferences process)
2022-07-03 02:28:00 【Programmer community】
List of articles
- One 、shared_preferences Introduction to local storage plug-ins
- Two 、 install shared_preferences plug-in unit
- 3、 ... and 、 Use shared_preferences technological process
- Four 、 Complete code example
- 5、 ... and 、 Related resources
One 、shared_preferences Introduction to local storage plug-ins
shared_preferences yes Flutter Provided Local data access plug-in unit ;
On different platforms , Develop based on different mechanisms , Such as Android Based on SharedPreferences Development , iOS Based on NSUserDefaults Development ;
Accessing local files is a time-consuming operation , Therefore access shared_preferences Storage is a Asynchronous operations ;
Two 、 install shared_preferences plug-in unit
install shared_preferences plug-in unit :
shared_preferences Plug-in address : https://pub.dev/packages/shared_preferences
according to https://pub.dev/packages/shared_preferences/install Address the installation tutorial to install ;
First , stay pubspec.yaml In profile , Import plug-in package :
dependencies: shared_preferences: ^2.0.7
then , Download the plug-in package , Click on Pub Get Button , Download the plug-in package into this project ;
Last , stay Dart Import the following code into the code , You can use shared_preferences ;
import 'package:shared_preferences/shared_preferences.dart';
3、 ... and 、 Use shared_preferences technological process
After completing the above installation shared_preferences After the plug-in , To start using ;
First , Import plug-in package ;
import 'package:shared_preferences/shared_preferences.dart';
then , obtain shared_preferences example ;
final prefs = await SharedPreferences.getInstance();
Last , Through the above shared_preferences Instances can Set up / Read Stored key value pair value ;
/// Set the value prefs.setInt('counter', counter);/// Get value final counter = prefs.getInt('counter') ?? 0;}
If you want to delete data , call shared_preferences Example of remove Method ;
prefs.remove('counter');
The picture below is Flutter Of SharedPreferences Class , Focus on data access methods ;
Data storage example :
_setValue() async {
/// First get SharedPreferences example SharedPreferences prefs = await SharedPreferences.getInstance(); setState(() {
textInfo = ' Save string " Xiao Wang " To shared_preferences complete '; }); /// Save data to SharedPreferences in await prefs.setString("name", " Xiao Wang "); }
Data access examples :
_getValue() async {
/// First get SharedPreferences example SharedPreferences prefs = await SharedPreferences.getInstance(); /// from SharedPreferences get data String? name = await prefs.getString("name"); setState(() {
textInfo = ' from shared_preferences Take out the data " ${name} "'; }); }
Four 、 Complete code example
import 'package:flutter/material.dart';import 'package:shared_preferences/shared_preferences.dart';void main() {
runApp(MyApp());}class MyApp extends StatefulWidget {
const MyApp({
Key? key}) : super(key: key); @override _MyAppState createState() => _MyAppState();}class _MyAppState extends State<MyApp> {
String textInfo = " Click the button to save the data to shared_preferences in "; _setValue() async {
/// First get SharedPreferences example SharedPreferences prefs = await SharedPreferences.getInstance(); setState(() {
textInfo = ' Save string " Xiao Wang " To shared_preferences complete '; }); /// Save data to SharedPreferences in await prefs.setString("name", " Xiao Wang "); } _getValue() async {
/// First get SharedPreferences example SharedPreferences prefs = await SharedPreferences.getInstance(); /// from SharedPreferences get data String? name = await prefs.getString("name"); setState(() {
textInfo = ' from shared_preferences Take out the data " ${name} "'; }); } @override Widget build(BuildContext context) {
return MaterialApp( home: Scaffold( appBar: AppBar( title: Text("shared_preferences The data access "), ), body: Column( children: [ Text(textInfo), ElevatedButton( onPressed: (){
_setValue(); }, child: Text(" Store data to shared_preferences in "), ), ElevatedButton( onPressed: (){
_getValue(); }, child: Text(" from shared_preferences Get data in "), ), ], ), ), ); }}
Execution results :
5、 ... and 、 Related resources
Reference material :
- Flutter Official website : https://flutter.dev/
- Flutter Plug in download address : https://pub.dev/packages
- Flutter Developing documents : https://flutter.cn/docs ( Strongly recommend )
- official GitHub Address : https://github.com/flutter
- Flutter The Chinese community : https://flutter.cn/
- Flutter Practical tutorial : https://flutter.cn/docs/cookbook
- Flutter CodeLab : https://codelabs.flutter-io.cn/
- Dart Chinese document : https://dart.cn/
- Dart Developer website : https://api.dart.dev/
- Flutter Chinese net : https://flutterchina.club/ , http://flutter.axuer.com/docs/
- Flutter Related issues : https://flutterchina.club/faq/ ( It is recommended to watch it at the introductory stage )
- GitHub Upper Flutter Open source examples : https://download.csdn.net/download/han1202012/15989510
- Flutter Practical e-books : https://book.flutterchina.club/chapter1/
- Dart Language practice website : https://dartpad.dartlang.org/
Important topics :
- Flutter Animation reference documentation : https://flutterchina.club/animations/
Blog source download :
GitHub Address : https://github.com/han1202012/flutter_shared_preferences ( Keep updating with the progress of the blog , There may not be the source code of this blog )
Blog source snapshot : ( The source code snapshot of this blog , You can find the source code of this blog )
边栏推荐
- COM和CN
- 内存池(内核角度理解new开辟空间的过程)
- Create + register sub apps_ Define routes, global routes and sub routes
- Solution for processing overtime orders (Overtime unpaid)
- 机器学习流程与方法
- Monitoring and management of JVM
- GBase 8c 触发器(一)
- How to change the panet layer in yolov5 to bifpn
- Awk from introduction to earth (0) overview of awk
- Face recognition 6-face_ recognition_ Py based on OpenCV, face detection and real-time tracking using Haar cascade and Dlib Library
猜你喜欢
Solution for processing overtime orders (Overtime unpaid)
The use of Flink CDC mongodb and the implementation of Flink SQL parsing complex nested JSON data in monggo
怎么将yolov5中的PANet层改为BiFPN
[Flutter] dart: class; abstract class; factory; Class, abstract class, factory constructor
easyPOI
[shutter] bottom navigation bar page frame (bottomnavigationbar bottom navigation bar | pageview sliding page | bottom navigation and sliding page associated operation)
Basic operation of binary tree (C language version)
内存池(内核角度理解new开辟空间的过程)
UDP receive queue and multiple initialization test
Distributed transaction solution
随机推荐
Cfdiv2 fixed point guessing- (interval answer two points)
Startup mode and scope builder of collaboration in kotlin
CFdiv2-Fixed Point Guessing-(區間答案二分)
Unrecognized SSL message, plaintext connection?
[Yu Yue education] reference materials of chemical experiment safety knowledge of University of science and technology of China
GBase 8c系统表-pg_auth_members
RestCloud ETL 跨库数据聚合运算
Stm32f407 ------- IIC communication protocol
Gbase 8C create user / role example 2
Create + register sub apps_ Define routes, global routes and sub routes
GBase 8c 创建用户/角色 示例二
GBase 8c系统表-pg_constraint
GBase 8c 触发器(一)
Recommendation letter of "listing situation" -- courage is the most valuable
Return a tree structure data
Monitoring and management of JVM
easyPOI
Gbase 8C system table PG_ cast
awk从入门到入土(0)awk概述
COM和CN