no-img
آرتیکلر

کار با SharedPreferences در اندروید - آرتیکلر


آرتیکلر
کلاس ریاضی در رشت و بندرانزلی

ادامه مطلب

کار با SharedPreferences در اندروید


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

روشی که امروز به ان میپردازیم sharedpreferences است که بسیار خوب و کاربردی است.

البته باید به این موضوع توجه داشت که sharedpreferences برای ذخیره اطلاعت غیر ضروری است زیرا در صورت حذف برنامه اطلاعت ذخیره شده هم حذف خواهند شد.

SharedPreference-min-810x450.png

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

خب برای این کار یک کلاس جدید که در این مثال نام کلاس را shpre گذاشته ایم ایجاد کنید و کد های زیر را در ان قرار دهید:

package com.example.exampe.example;

import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;


public class shpre extends YourActiviy {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        SharedPreferences shpre = PreferenceManager.getDefaultSharedPreferences(this);

        String username = shpre.getString("username", "");
        String password = shpre.getString("password", "");

    }
}

توجه کنید که در خط اول که package com.example.exampe.example; قرار دارد مشخصات برنامه خود شماست و در خط بعدی موارد لازم را تعریف کردیم.منظور از YourActivity هم که واضح است که نام اکتیویتی شماست.

داخل کلاس دستور زیر که دو متغیر از نوع رشته ای هستند برای ذخیره سازی اطلاعت خودمون در برنامه است:

String username = prefs.getString("username", "");
String password = prefs.getString("password", "");

دو کلمه کلیدی که در اینجا نام ان هارا username و password گذاشته ایم کلماتی هستند که برای پیدا کردن و یا اشاره به این دو متغیر در برنامه از ان استفاده میکنیم که در ادامه اموزش بیشتر اشنا میشوید با ان ها.در قسمت دوم هم که ما مقدار خالی “” قرار دادیم مقدار پیشفرض است که در صورت قرار نگرفتن مقداری در متغیر ان ها مقدار پیشفرض هستند که نمایش داده خواهند شد. خب حالا به اکتیویتی خودمون میرویم و میخاهیم نحوه قرار دادن و نحوه خواندن را ببینیم.

نحوه قرار دادن مقداری در متغیر:

SharedPreferences sh = getSharedPreferences("shpre", MODE_PRIVATE);
SharedPreferences.Editor editor = sh.edit();
editor.putString("username", "sepehr");
editor.commit();

خب همانطور که در خط اول میبینیم همیشه باید به این صورت sharedpreferences تعریف کنیم و بعد از ان editor را.سپس به وسیله متد PutString مقدار مورد نظر را در متغیری که در کلاس shpre تعریف کردیم.

در اینجا میبینیم که از کلمه کلیدی username که در کلاسمان مشخص کرده بودیم برای اشاره به ان متغیر استفاده کردیم.

مقدار دوم هم در اینجا مقداری هست که میخواهیم ریخته شود در متغیر و در اخر برای انجام کار از editor.commit(); استفاده میکنیم.

در بعضی جاها هم شاید دیده باشید از editor.apply(); استفاده میشود.

commit یک مقدار بولین را بر میگرداند که نشان میدهد ذخیره سازی با موفقیت انجام شده است یا خیر.

همین کار را میتوانیم برای password هم انجام دهیم.

SharedPreferences sh = getSharedPreferences("shpre", MODE_PRIVATE);
SharedPreferences.Editor editor = sh.edit();
editor.putString("password", "1234");
editor.commit();

نحوه خواندن مقدار متغیر:

برای خواندن مقدار متغیر از کد زیر استفاده میکنیم که تفاوت های کمی با کد بالا دارد که متوجه ان خواهید شد:

SharedPreferences sh = getSharedPreferences("shpre", MODE_PRIVATE);
SharedPreferences.Editor editor = sh.edit();
String mystring = sh.getString("username", "")

خب همانطور که میبینید در این کد به جای PutString که برای قرار دادن بود از GetString استفاده کردیم که برای خواندن مقدار داخل متغیر است.و در ادامه هم از کلمه کلیدی متغیر username استفاده کردیم و مقدار دومی هم مقدار پیشفرض.

میتوانید از ارایه هم برای مقدار های بیشتر استفاده کنید.

امیدوارم مطالب مفید بوده باشند.

موفق باشید.

منبع: پروگرمچی

به این مطلب امتیاز دهید!
[تعداد رای: 1 میانگین رای: 5]


موضوعات :

مطالب مرتبط


دیدگاه ها


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

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