Android - Preferensi Bersama

Android menyediakan banyak cara untuk menyimpan data suatu aplikasi. Salah satu cara ini disebut Preferensi Bersama. Preferensi Bersama memungkinkan Anda untuk menyimpan dan mengambil data dalam bentuk kunci, pasangan nilai.

Untuk menggunakan preferensi bersama, Anda harus memanggil metode getSharedPreferences () yang mengembalikan instance SharedPreference yang mengarah ke file yang berisi nilai-nilai preferensi.

SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

Parameter pertama adalah kunci dan parameter kedua adalah MODE. Selain mode pribadi, ada mode lain yang tersedia yang tercantum di bawah ini -

Sr Tidak Mode & deskripsi
1

MODE_APPEND

Ini akan menambahkan preferensi baru dengan preferensi yang sudah ada

2

MODE_ENABLE_WRITE_AHEAD_LOGGING

Bendera terbuka database. Saat disetel, ini akan mengaktifkan penulisan sebelum pencatatan secara default

3

MODE_MULTI_PROCESS

Metode ini akan memeriksa modifikasi preferensi bahkan jika instance sharedpreference telah dimuat

4

MODE_PRIVATE

Dengan menyetel mode ini, file hanya dapat diakses menggunakan aplikasi panggilan

5

MODE_WORLD_READABLE

Mode ini memungkinkan aplikasi lain membaca preferensi

6

MODE_WORLD_WRITEABLE

Mode ini memungkinkan aplikasi lain untuk menulis preferensi

Anda dapat menyimpan sesuatu di sharedpreferences dengan menggunakan kelas SharedPreferences.Editor. Anda akan memanggil metode edit dari instance SharedPreference dan akan menerimanya di objek editor. Sintaksnya adalah -

Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();

Selain metode putString, ada metode yang tersedia di kelas editor yang memungkinkan manipulasi data di dalam preferensi bersama. Mereka terdaftar sebagai berikut -

Sr. NO Mode & deskripsi
1

apply()

Ini adalah metode abstrak. Ini akan mengembalikan perubahan Anda dari editor ke objek sharedPreference yang Anda panggil

2

clear()

Ini akan menghapus semua nilai dari editor

3

remove(String key)

Ini akan menghapus nilai yang kuncinya telah diteruskan sebagai parameter

4

putLong(String key, long value)

Ini akan menghemat nilai panjang di editor preferensi

5

putInt(String key, int value)

Ini akan menyimpan nilai integer di editor preferensi

6

putFloat(String key, float value)

Ini akan menyimpan nilai float di editor preferensi

Contoh

Contoh ini menunjukkan penggunaan Preferensi Bersama. Ini menampilkan layar dengan beberapa bidang teks, yang nilainya disimpan saat aplikasi ditutup dan dibawa kembali saat dibuka lagi.

Untuk bereksperimen dengan contoh ini, Anda perlu menjalankan ini pada perangkat sebenarnya setelah mengembangkan aplikasi sesuai dengan langkah-langkah di bawah ini -

Langkah Deskripsi
1 Anda akan menggunakan studio Android untuk membuat aplikasi Android di bawah paket com.example.sairamkrishna.myapplication.
2 Ubah file src / MainActivity.java untuk menambahkan kode kemajuan untuk menampilkan dialog kemajuan berputar.
3 Ubah file res / layout / activity_main.xml untuk menambahkan kode XML masing-masing.
4 Jalankan aplikasi dan pilih perangkat android yang sedang berjalan dan instal aplikasi di atasnya dan verifikasi hasilnya.

Berikut adalah konten yang telah dimodifikasi MainActivity.java.

package com.example.sairamkrishna.myapplication;

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

public class MainActivity extends AppCompatActivity {
   EditText ed1,ed2,ed3;
   Button b1;
	
   public static final String MyPREFERENCES = "MyPrefs" ;
   public static final String Name = "nameKey";
   public static final String Phone = "phoneKey";
   public static final String Email = "emailKey";
	
   SharedPreferences sharedpreferences;

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

      ed1=(EditText)findViewById(R.id.editText);
      ed2=(EditText)findViewById(R.id.editText2);
      ed3=(EditText)findViewById(R.id.editText3);

      b1=(Button)findViewById(R.id.button);
      sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

      b1.setOnClickListener(new View.OnClickListener() {
         @Override
         public void onClick(View v) {
            String n  = ed1.getText().toString();
            String ph  = ed2.getText().toString();
            String e  = ed3.getText().toString();

            SharedPreferences.Editor editor = sharedpreferences.edit();

            editor.putString(Name, n);
            editor.putString(Phone, ph);
            editor.putString(Email, e);
            editor.commit();
            Toast.makeText(MainActivity.this,"Thanks",Toast.LENGTH_LONG).show();
         }
      });
   }

}

Berikut adalah konten file aktivitas utama yang dimodifikasires/layout/activiy_main.xml.

<?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:paddingLeft="@dimen/activity_horizontal_margin"
   android:paddingRight="@dimen/activity_horizontal_margin"
   android:paddingTop="@dimen/activity_vertical_margin"
   android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">
   
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Shared Preference "
      android:id="@+id/textView"
      android:layout_alignParentTop="true"
      android:layout_centerHorizontal="true"
      android:textSize="35dp" />
      
   <TextView
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Tutorials Point"
      android:id="@+id/textView2"
      android:layout_below="@+id/textView"
      android:layout_centerHorizontal="true"
      android:textSize="35dp"
      android:textColor="#ff16ff01" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText"
      android:layout_below="@+id/textView2"
      android:layout_marginTop="67dp"
      android:hint="Name"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText2"
      android:layout_below="@+id/editText"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:hint="Pass" />
      
   <EditText
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:id="@+id/editText3"
      android:layout_below="@+id/editText2"
      android:layout_alignParentLeft="true"
      android:layout_alignParentStart="true"
      android:layout_alignParentRight="true"
      android:layout_alignParentEnd="true"
      android:hint="Email" />
      
   <Button
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:text="Save"
      android:id="@+id/button"
      android:layout_below="@+id/editText3"
      android:layout_centerHorizontal="true"
      android:layout_marginTop="50dp" />
      
</RelativeLayout>

Berikut adalah isi dari isi file yang dimodifikasi res/values/strings.xml.

<resources>
   <string name="app_name">My Application</string>
</resources>

Berikut ini adalah file default konten AndroidManifest.xml.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
   package="com.example.sairamkrishna.myapplication" >
   
   <application
      android:allowBackup="true"
      android:icon="@mipmap/ic_launcher"
      android:label="@string/app_name"
      android:theme="@style/AppTheme" >
      
      <activity
         android:name=".MainActivity"
         android:label="@string/app_name" >
         
         <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
         
      </activity>
      
   </application>
</manifest>

Mari coba jalankan aplikasi Anda. Saya berasumsi bahwa Anda telah menghubungkan perangkat Seluler Android Anda yang sebenarnya dengan komputer Anda. Untuk menjalankan aplikasi dari Android studio, buka salah satu file aktivitas proyek Anda dan klik

ikon Run dari toolbar. Sebelum memulai aplikasi Anda, studio Android akan menampilkan jendela berikut untuk memilih opsi di mana Anda ingin menjalankan aplikasi Android Anda.

Pilih perangkat seluler Anda sebagai opsi dan kemudian periksa perangkat seluler Anda yang akan menampilkan layar berikut -

Sekarang taruh di beberapa teks di lapangan. Seperti saya memasukkan beberapa nama acak dan informasi lainnya dan klik tombol simpan.

Sekarang ketika Anda menekan tombol simpan, teks akan disimpan di preferensi bersama. Sekarang tekan tombol kembali dan keluar dari aplikasi. Sekarang buka lagi dan Anda akan melihat semua teks yang telah Anda tulis kembali di aplikasi Anda.