Contoh Preferensi Android
September 11, 2020
Add Comment
Android shared preference digunakan untuk menyimpan dan mengambil informasi primitif. Dalam android, string, bilangan bulat, panjang, nomor dll dianggap sebagai tipe data primitif.
Preferensi Bersama Android digunakan untuk menyimpan data dalam pasangan kunci dan nilai sehingga kita dapat mengambil nilai berdasarkan kunci. Hal ini banyak digunakan untuk mendapatkan informasi dari pengguna seperti dalam pengaturan.
Selanjutnya array.xml dibuat di dalam direktori res /values. File : array.xml
Selanjutnya lagi prefs.xm dibuat di dalam direktori res/xml. File : prefs.xml
File : PrefsActivity.java
Preferensi Bersama Android digunakan untuk menyimpan data dalam pasangan kunci dan nilai sehingga kita dapat mengambil nilai berdasarkan kunci. Hal ini banyak digunakan untuk mendapatkan informasi dari pengguna seperti dalam pengaturan.
Contoh Preferensi Android
Mari kita lihat contoh sederhana dari Android shared preference.* Main Activity
Seret satu tampilan teks dan dua tombol dari pallete. File : activity_main.xml<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="example.android.com.preferences.MainActivity"> <TextView android:id="@+id/txtPrefs" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:text="Data:" /> <Button android:id="@+id/storeinformation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/showinformation" android:layout_centerHorizontal="true" android:layout_marginTop="18dp" android:text="Store Information" /> <Button android:id="@+id/showinformation" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_marginTop="17dp" android:text="Show Information" /> </RelativeLayout>
Selanjutnya array.xml dibuat di dalam direktori res /values. File : array.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="listOptions"> <item>English</item> <item>Hindi</item> <item>Other</item> </string-array> <string-array name="listValues"> <item>English Language</item> <item>Hindi Language</item> <item>Other Language</item> </string-array> </resources>
Selanjutnya lagi prefs.xm dibuat di dalam direktori res/xml. File : prefs.xml
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:summary="Username and password information" android:title="Login information" > <EditTextPreference android:key="username" android:summary="Please enter your login username" android:title="Username" /> <EditTextPreference android:key="password" android:summary="Enter your password" android:title="Password" /> </PreferenceCategory> <PreferenceCategory android:summary="Username and password information" android:title="Settings" > <CheckBoxPreference android:key="checkBox" android:summary="On/Off" android:title="Keep me logged in" /> <ListPreference android:entries="@array/listOptions" android:entryValues="@array/listValues" android:key="listpref" android:summary="List preference example" android:title="List preference" /> </PreferenceCategory> </PreferenceScreen>
* Activity class
File : MainActivity.javapackage example.android.com.preferences; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button storeinformation = (Button) findViewById(R.id.storeinformation); Button showinformation = (Button) findViewById(R.id.showinformation); textView = (TextView) findViewById(R.id.txtPrefs); View.OnClickListener listener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.storeinformation: Intent intent = new Intent(MainActivity.this,PrefsActivity.class); startActivity(intent); break; case R.id.showinformation: displaySharedPreferences(); break; default: break; } } }; storeinformation.setOnClickListener(listener); showinformation.setOnClickListener(listener); } private void displaySharedPreferences() { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(MainActivity.this); String username = prefs.getString("username", "Default NickName"); String passw = prefs.getString("password", "Default Password"); boolean checkBox = prefs.getBoolean("checkBox", false); String listPrefs = prefs.getString("listpref", "Default list prefs"); StringBuilder builder = new StringBuilder(); builder.append("Username: " + username + "\n"); builder.append("Password: " + passw + "\n"); builder.append("Keep me logged in: " + String.valueOf(checkBox) + "\n"); builder.append("List preference: " + listPrefs); textView.setText(builder.toString()); } }
File : PrefsActivity.java
package example.android.com.preferences; import android.os.Bundle; import android.preference.PreferenceActivity; public class PrefsActivity extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.prefs); } }
* AndroidManifest
File : AndroidManifest.xml<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="example.android.com.preferences"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".PrefsActivity" android:theme="@android:style/Theme.Black.NoTitleBar" > </activity> </application> </manifest>
0 Response to "Contoh Preferensi Android"
Posting Komentar