Marwan800 نشر 28 ديسمبر 2020 أرسل تقرير نشر 28 ديسمبر 2020 (معدل) السلام عليكم ورحمة الله وبركاته تحيه طيبه للجميع. لدي استفسار لو تكرمتو كيف نستخدم shared Preference مع نمط البيانات int في flutter الشيفرة البرمجية خاصتي: import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const PASSWORD = "passd"; static const PHONENUMBER = "phone"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String passd = ""; String phone = ""; MyPreferences._internal() {} factory MyPreferences() => instance; Future<SharedPreferences> get preferences async { if (_sharedPreferences != null) { return _sharedPreferences; } else { _sharedPreferences = await SharedPreferences.getInstance(); passd = _sharedPreferences.getString(PASSWORD); phone = _sharedPreferences.getString(PHONENUMBER); return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(PASSWORD, passd); await _sharedPreferences.setString(PHONENUMBER, phone); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } } تم التعديل في 28 ديسمبر 2020 بواسطة Wael Aljamal تعديل السؤال لما كان قبل أن يقوم صاحب السؤال بتغييره بطريقة مختلفة تماما عما طرحه اقتباس
1 Wael Aljamal نشر 28 ديسمبر 2020 أرسل تقرير نشر 28 ديسمبر 2020 مرحبا مروان، في إطار عمل Flutter يوجد دوال خاصة للتعامل مع نمط البيانات int عند استخدام sharedPreference وهي تشبه التعامل مع string التي تستخدمها أنت .. مثال بسيط: // read final myInt = prefs.getInt('my_int_key') ?? 0; // write prefs.setInt('my_int_key', 42); استخدم الدوال getInt & setInt وهي مقدمة جاهزة ولا تحتاج للبرمجة. رابط شرح المكتبة من هنا طريقة التضمين: تضمين أحدث إصدار: dependencies: flutter: sdk: flutter shared_preferences: ^0.5.12+4 وتنفيذ التعليمة التالية: $ flutter pub get وتضمين المكتبة كما فعلت أنت بالضبط: import 'package:shared_preferences/shared_preferences.dart'; مثال للقراءة و الكتابة معا (زيادة قيمة رقمية بمقدار 1) _incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); int counter = (prefs.getInt('counter') ?? 0) + 1; print('Pressed $counter times.'); await prefs.setInt('counter', counter); } بالنسبة لمثالك: import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const PASSWORD = "passd"; static const PHONENUMBER = "phone"; static const AGE = "AGE"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String passd = ""; String phone = ""; String age = 0; MyPreferences._internal() {} factory MyPreferences() => instance; Future<SharedPreferences> get preferences async { if (_sharedPreferences != null) { return _sharedPreferences; } else { _sharedPreferences = await SharedPreferences.getInstance(); passd = _sharedPreferences.getString(PASSWORD); phone = _sharedPreferences.getString(PHONENUMBER); age = _sharedPreferences.getString(AGE); return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(PASSWORD, passd); await _sharedPreferences.setString(PHONENUMBER, phone); await _sharedPreferences.setString(AGE, age); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } } قمت بإضاقة العمر كـ AGE للمفتاح و age للمتحول الذي يحفظ القيمة. بالتوفيق 1 اقتباس
0 Marwan800 نشر 28 ديسمبر 2020 الكاتب أرسل تقرير نشر 28 ديسمبر 2020 بتاريخ 3 ساعات قال Wael Aljamal: مرحبا مروان، في إطار عمل Flutter يوجد دوال خاصة للتعامل مع نمط البيانات int عند استخدام sharedPreference وهي تشبه التعامل مع string التي تستخدمها أنت .. مثال بسيط: // read final myInt = prefs.getInt('my_int_key') ?? 0; // write prefs.setInt('my_int_key', 42); استخدم الدوال getInt & setInt وهي مقدمة جاهزة ولا تحتاج للبرمجة. رابط شرح المكتبة من هنا طريقة التضمين: تضمين أحدث إصدار: dependencies: flutter: sdk: flutter shared_preferences: ^0.5.12+4 وتنفيذ التعليمة التالية: $ flutter pub get وتضمين المكتبة كما فعلت أنت بالضبط: import 'package:shared_preferences/shared_preferences.dart'; مثال للقراءة و الكتابة معا (زيادة قيمة رقمية بمقدار 1) _incrementCounter() async { SharedPreferences prefs = await SharedPreferences.getInstance(); int counter = (prefs.getInt('counter') ?? 0) + 1; print('Pressed $counter times.'); await prefs.setInt('counter', counter); } بالنسبة لمثالك: import 'package:shared_preferences/shared_preferences.dart'; class MyPreferences { static const PASSWORD = "passd"; static const PHONENUMBER = "phone"; static const AGE = "AGE"; static final MyPreferences instance = MyPreferences._internal(); static SharedPreferences _sharedPreferences; String passd = ""; String phone = ""; String age = 0; MyPreferences._internal() {} factory MyPreferences() => instance; Future<SharedPreferences> get preferences async { if (_sharedPreferences != null) { return _sharedPreferences; } else { _sharedPreferences = await SharedPreferences.getInstance(); passd = _sharedPreferences.getString(PASSWORD); phone = _sharedPreferences.getString(PHONENUMBER); age = _sharedPreferences.getString(AGE); return _sharedPreferences; } } Future<bool> commit() async { await _sharedPreferences.setString(PASSWORD, passd); await _sharedPreferences.setString(PHONENUMBER, phone); await _sharedPreferences.setString(AGE, age); } Future<MyPreferences> init() async { _sharedPreferences = await preferences; return this; } } قمت بإضاقة العمر كـ AGE للمفتاح و age للمتحول الذي يحفظ القيمة. بالتوفيق اهلا بك عزيزي ربي يعطيك الف صحه وعافيه يا غالي ويزيدك من واسع فضله 1 اقتباس
السؤال
Marwan800
السلام عليكم ورحمة الله وبركاته
تحيه طيبه للجميع.
لدي استفسار لو تكرمتو
كيف نستخدم shared Preference مع نمط البيانات int في flutter
الشيفرة البرمجية خاصتي:
تعديل السؤال لما كان قبل أن يقوم صاحب السؤال بتغييره بطريقة مختلفة تماما عما طرحه
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.