Membuat preferensi atau pengaturan pada aplikasi android Oleh: Jefri Rendra Wiratmaja
Sempat bertanya - tanya pada diri ini "Bagiamana sih membuat pengaturan pada aplikasi android layaknya pengaturan pada sistem android yang kayak gini nih. Pernah nyoba" bikin layout sendiri eh malah hasilnya berantakan. Akhirnya saya coba googling" dan ketemu dah yang aku cari . Ternyata tidak sesulit yan...
Sempat bertanya - tanya pada diri ini "Bagiamana sih membuat pengaturan pada aplikasi android layaknya pengaturan pada sistem android yang kayak gini nih.
Pernah nyoba" bikin layout sendiri eh malah hasilnya berantakan. Akhirnya saya coba googling" dan ketemu dah yang aku cari . Ternyata tidak sesulit yang saya pikirkan. Ada cara sendiri untuk membuatnya dan itupun sangat mudah. Tidak sulit bagi yang masih baru menerjuni dunia android. Beginilah caranya : ❍ ❍
❍
Buat project baru dan beri nama preferences. Kemudian masuk ke folder res dan buat folder xml. Disini kita buat file xml baru beri nama preferences.xml. Buka preferences.xml dan salin kode dibawah ini :
/> <EditTextPreference android:key="ipaddress" android:title="Network" android:dialogTitle="Enter Values" />
❍
Kemudian buka folder res => layout gantikan activity_main.xml dengan kode berikut.
android:layout_alignLeft="@+id/textView3" android:layout_below="@+id/textView3" android:layout_marginTop="42dp" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" />
❍
Kemudian buat activity baru dengan nama PreferencesActivity.java dan salin kode dibawah ini : package com.example.preferences; import android.os.Bundle; import android.preference.PreferenceActivity; public class PreferencesActivity extends PreferenceActivity { @SuppressWarnings("deprecation") public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.addPreferencesFromResource(R.xml.preferences); } }
❍
Kemudian rubah MainActivity.java dengan kode dibawah ini : package com.example.preferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.view.Menu; import android.view.MenuItem; import android.widget.TextView; public class MainActivity extends Activity { SharedPreferences sharedPreferences; TextView textView2,textView4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);//mengambil data konfigurasi dari aplikasi String ipaddress = sharedPreferences.getString("ipaddress", "");//mengambil data konfigurasi dari aplikasi boolean status = sharedPreferences.getBoolean("status", false);//mengambil data konfigurasi dari aplikasi textView2 = (TextView)findViewById(R.id.textView2); textView4 = (TextView)findViewById(R.id.textView4); //menampilkan data pada textview textView2.setText(String.valueOf(status)); textView4.setText(ipaddress);
} @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; } public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub switch (item.getItemId()) { case R.id.action_settings: startActivity(new Intent(MainActivity.this, PreferencesActivity.class)); break; } return true; } ❍
} Kemudian rubah android manifest.xml nya seperti dibawah ini. <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.preferences" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" />
Kemudian jalankan aplikasi dan lihat hasilnya. Tekan tombol menu kemudian pilih setting dan atur aplikasinya. Setelah diatur coba keluar dari aplikasi dan masuk pada aplikasi tersebut
lihatlah perubahanya. Berikut saya sertakan gambar gambarnya. ●
Tentang Penulis
Jefri Rendra Wiratmaja Harus bisa banyak berkarya semasih lagi mud :)