Path Fider Web Site Tasarımı

Pinnacle Web Site Tasarımı

Silverlight Web Site Tasarımı

Solutions Web Site Tasarımı

Android SharedPreferences Kullanımı – [ Android Studio ]

  • Android Programlama
  • Savaş Dersim Çelik
  • Çarşamba Mart 23rd, 2016
  • 490 Görüntülenme
  • JAVA
  • Mobile

Android tabanlı herhangi bir uygulama veya projeniz varsa ve size geçici bir hafıza gerekiyorsa bunu SharedPreferences yöntemini kullanarak sorunu çözebilirsiniz. SharedPreferences uygulamalarınızda bir nevi geçici veritabanı gibi çalışır. Bu örneğimizde kullanıcının edittext’e girdiği veriyi SharedPreferences yöntemi ile kayıt edeceğiz ve daha sonra bu veriyi ekrana yazıdıracağız.

İlk olarak gerekli kütüphanelerimizi dahil edecelim.

import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

Daha sonra Button, TextView, EditText,  SharedPreferences, SharedPreferences.Editor türlerinde değişken tanımladık.

SharedPreferences webinyoPref;
SharedPreferences.Editor editor;

Button btnKaydet,btnGetir;
TextView veriyiEkranaYaz;
EditText icerikGir;

Devam edersek .xml dosyasında yerleştirmiş olduğumuz elemanlarımızı biraz önce tanımlamış olduğumuz değişkenlere atıyoruz ki kullanalım.

webinyoPref = getApplicationContext().getSharedPreferences("VeriSakla", MODE_PRIVATE);
        editor = webinyoPref.edit();

            // NESNELERİMİZİ DEĞİŞKENLERİMİZE ATADIK
        btnKaydet = (Button) findViewById(R.id.kaydet);
        btnGetir = (Button) findViewById(R.id.getir);
        icerikGir   =   (EditText) findViewById(R.id.editText);
        veriyiEkranaYaz   =   (TextView) findViewById(R.id.ekranaYaz);

Sonrasında tanımladığımı butonlara tıklandığında ne iş yapacağına karar veriyoruz. btnKaydet değişkene tıklandığında editText içerisindeki veriyi “editPref” isimli SharedPreferences değişkenine atıyor ve kayıt ediyor.

btnKaydet.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
            // EDİTTEXT'E GİRİLEN DEĞERİ ALDIK
        String girilenVeri = icerikGir.getText().toString();
            // GİRİLEN DEĞERİ editPref isimli SHAREDPREF DEĞİŞKENİNE ATADIK
        editor.putString("editPref", girilenVeri);
        editor.commit();
    }
});

Son olarak btnGetir değişkenine tıkladığında SharedPreferences yöntemi ile saklamış olduğumuz veriyi ekrana yazdırıyoruz.

btnGetir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    // DAHA ÖNCEDEN TANIMLAMIŞ OLDUĞUMUZ editPref İSİMLİ VERİYİ ÇAĞIRIP EKRANA YAZIDIRIYORUZ.
                String myString = webinyoPref.getString("editPref", "N/A");
                veriyiEkranaYaz.setText(myString);

            }
        });

Tam Kodlarımız.

MainActivity.java Dosyasındaki Kodlar
package com.android.webinyo.sharedpreferenceskullanimi;

import android.content.Intent;
import android.content.SharedPreferences;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

        // DEĞİŞKENLERİ TANIMLIYORUZ
    SharedPreferences webinyoPref;
    SharedPreferences.Editor editor;

    Button btnKaydet,btnGetir;
    TextView veriyiEkranaYaz;
    EditText icerikGir;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

            // VeriSakla ADINDA BİR SHAREDPREF TANIMLADIK
        webinyoPref = getApplicationContext().getSharedPreferences("VeriSakla", MODE_PRIVATE);
        editor = webinyoPref.edit();

            // NESNELERİMİZİ DEĞİŞKENLERİMİZE ATADIK
        btnKaydet = (Button) findViewById(R.id.kaydet);
        btnGetir = (Button) findViewById(R.id.getir);
        icerikGir   =   (EditText) findViewById(R.id.editText);
        veriyiEkranaYaz   =   (TextView) findViewById(R.id.ekranaYaz);

            // btnKaydet İSİMLİ BUTONA TIKLAMA İŞLEMİ
        btnKaydet.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    // EDİTTEXT'E GİRİLEN DEĞERİ ALDIK
                String girilenVeri = icerikGir.getText().toString();
                    // GİRİLEN DEĞERİ editPref isimli SHAREDPREF DEĞİŞKENİNE ATADIK
                editor.putString("editPref", girilenVeri);
                editor.commit();
            }
        });

        btnGetir.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                    // DAHA ÖNCEDEN TANIMLAMIŞ OLDUĞUMUZ editPref İSİMLİ VERİYİ ÇAĞIRIP EKRANA YAZIDIRIYORUZ.
                String myString = webinyoPref.getString("editPref", "N/A");
                veriyiEkranaYaz.setText(myString);

            }
        });


    }
}
activity_main.xml Dosyasındaki Kodlar
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.android.webinyo.sharedpreferenceskullanimi.MainActivity">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/editText"
        android:gravity="center"
        android:layout_marginTop="28dp"
        android:layout_below="@+id/aciklama"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:text="SharedPreferences kullanımı"
        android:gravity="center"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="KAYDET"
        android:id="@+id/kaydet"
        android:gravity="center"
        android:layout_marginTop="28dp"
        android:layout_below="@+id/editText"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="GETİR"
        android:id="@+id/getir"
        android:gravity="center"
        android:layout_centerVertical="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:id="@+id/ekranaYaz"
        android:gravity="center"
        android:layout_below="@+id/getir"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="88dp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceSmall"
        android:text="Lütfen SharedPreferences yöntemini test etmek için birşeyler girin."
        android:id="@+id/aciklama"
        android:gravity="center"
        android:layout_marginTop="31dp"
        android:layout_below="@+id/textView"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true" />

</RelativeLayout>

 

 

Yorumlar

Henüz hiç yorum yapılmamış.

Benzer İçerikler