آموزش برنامه نویسی اندروید فصل سوم
آموزش اندروید فصل سوم قسمت بیستم – کار با منوها
مرداد ۲۹, ۱۳۹۵
آموزش برنامه نویسی اندروید فصل چهارم
آموزش اندروید فصل چهارم قسمت دوم – ذخیره سازی داخلی/خارجی
شهریور ۱۲, ۱۳۹۵

آموزش اندروید فصل چهارم قسمت یکم – sharedpreference

آموزش برنامه نویسی اندروید فصل چهارم

آموزش برنامه نویسی اندروید فصل چهارم

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

آموزش اندروید فصل چهارم قسمت اول – بانک اطلاعاتی

توجه : برای مشاهده تصاویر در سایز اصلی برروی آنها کلیک کنید.

ذخیره و بازیابی اطلاعات

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

  • استفاده از shared preference
  • حافطه داخلی و خارجی
  • سیستم مدیریت داده SQLite

SharedPreference

با استفاده از شی SharedPrefeerence میتوان اطلاعات را با استفاده از روش کلید/مقدار ذخیره کرد.یعنی برای اطلاعات مورد نظر یک نام در نظرگرفته و سپس مقدار را به آن اختصاص داد که نتیجه در یک فایل XML در مسیری که در ادامه بررسی خواهیم کرد قرارا خواهد گرفت.

به مثال زیر دقت فرمایید

پروژه جدیدی بنام SharedPreferencePrj ایجاد کرده و درون activity_main.xml ابزار زیر را به صورت گرافیکی یا کدنویسی ایجادمیکنیم

<LinearLayout

     xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.example.sharedpreferenceprj.MainActivity"

    android:orientation="vertical" >



    <TextView

        android:id="@+id/textView1"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:text="Enter your Name" />



    <EditText

        android:id="@+id/edt1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:layout_marginTop="16dp"

        android:ems="10" >



        <requestFocus />

    </EditText>



    <Button

        android:id="@+id/btn1"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Save" />



    <Button

        android:id="@+id/btn2"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Display Preference Value" />



    <Button

        android:id="@+id/btn3"

        android:layout_width="fill_parent"

        android:layout_height="wrap_content"

        android:text="Modify Preference Value" />



</LinearLayout>

و در فایل جاوا برنامه نیز چنین کدنویسی میکنیم

package com.example.sharedpreferenceprj;



import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import android.content.Context;

import android.content.SharedPreferences;



public class MainActivity extends Activity {

        Button btnsave;

        Button btnedit;

        Button btndisp;

        EditText edt;

        SharedPreferences shp;

        public static final String mypreference= "Myprefs";

        public static final String name="NameKey";



        @Override

        protected void onCreate(Bundle savedInstanceState) {

                 super.onCreate(savedInstanceState);

                 setContentView(R.layout.activity_main);



                 btnsave=(Button)findViewById(R.id.btn1);

                 btndisp=(Button)findViewById(R.id.btn2);

                 btnedit=(Button)findViewById(R.id.btn3);

                 edt=(EditText)findViewById(R.id.edt1);

                 shp=getSharedPreferences(mypreference, Context.MODE_PRIVATE);



                 btnsave.setOnClickListener(new OnClickListener() {



                           @Override

                           public void onClick(View arg0) {

                                    // TODO Auto-generated method stub

                                    String n=edt.getText().toString();



                                    SharedPreferences.Editor editor = shp.edit();

                                    editor.putString(name, n);

                                    editor.commit();

                                    Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_SHORT).show();

                                    edt.setText("");

                           }

                 });



                 btndisp.setOnClickListener(new OnClickListener() {



                           @Override

                           public void onClick(View arg0) {

                                    String x=shp.getString(name, "");

                                    edt.setText(x);

                           }

                 });

                 btnedit.setOnClickListener(new OnClickListener() {



                           @Override

                           public void onClick(View arg0) {

                                    String n=edt.getText().toString();

                                    SharedPreferences.Editor editor=shp.edit();

                                    editor.putString(name, n);

                                    editor.commit();

                                    Toast.makeText(MainActivity.this, "Edite is Done",Toast.LENGTH_SHORT).show();;

                                    edt.setText("");

                           }

                 });

        }



}

برنامه را اجرا کرده و خواهید دید که هر کدام از دکمه ها عملیات مربوط به خود را بخوبی انجام میدهند

آموزش کاربردی اندروید-قسمت سی و نهم

روش کار

پس از تعریف متغیر های لازم که در ادامه به آنها میپردازیم یک شی ازنوع sharedPreference ایجاد کرده که پارامتر اول یک مقدار رشته ای است و میتواند نام پکیج هم باشد و پارامتر دوم متغیر ثابت MODE_PRIVATE است که مشخص کننده خصوصی بودن این ذخیره سازی میباشد.

در ادامه نیز رویداد onCLickListener() را برای کلید Save فراخوانی کرده و درون آن ابتدا مقدار درون EditText را با استفاده از متد ()getText و toString() درون متغیری به نام n قرار داده ایم و یک شی از نوع SharedPreference.Editor ایجاد کرده ایم که از طریق این شی و متد putString() بتوان مقادیری را ذخیره کرد توجه کنید که متد ()putString و متدهای امثالش که در آموزش های قبل گفته شده به صورت مقدار/کلید کار میکنند بدین معنی که بااستفاده از یک کلید میتوان مقداری را با توجه به مقدار ذخیره کرد و در انتها نیز پیغام مناسب نمایش داده میشود

shp=getSharedPreferences(mypreference, Context.MODE_PRIVATE);



                 btnsave.setOnClickListener(new OnClickListener() {



                           @Override

                           public void onClick(View arg0) {

                                    // TODO Auto-generated method stub

                                    String n=edt.getText().toString();



                                    SharedPreferences.Editor editor = shp.edit();

                                    editor.putString(name, n);

                                    editor.commit();

                                    Toast.makeText(MainActivity.this, "Done", Toast.LENGTH_SHORT).show();

                                    edt.setText("");

                           }

                 });

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

btndisp.setOnClickListener(new OnClickListener() {



                           @Override

                           public void onClick(View arg0) {

                                    String x=shp.getString(name, "");

                                    edt.setText(x);

                           }

                 });

و در انتها کلید Modify یا ویرایش که دستوراتی مشابه دستورات کلید Save دارد و برای ثبت دوباره اطلاعات پس از اعمال تغییرات است.

برای مشاهده فایل حاوی اطلاعات ذخیره شده نیز تنها کافی است به بخش DDMS رفته و گزینه File Explorer را فعال کرده و به مسیر  data/data/com.example.sharedpreferenceprj/shared_prefs و یک فایل xml خواهید دید که اطلاعات در این فایل قرار دارند

آموزش کاربردی اندروید-قسمت سی و نهم

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل سوم قسمت بیستم

آموزش اندروید فصل چهارم قسمت دوم

پاسخ دهید

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