خانه » لایبرری های مفید و تجربیات شخصی خیلی مفید !!! » استفاده آسان از SharedPrefrences در اندروید

استفاده آسان از SharedPrefrences در اندروید

سلام
استفاده از SharedPrefrences برای ذخیره متغیر ها بسیار ساده می باشد ، در ادامه ۲ متد نمونه برای نوشتن و خواندن یک عدد داخل آن قرار داده ام :

برای نوشتن

     public static void setCount(Context context, int count) {
        if (context != null) {
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
            SharedPreferences.Editor editor = preferences.edit();
            editor.putInt("Count",count);
            editor.commit();
        }
    }

برای خواندن

    public static int getCount(Context context) {
        if (context != null) {
            SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
            return preferences.getInt("Count",0);
        }
        return "";
    }

(که البته شرط context !=null کمی حساسیت زیادی است و می توانید آن را حذف کنید)

نحوه کلی کار با آن ها به صورت کلید و مقدار (key-value) می باشد
شما یک مقدار را (عدد ، رشته ، بولین) در آن با اسم خاصی put می کنید و زمان نیاز با همان اسم آن را get می کنید .

در مثال بالا یک عدد را در اسم Count قرار دادیم (put کردیم)
و زمان دریافت همان اسم را get کردیم.

فقط زمان put کردن نباشد فراموش کنید که در آخر commit کنید.

     editor.commit();
برچسب ها:
پست قبلی
پست بعدی

درباره ایلیا عابدینی

برنامه نویس اندروید و کارشناس مهندسی پزشکی، نفر سوم مسابقه برنامه نویسی اندروید http://www.schallenge.ir ، از سال 92 برنامه نویسی اندروید رو شروع کردم و در حال حاضر در شرکت عصر دانش در حال توسعه اپلیکیشن تجارت پی می باشدم ، این وبلاگ رو ساختم تا تجربیات روزانه و مفید خودم رو داخل اون بزارم. رزومه : iact.ir/cv

6 دیدگاه

  1. سلام خسته نباشید با تشکر از سایت خوبتون من یک مشکل بزرگ با شیر پریفرنسز دارم و نمیتونم برطرفش کنم میشه کمک کنید

    • سلام ، بفرمایید . مشکلتون چی هست ؟

      • من صفحه لاگین دارم و میخواهم وقتی کاربر یوزر نیم را وارد کرد با کمک شیر پریفرینسز این یوزر نیم خودکار سیو شود در دفعات بعدی نخواهد یوزر نیم را وارد کند

        در صفحه لاگین اومدم خواندن را انجام دادم و در صفحه دوم که داشبورد هست نوشتن رو
        هر کاری میکنم درست نمیشود اگر میشه راهنمایی کنید ممنون میشم

        کد در قسمت لاگین و در oncreate()
        ocUserName =(EditText)findViewById(R.id.userNameText);

        SharedPreferences prefs = this.getPreferences( Context.MODE_PRIVATE);

        String userNameKey = “userName”;

        String userNameTV=prefs.getString(userNameKey,null);

        SharedPreferences.Editor editor = prefs.edit();

        editor.apply();

        در قسمت داشبورد و در onCreate()
        SharedPreferences prefs = getSharedPreferences(“com.example.shared”, Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();
        String userNameKey = “userName”;
        editor.putString(userNameKey,ocUser);
        editor.commit();

        if(userNameTV!=null)
        {
        ocUserName.setText(userNameTV);
        //ocUserName.setText();
        }

  2. سلام خسته نباشید با تشکر از سایت خوبتون . اگر ممکن هست بعد از اینکه کدی رو اموزش داداین نتیجه نهایی و نحوه عملکرد اون رو با عکس یا فیلم نشون بدین چونکه تو این حالت درک درستی از برنامه رو خواهیم داشت . البته ما تازه کار هستیم برای همین 

    تشکر میکنم از زحمتهای شما

  3. با سلام مجدددانلود کردن کتابخانه های اندروید زمانبر و سخت هست اگر ممکنه یه لینکی قرار بدین که ما بتونیم تمامی کتابخانه های لازم برای اندروید رو دانلود کنیم مثلا کتابخانه ای برای متریال دیزاین

  4. سلام

    درباره commit:

    این متد کمی کند هستش(نسبت به apply) و داده ها رو بصورت synchronously ذخیره می کنه، پس به اندازه حجم داده، ثانیه ای thread UI رو قفل میکنه.

دیدگاهتان را ثبت کنید

آدرس ایمیل شما منتشر نمی شود.علامت دارها لازمند. *

*

رفتن به بالا