بىلىملەر مۇنبىرى

 پارول قايتۇرىۋېلىش
 تىزىملىتىڭ
جەمئىي مىكروبلوگ 258 تال  

مىكروبلوگ[ يېڭى | 24 سائەت | 7 كۈن | 30 كۈن ]

كۆرۈش: 316|ئىنكاس: 2

[Flutter] Flutter دا يەرلىكتە ساقلاش

[ئۇلانما كۆچۈرۈش]

بىكەتكە ئەزا نامىڭىز بىلەن كىرسىڭىز تېخىمۇ كۆپ ئۇچۇرلارنى كۆرەلەيسىز

مۇنبىرىمىزگە تىزىملىتىپ كىرسىڭىز ئاندىن قوشۇمچە ھۆججەتنى كۆرەلەيسىز ياكى چۈشۈرەلەيسىز . تېخى تىزىملاتمىغانمۇ؟ تىزىملىتىڭ

x
بۇ يازمىدا مەن كۆپچىلىككە Flutter نىڭ يەرلىكتە ساقلاشقا مۇناسىۋەتلىك بىر قىسىم ئەمەلىي بىلىم ۋە ماھارەتلىرىنى سۆزلەپ ئۆتىمەن. ئالدى بىلەن سىزگە نېمىنىڭ shared_preferennces ئىكەنلىكىنى، shared_preferennces نى قانداق ئىشلىتىدىغانلىقىنى، شۇنداقلا shared_preferennces دا دائىم ئىشلىتىدىغان API ئېغىزلاردىن قايسىلىرى بارلىقىنى، ئاخىرىدا بىر سانىغۇچنى مىسال قىلىش ئارقىلىق Flutter دىكى يەرلىكتە ساقلاش بىلىم نۇقتىلىرىنى مۇستەھكەملەيمىز.
سىز Flutter دا يەرلىكتە ساقلاشنى ئۆگىنىش جەريانىدا ھەل ھەل قىلاللمىغان مەسىلەرگە يولۇقسىڭىز، مۇشۇ يازما ئاستىدا ئىنكاس شەكلىدە ياردەم سورىسىڭىز بولىدۇ.


مۇندەرىجە
  • shared_preferences دىگەن نىمە؟
  • shared_preferences نى قانداق ئىشلىتىمىز؟
  • shared_preferences دا كۆپ ئىشلىتىلىدىغان API لار قايسى؟
  • shared_preferences ئىشلىتىلگەن سانىغۇچ مىسالى

سانلىق مەلۇمات ساقلاش APP ئېچىشنىڭ كەم بولسا بولمايدىغان بىر قىسمى، مەسىلەن، بەتنىڭ بۇفېرلىق ساقلىنىشى(缓存)، توردىن ئېرىشكەن سانلىق مەلۇماتلارنىڭ يەرلىكتە ئۇزاق ۋاقىت ساقلىنىشى قاتارلىق،  ئۇنداقتا Flutter دا سانلىق مەلۇمات ساقلاش قانداق ئېلىپ بېرىلىدۇ؟
Flutter ئورگان تەرەپ بىزگە shared-preferennces ئارقىلىق سانلىق مەلۇمات ساقلاشنى تەۋسىيە قىلىدۇ، ئۇ React Native دىكى AsyncStorage غا ئوخشايدۇ.


shared_preferences دىگەن نىمە؟
shared_preferennces بولسا Flutter ئورگان تەرەپ ئاچقان يەرلىك سانلىق مەلۇمات ساقلاش قىستۇرمىسى بولۇپ، ئۇنىڭ تۆۋەندىكىدەك ئالاھىدىلىكى بار: 
  • ئاددىي، بىماس قەدەملىك، ئۇزاق ۋاقىت key-value ساقلاش سىستېمىسى؛
  • Android تا Shared Preferences نى ئاساس قىلغان؛
  • iOS تا NSU Defaults نى ئاساس قىلغان؛


shared_preferences نى قانداق ئىشلىتىمىز؟
ئالدى بىلەن pubspec.yaml ھۆججىتىگە تۆۋەندىكى قىستۇرمىنى قوشىمىز:
  1. dependencies:
  2.   shared_preferences: ^0.5.1+
مەزمۇننى كۆچۈرۈۋېلىش

قاچىلاشنى ئۇنتىماڭ: 
  1. flutter packages get
مەزمۇننى كۆچۈرۈۋېلىش

ئىشلىتىشكە تېگىشلىك ھۆججەتلەرگە كىرگۈزۈش:
  1. import 'package:shared_preferences/shared_preferences.dart';
مەزمۇننى كۆچۈرۈۋېلىش


سانلىق مەلۇمات ساقلاش
  1. final prefs = await SharedPreferences.getInstance();

  2. // set value
  3. prefs.setInt('counter', counter);
مەزمۇننى كۆچۈرۈۋېلىش


سانلىق مەلۇماتلارنى ئوقۇپ چىقىش
  1. final prefs = await SharedPreferences.getInstance();

  2. // Try reading data from the counter key. If it does not exist, return 0.
  3. final counter = prefs.getInt('counter') ?? 0;}
مەزمۇننى كۆچۈرۈۋېلىش


سانلىق مەلۇماتنى ئۆچۈرۈش
  1. final prefs = await SharedPreferences.getInstance();
  2. prefs.remove('counter');
مەزمۇننى كۆچۈرۈۋېلىش


shared_preferences دا كۆپ ئىشلىتىلدىغان API لاردىن قايسىلار بار؟
ساقلاشقا مۇناسىۋەتلىك
shared_preferences_set.png
يوقارقى رەسىمدىكىدەك `shared_preferences` بولسا int, double, bool, string ياكى stringList قاتارلىق تىپلاردىكى سانلىق مەلۇماتلارنى ساقلىيالايدۇ.

ئوقۇشقا مۇناسىۋەتلىك
shared_preferences_get.png
ئۈستىدىكى رەسىمدە `shared_ preferennces` ئوقۇشقا مۇناسىۋەتلىك API لار كۆرسىتىلدى.

shared_preferences ئىشلىتىلگەن سانىغۇچ مىسالى
shared_preferences_demo.gif
  1. ...
  2. class _CounterWidget extends StatefulWidget {
  3.   @override
  4.   _CounterState createState() => _CounterState();
  5. }

  6. class _CounterState extends State<_CounterWidget> {
  7.   String countString = '';
  8.   String localCount = '';

  9.   @override
  10.   Widget build(BuildContext context) {
  11.     return Center(
  12.       child: Column(
  13.         children: <Widget>[
  14.           RaisedButton(
  15.               onPressed: _incrementCounter, child: Text('Increment Counter')),
  16.           RaisedButton(onPressed: _getCounter, child: Text('Get Counter')),
  17.           Text(
  18.             countString,
  19.             style: TextStyle(fontSize: 20),
  20.           ),
  21.           Text(
  22.             'result:' + localCount,
  23.             style: TextStyle(fontSize: 20),
  24.           ),
  25.         ],
  26.       ),
  27.     );
  28.   }

  29.   _incrementCounter() async {
  30.     SharedPreferences prefs = await SharedPreferences.getInstance();
  31.     setState(() {
  32.       countString = countString + " 1";
  33.     });
  34.     int counter = (prefs.getInt('counter') ?? 0) + 1;
  35.     await prefs.setInt('counter', counter);
  36.   }

  37.   _getCounter() async {
  38.     SharedPreferences prefs = await SharedPreferences.getInstance();
  39.     setState(() {
  40.       localCount = prefs.getInt('counter').toString();
  41.     });
  42.   }
  43. }
مەزمۇننى كۆچۈرۈۋېلىش


شۇنداق قىلىپ مەزكۇر يازما مۇشۇ يەردە تۈگىدى، داۋامىغا قىزىقماقچى بولسىڭىز دىققىتىڭىز بىلىملەر مۇنبىرى بىلەن بىلىملەر سالونىدا بولسۇن، سالون ئىزدەش نامى: bilmlarcom
بىلمىگەننى بىلىملەردىن بىل!
ۋاقتى: 2021-2-16 20:09:58 | ھەممە قەۋەتنى كۆرۈش
flutter توغۇرلۇق كۆپىرەك مەزمۇن يوللسىڭىزچۇ

باھا سۆز

بولىدۇ، ياخشى دەپ قارىغان يازمىلارنى سالون ۋە مۇنبەرگە تەڭ يوللاپ ماڭىمەن.  تەپسىلاتى ئىنكاس ۋاقتى: 2021-2-16 21:51
بىلمىگەننى بىلىملەردىن بىل!
 ئىگىسى| ۋاقتى: 2021-2-16 21:51:09 | ھەممە قەۋەتنى كۆرۈش
Qeyser يوللىغان ۋاقتى  2021-2-16 20:09
flutter توغۇرلۇق كۆپىرەك مەزمۇن يوللسىڭىزچۇ

بولىدۇ، ياخشى دەپ قارىغان يازمىلارنى سالون ۋە مۇنبەرگە تەڭ يوللاپ ماڭىمەن.
بىلمىگەننى بىلىملەردىن بىل!
كىرگەندىن كېيىن ئىنكاس يازالايسىز كىرىش | تىزىملىتىڭ

سەھىپە جۇغلانما قائىدىسى

QQ|قاماقخانا|رەسىمسىز ھالەت|يانفۇن| بىلىملەر تورى ( 沪ICP备19027845号-8 )   

GMT+8, 2021-2-27 15:10 , Processed in 0.076007 second(s), 31 queries .

Powered by Discuz! X3.2(NurQut Team)

© 2001-2013 Comsenz Inc.

تېز ئىنكاس چوققىغا قايتىش سەھىپىگە قايتىش