Belajar Membuat Aplikasi dengan Shared Preferences Android Studio

  • Post
    codeorayo
    Keymaster
    none
    Shared Preferences adalah salah satu library untuk jenis data storage ,yang penyimpananya menggunakan bentuk tipe data berpasangan key- value pairs (kunci nilai berpasangan )   , yang berisi tipe data primitif, yang biasanya di simpan dalam mode private. Shared Preferences sering digunakan untuk cache , seperti menyimpan username dan password pada akun ,setting aplikasi , dan lain sebagainya. Yang pasti karena menggunakan tipe data primitif ,jadi ukuran tipe data relatif sangat kecil , serta ini tidak serumit saat kita membuat database SQLite. Jadi saat kita telah berhasil ,membuat data dengan menggunakan Shared Preferences , data tidak akan hilang meskipun kita telah keluar atau mendestroy Activity. Cara menghapusnya ,dengan meng-clear  cache ,pada App info di Setting perangkat Android kalian, atau menguninstall Aplikasi kalian.

    [img width=320,height=213]https://1.bp.blogspot.com/-SXO_ef6acEQ/WZ5SEszU4aI/AAAAAAAAHmU/cCtn7x-fkQkIzcDyfRYr6uqbwb39LY_rACLcBGAs/s320/contoh-aplikasi-menggunakan-sharedpreferences-android-studio.png[/img]

    Pada artikel tutorial belajar android kali ini ,kita akan mencoba membuat contoh Aplikasi , dengan menggunakan Shared Preferences di  Android Studio. Berikut mari kita simak lebih lanjut caranya :

    1. Pertama buat project baru, atau yang sudah ada di Android Studio kalian.

    2. Disini kita akan mendesign layout terlebih dahulu , dengan menggunakan ConstraintLayout ,sebagai ParentView. Kalian bisa lihat contoh code designya dibawah :

    [table]

    [tr]

    [/tr]

    [tr]

    [/tr]

    [/table]

    [td][img width=400,height=298]https://4.bp.blogspot.com/-x1XEixmA8jA/WZ5C-v_j9HI/AAAAAAAAHmE/XCmJ_3sQgtw4gZNSBfTDTYYcUJSVFcOVACLcBGAs/s400/Contoh-design-penggunaan-sharedpreferences-layout-xml-android-studio.png[/img][/td]
    [td]Layout activity_main.xml[/td]

    activity_main.xml


  •         xmlns:android=”http://schemas.android.com/apk/res/android

  •         xmlns:tools=”http://schemas.android.com/tools

  •         xmlns:app=”http://schemas.android.com/apk/res-auto

  •         android:layout_width=”match_parent”

  •         android:layout_height=”match_parent”

  •         tools:context=”com.okedroid.contohaplikasi.MainActivity”>

  •  

  •     

  •             android:layout_width=”0dp”

  •             android:layout_height=”wrap_content”

  •             android:hint=”Username..”

  •             android:ems=”10″

  •             app:layout_constraintTop_toTopOf=”parent”

  •             android:layout_marginTop=”32dp”

  •             android:id=”@+id/userName”

  •             android:layout_marginRight=”16dp”

  •             app:layout_constraintRight_toRightOf=”parent”

  •             android:layout_marginLeft=”16dp”

  •             app:layout_constraintLeft_toLeftOf=”parent”

  •             app:layout_constraintHorizontal_bias=”0.0″/>

  •  

  •     

  •             android:layout_width=”0dp”

  •             android:layout_height=”wrap_content”

  •             android:hint=”Password..”

  •             android:ems=”10″

  •             android:id=”@+id/passWord”

  •             android:layout_marginRight=”16dp”

  •             app:layout_constraintRight_toRightOf=”parent”

  •             android:layout_marginLeft=”16dp”

  •             app:layout_constraintLeft_toLeftOf=”parent”

  •             android:layout_marginTop=”16dp”

  •             app:layout_constraintTop_toBottomOf=”@+id/userName”/>

  •  

  •     

  •             android:text=”LOGIN”

  •             android:layout_width=”0dp”

  •             android:layout_height=”wrap_content”

  •             app:layout_constraintLeft_toLeftOf=”parent”

  •             app:layout_constraintRight_toRightOf=”parent”

  •             android:id=”@+id/loginAkun”

  •             android:layout_marginTop=”8dp”

  •             app:layout_constraintTop_toBottomOf=”@+id/passWord”

  •             app:layout_constraintHorizontal_bias=”0.0″

  •             android:layout_marginLeft=”16dp”

  •             android:onClick=”loginAkun”

  •             android:layout_marginRight=”16dp”/>

  •  

  •     

  •             android:text=”CLEAR “

  •             android:onClick=”clearKolom”

  •             android:layout_width=”0dp”

  •             android:layout_height=”wrap_content”

  •             android:id=”@+id/clear”

  •             app:layout_constraintLeft_toLeftOf=”parent”

  •             app:layout_constraintRight_toRightOf=”parent”

  •             app:layout_constraintHorizontal_bias=”0.0″

  •             android:layout_marginRight=”16dp”

  •             android:layout_marginLeft=”16dp”

  •             android:layout_marginTop=”16dp”

  •             app:layout_constraintTop_toBottomOf=”@+id/loginAkun”

  •             app:layout_constraintBottom_toBottomOf=”parent”

  •             android:layout_marginBottom=”8dp”

  •             app:layout_constraintVertical_bias=”0.043″/>



  • 3. Setelah itu ,kita akan coding logic , pada MainActivity.java. Yang bisa kalian lihat contoh code,  beserta penjelasanya di bawah ini:

    MainActivity.java

  • package com.okedroid.contohaplikasi;

  •  

  • 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.EditText;

  • import android.widget.Toast;

  •  

  • public class MainActivity extends AppCompatActivity {

  •     /**

  •      * By Fathurrahman (okedroid.com)

  •      */

  •  

  •     EditText userName, passWord;

  •     SharedPreferences preferences;

  •     public static final String KEYPREF = “Key Preferences”;

  •     public static final String KEYUSERNAME = “Key Username”;

  •     public static final String KEYPASSWORD = “Key Password”;

  •     //deklarasi editext ,sharedpreferences ,dan Key

  •  

  •  

  •     @Override

  •     protected void onCreate(Bundle savedInstanceState) {

  •         super.onCreate(savedInstanceState);

  •         setContentView(R.layout.activity_main);

  •  

  •  

  •         getSupportActionBar().setTitle(“Contoh SharedPreferences”);

  •         getSupportActionBar().setSubtitle(“Belajar di okedroid.com”);

  •  

  •         userName = (EditText) findViewById(R.id.userName);

  •         passWord = (EditText) findViewById(R.id.passWord);

  •         //instansiasi editext

  •  

  •  

  •         preferences = getSharedPreferences(KEYPREF, Context.MODE_PRIVATE);

  •  

  •         //instansiasi preferences

  •  

  •         if (preferences.contains(KEYUSERNAME) && (preferences.contains(KEYPASSWORD))) {

  •             userName.setText(preferences.getString(KEYUSERNAME, “”));

  •             passWord.setText(preferences.getString(KEYPASSWORD, “”));

  •  

  •         }

  •         //kondisi jika aplikasi di buka kembali ,maka akan menyimpan data dari sharedpreferences

  •         //berdasarkan Key

  •     }

  •  

  •     public void loginAkun(View view) {

  •         String user = userName.getText().toString();

  •         String pass = passWord.getText().toString();

  •         SharedPreferences.Editor editor = preferences.edit();

  •         editor.putString(KEYUSERNAME, user);

  •         editor.putString(KEYPASSWORD, pass);

  •         editor.apply();

  •         Toast.makeText(this, “UserName dan Password disimpan”, Toast.LENGTH_SHORT).show();

  •         //menyimpan data user dan pass

  •         //dengan method appley

  •  

  •  

  •     }

  •  

  •     public void clearKolom(View view) {

  •  

  •         userName.setText(“”);

  •         passWord.setText(“”);

  •  

  •       //hanya bertugas mengkosongkan kolom, bukan menghapus data dari SharedPreferences

  •     }

  •  

  •  

  • }


    Penjelasan :

    Dimulai dari atas ,pertama-tama kita deklarasikan variable objek , pada Editext ,SharedPreferences , beserta KEY.

    Lalu kita instansiasi objek editText 


    Quote:

    userName = (EditText) findViewById(R.id.userName);

      dan     passWord = (EditText) findViewById(R.id.passWord);

Nah ,pada instansiasi preferences , kita menggunakan getSharedPreferences , yang digunakan untuk mengakses Context , pada preferences ,untuk menulis data berdasarkan Key , lalu menyimpanya dalam mode private. 

Lalu kita menggunakan kondisi 

Quote:

if (preferences.contains(KEYUSERNAME) && (preferences.contains(KEYPASSWORD))) {

            userName.setText(preferences.getString(KEYUSERNAME, “”));

            passWord.setText(preferences.getString(KEYPASSWORD, “”));

        }

yang berfungsi saat kita membuka Aplikasi kembali ,setelah kita keluar atau mendestroy Activity. 

Jika objek preferences , menyimpan data berdasarkan key dari KEYUSERNAME atau KEYPASSWORD  , maka editText akan mengambil dan menampilkan text data berdasarkan Key Value ,yang akan disimpan berdasarkan data  dari KEYUSERNAME atau KEYPASSWORD.

Method  loginAkun(View view) merupakan Button Login OnClick , yang telah di definisikan atributnya di activity_main.xml , yang ketika diklik berisi, menyimpan dan mengambil data berdasarkan inputan di EdiText ,dengan tipe data String.  Lalu membuat instansiasi objek editor , untuk mensetting dan menyimpan , tipe data dari SharedPreferences. 

Dengan menggunakan method .putString() untuk mensetting Key-Valuenya.

Lalu menyimpanya dengan method .apply().

Method clearKolom(View view) merupakan Button Clear OnClick , yang telah di definisikan atributnya di activity_main.xml.  Berfungsi untuk menghapus text di kolom EditText ,jadi bukan untuk menghapus data dari SharedPreferences.

4. Selesai ,sekarang kalian bisa mencoba menjalankan Aplikasinya di Android Studio.

Ampuh! Ini rahasia mengembangkan aplikasi secara instan, tinggal download dan kembangkan. Gabung sekarang juga! Premium Membership [PRIVATE] https://premium.codeorayo.com
  • You must be logged in to reply to this topic.