Cara Membuat Shared Preferences Di Android
Cara Membuat Shared Preferences Di Android
Android menyediakan banyak cara untuk menyimpan data suatu
aplikasi. Salah satu cara ini disebut Shared Preferences. Shared Preferences memungkinkan Anda menyimpan dan mengambil data
dalam bentuk pasangan key dan value.
Untuk menggunakannya, Anda harus memanggil metode
getSharedPreferences () yang mengembalikan instance SharedPreference yang
mengompresi ke file yang berisi nilai Preferences.
Contoh
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES,
Context.MODE_PRIVATE);
Parameter pertama adalah key dan parameter kedua adalah MODE. Selain private, ada mode lain yang tersedia yang tercantum di bawah ini:
Mode dan Deskripsi
MODE_APPEND
Ini akan menambahkan Preferences baru dengan Preferences yang sudah ada
MODE_ENABLE_WRITE_AHEAD_LOGGING
Database open flag. Ketika diatur, itu akan memungkinkan
menulis ke depan logging secara default
MODE_MULTI_PROCESS
Metode ini akan memeriksa modifikasi Preferences bahkan jika instance Preferences berbagi telah
telah dimuat
MODE_PRIVATE
Dengan mengatur mode ini, file hanya dapat diakses
menggunakan aplikasi panggilan
MODE_WORLD_READABLE
Mode ini memungkinkan aplikasi lain membaca Preferences
MODE_WORLD_WRITEABLE
Mode ini memungkinkan aplikasi lain untuk menulis preferensi
Anda dapat menyimpan sesuatu di preferensi yang dibagikan
dengan menggunakan kelas SharedPreferences.Editor. Anda akan memanggil metode
edit instance SharedPreference dan akan menerimanya dalam objek editor.
Sintaksnya adalah:
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
Contoh
Contoh ini menunjukkan penggunaan Preferensi Bersama. Ini
menampilkan layar dengan beberapa bidang teks, yang nilainya disimpan ketika
aplikasi ditutup dan dibawa kembali ketika dibuka lagi.
Untuk bereksperimen dengan contoh ini, Anda harus
menjalankan ini pada perangkat yang sebenarnya aktif setelah mengembangkan
aplikasi sesuai dengan langkah-langkah di bawah ini:
MainActivity.java
package
com.example.zamalpostsherepreferences;
import
android.os.Bundle;
import
android.app.Activity;
import
android.content.Context;
import
android.content.SharedPreferences;
import
android.content.SharedPreferences.Editor;
import
android.view.Menu; import android.view.View;
import
android.widget.TextView;
public class MainActivity extends Activity {
TextView name ;
TextView phone;
TextView email;
TextView street;
TextView place;
public static final String MyPREFERENCES = "MyPrefs" ;
public static final String Name = "nameKey";
public static final String Phone = "phoneKey";
public static final String Email = "emailKey";
public static final String Street = "streetKey";
public static final String Place = "placeKey";
SharedPreferences sharedpreferences;
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (TextView) findViewById(R.id.editTextName);
phone = (TextView)
findViewById(R.id.editTextPhone);
email = (TextView)
findViewById(R.id.editTextStreet);
street = (TextView)
findViewById(R.id.editTextEmail);
place = (TextView)
findViewById(R.id.editTextCity);
sharedpreferences =
getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
if (sharedpreferences.contains(Name))
{
name.setText(sharedpreferences.getString(Name, ""));
}
if (sharedpreferences.contains(Phone))
{
phone.setText(sharedpreferences.getString(Phone, ""));
}
if (sharedpreferences.contains(Email))
{
email.setText(sharedpreferences.getString(Email, ""));
}
if (sharedpreferences.contains(Street))
{
street.setText(sharedpreferences.getString(Street, ""));
}
if (sharedpreferences.contains(Place))
{
place.setText(sharedpreferences.getString(Place,""));
}
}
public void run(View view){
String n = name.getText().toString();
String ph = phone.getText().toString();
String e = email.getText().toString();
String s = street.getText().toString();
String p = place.getText().toString();
Editor editor = sharedpreferences.edit();
editor.putString(Name, n);
editor.putString(Phone, ph);
editor.putString(Email, e);
editor.putString(Street, s);
editor.putString(Place, p);
editor.commit();
}
@Override
public boolean
onCreateOptionsMenu(Menu menu) {
//Inflate the
menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Activity_main.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/scrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context=".DisplayContact" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="370dp"
>
<EditText
android:id="@+id/editTextName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_marginTop="5dp"
android:layout_marginLeft="82dp"
android:ems="10"
android:inputType="text" >
</EditText>
<EditText
android:id="@+id/editTextEmail"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextStreet"
android:layout_below="@+id/editTextStreet"
android:layout_marginTop="22dp"
android:ems="10"
android:inputType="textEmailAddress" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editTextName"
android:layout_alignParentLeft="true"
android:text="@string/name"
android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextCity"
android:layout_alignParentBottom="true"
android:layout_marginBottom="28dp"
android:onClick="run"
android:text="@string/save" />
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editTextEmail"
android:layout_alignLeft="@+id/textView1"
android:text="@string/email"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/editTextPhone"
android:layout_alignLeft="@+id/textView1"
android:text="@string/phone"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/textView4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/editTextEmail"
android:layout_alignLeft="@+id/textView5"
android:text="@string/street"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editTextCity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/editTextName"
android:layout_below="@+id/editTextEmail"
android:layout_marginTop="30dp"
android:ems="10"
android:inputType="text" />
<TextView
android:id="@+id/textView3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editTextCity"
android:layout_alignBottom="@+id/editTextCity"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/editTextEmail"
android:text="@string/country"
android:textAppearance="?android:attr/textAppearanceMedium" />
<EditText
android:id="@+id/editTextStreet"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextName"
android:layout_below="@+id/editTextPhone"
android:ems="10"
android:inputType="text" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/editTextPhone"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextStreet"
android:layout_below="@+id/editTextName"
android:ems="10"
android:inputType="phone|text" />
</RelativeLayout>
</ScrollView>
String.xml
<?xml version="1.0"
encoding="utf-8"?>
<resources>
<string name="app_name">ZamalPost Shere
Preferences</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>
<string name="name">Name</string>
<string name="phone">Phone</string>
<string name="email">Email</string>
<string name="street">Street</string>
<string name="country">City/State/Zip</string>
<string name="save">Save Contact</string>
</resources>
AndroidManifest.xml
<?xml version="1.0"
encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.zamalpostsherepreferences"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="18"
/>
<application
android:allowBackup="true"
android:icon="@drawable/zamalpost"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.zamalpostsherepreferences.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 kita coba jalankan aplikasi SharedPreferences Anda.
Gunakan kal USB dan jangan lupa pastinya Anda harus mengistal Driver terlebih
dahulu. Saya menganggap Anda telah menghubungkan Ponsel Android Anda ke
Laptop/PC Anda. Anda juga bisa
menginstal Vysor sebagai Emulator.
Untuk menjalankan aplikasi dari Eclipse, buka salah satu
file aktivitas proyek Anda dan klik ikon Jalankan dari bilah alat berwarna
hijau. Sebelum memulai aplikasi Anda, Eclipse akan menampilkan jendela berikut
untuk memilih opsi tempat Anda ingin menjalankan aplikasi Android Anda.
Tampilan AVD
Tampilan AVD Eclipse |
Pilih aktif Emulator
lalu OK
Tampilan Layout
Silahkan download project disini
Semoga ini dapat membantu masalah Anda dalam mempelajari SherePreferences Android
0 Response to "Cara Membuat Shared Preferences Di Android"
Post a Comment