ورود و عضویت
0
سبد خرید شما خالی است
0
سبد خرید شما خالی است

آموزش ذخیره سازی اطلاعات در فلاتر با SharedPreferences

0 دیدگاه
10 دقیقه برای مطالعه
فلاتر SharedPreferences

ذخیره سازی اطلاعات در برنامه های موبایل یکی از نیازهای اساسی است. در فلاتر، SharedPreferences به عنوان یک راه حل قدرتمند و محبوب برای ذخیره داده های ساده مانند تنظیمات برنامه، اطلاعات ورود به سیستم و ترجیحات کاربر شناخته می شود.

در خیلی از مواقع نیاز به ذخیره سازی دائمی اطلاعات در اپلیکیشن داریم. این اطلاعات زمانی که زیاد و تکرار شونده باشند از دیتابیس استفاده میکنیم که امکانات بسیار زیادی هم در اختیار ما قرار میدهد.

اما در این بخش از مقالات فلاتر با روش دیگری برای ذخیره سازی اطلاعات در برنامه نویسی فلاتر آشنا خواهیم شد.

SharedPreferences چیست؟

SharedPreferences یک راه حل قدرتمند و محبوب برای ذخیره سازی اطلاعات در برنامه های Flutter است. این API به شما امکان می دهد داده های ساده مانند تنظیمات برنامه، اطلاعات ورود به سیستم و ترجیحات کاربر را به طور امن و قابل اعتماد ذخیره کنید.

مزایای استفاده از SharedPreferences:

  • ساده: استفاده از SharedPreferences بسیار آسان است.
  • سبک: SharedPreferences فضای کمی را اشغال می کند.
  • قابل اعتماد: SharedPreferences داده ها را به طور امن ذخیره می کند.
  • سازگار با انواع داده ها: SharedPreferences می تواند انواع مختلف داده ها مانند رشته، عدد، بولین و لیست را ذخیره کند.
  • محبوب: SharedPreferences توسط بسیاری از توسعه دهندگان فلاتر استفاده می شود و به طور کامل مستند شده است.

موارد استفاده از SharedPreferences:

  • ذخیره تنظیمات برنامه مانند تم، زبان و اندازه فونت
  • ذخیره اطلاعات ورود به سیستم کاربر
  • ذخیره ترجیحات کاربر مانند لیست علاقه مندی ها
  • ذخیره داده های موقت مانند وضعیت فعلی برنامه

نحوه کار SharedPreferences:

SharedPreferences داده ها را در یک فایل XML در حافظه محلی دستگاه ذخیره می کند. این فایل برای هر برنامه جداگانه است و فقط توسط آن برنامه قابل دسترسی است.

تفاوت SharedPreferences و دیتابیس در فلاتر

دیتابیس در تمام نرم افزار ها اصلی ترین روش ذخیره سازی اطلاعات میباشد.

اما بعضی مواقع ما فقط یک سری اطلاعات محدود و کم را لازم داریم که نگهداری کنیم مثل اسم کاربری که لاگین انجام داده ایمیل و بقیه موارد که نیازی به ساخت دیتابیس و جدول نیست.

در این مواقع از قابلیتی به نام SharedPreferences استفاده میکنیم که مثل یک دیتابیس کوچک عمل می کند و اطلاعات را به همراه یک کلید به شکل دائمی در برنامه نگهداری میکند.

SharedPreferences و دیتابیس هر دو روش هایی برای ذخیره سازی اطلاعات در برنامه های Flutter هستند. با این حال، تفاوت های کلیدی بین این دو روش وجود دارد که باید قبل از انتخاب روش مناسب برای برنامه خود در نظر بگیرید.

SharedPreferences:

  • ساده: استفاده از SharedPreferences بسیار آسان است.
  • سبک: SharedPreferences فضای کمی را اشغال می کند.
  • قابل اعتماد: SharedPreferences داده ها را به طور امن ذخیره می کند.
  • مناسب برای ذخیره داده های ساده: SharedPreferences برای ذخیره داده های ساده مانند تنظیمات برنامه، اطلاعات ورود به سیستم و ترجیحات کاربر مناسب است.
  • نامناسب برای ذخیره داده های پیچیده: SharedPreferences برای ذخیره داده های پیچیده مانند لیست های بزرگ یا اشیاء JSON مناسب نیست.

دیتابیس:

  • پیچیده تر: استفاده از دیتابیس پیچیده تر از SharedPreferences است.
  • سنگین تر: دیتابیس فضای بیشتری نسبت به SharedPreferences اشغال می کند.
  • قابل اعتماد: دیتابیس ها به طور کلی قابل اعتمادتر از SharedPreferences هستند.
  • مناسب برای ذخیره داده های پیچیده: دیتابیس ها برای ذخیره داده های پیچیده مانند لیست های بزرگ یا اشیاء JSON مناسب هستند.
  • مناسب برای پرس و جوهای پیچیده: دیتابیس ها از پرس و جوهای پیچیده برای بازیابی داده ها پشتیبانی می کنند.

انتخاب بین SharedPreferences و دیتابیس:

انتخاب بین SharedPreferences و دیتابیس به نیازهای برنامه شما بستگی دارد. اگر نیاز به ذخیره داده های ساده دارید، SharedPreferences گزینه مناسب تری است. اگر نیاز به ذخیره داده های پیچیده یا انجام پرس و جوهای پیچیده دارید، دیتابیس گزینه مناسب تری است.

در اینجا چند نمونه از سناریوهایی که در آن می توانید از SharedPreferences استفاده کنید، آورده شده است:

  • ذخیره تنظیمات برنامه مانند تم، زبان و اندازه فونت
  • ذخیره اطلاعات ورود به سیستم کاربر
  • ذخیره ترجیحات کاربر مانند لیست علاقه مندی ها
  • ذخیره داده های موقت مانند وضعیت فعلی برنامه

در اینجا چند نمونه از سناریوهایی که در آن می توانید از دیتابیس استفاده کنید، آورده شده است:

  • ذخیره لیست محصولات در یک برنامه خرید
  • ذخیره اطلاعات کاربر در یک برنامه شبکه های اجتماعی
  • ذخیره پیام ها در یک برنامه پیام رسان

پیاده سازی SharedPreferences در فلاتر

برای شروع ابتدا باید پکیج زیر و به برنامه اضافه کنید.

dependencies:
  shared_preferences: ^0.5.1+2

بعد از نصب پکیج, در کلاسی که نیاز به استفاده از SharedPreferences دارید باید کلاس پکیج را ایمپورت کنید.

import 'package:shared_preferences/shared_preferences.dart';

بعد از ایمپورت کردن نوبت به مقداردهی کردن SharedPreferences میرسد. ابتدا یک نمونه از این کلاس ایجاد میکنیم و از طریق این نمونه ساخته شده عملیات ذخیره و بازیابی را انجام میدهیم.

SharedPreferences sharedPreferences;
_onChanged(bool value) async {
  sharedPreferences = await SharedPreferences.getInstance();
  setState(() {
    checkValue = value;
    sharedPreferences.setBool("check", checkValue);
    sharedPreferences.setString("username", username.text);
    sharedPreferences.setString("password", password.text);
  });
}

نحوه ذخیره سازی اطلاعات در SharedPreferences بسیار شبیه به Map می باشد زیرا اطلاعات مورد نیاز را بصورت یک جفت key,value ذخیره میکنیم.

برای مثال با دستور sharedPreferences.setString(“password”, password.text);

یک رشته با نام کلید password را با مقدار password.txt ذخیره میکنیم حالا هر زمان در هر کجای برنامه نیاز داشته باشیم با فراخوانی نام password به مقدار آن دسترسی پیدا میکنیم.

امکان ذخیره کردن تمام داده های استاندارد زبان دارت را با استفاده از این پکیج دارید.

برای دریافت کردن اطلاعات هم به شکل زیر عمل میکنیم.

     username.text = sharedPreferences.getString("username");
        password.text = sharedPreferences.getString("password");

برای حذف اطلاعات کافیست کلید مورد نظر را به متد remove انتقال دهید تا اطلاعات پاک شوند.

sharedPreferences.remove("key");

در خیلی از موارد نیاز است تا بررسی کنیم آیا کلید خاصی تا به حال استفاده شده است یا خیر که به شکل زیر عمل میکنیم:

bool CheckValue = sharedPreferences.containsKey('value');

در صورتی که کلید مورد نظر وجود داشته باشد مقدار صحیح بازگردانی میشود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Hesam
18 مارس 2019
آموزش فارسی فلاتر
آموزش فارسی flutter