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 :
123456789101112131415
<?xml version="1.0"encoding="utf-8"?><PreferenceScreen<PreferenceCategory android:title="Network"><CheckBoxPreferenceandroid:key="status"android:title="Status"/><EditTextPreferenceandroid:key="ipaddress"android:title="Network"android:dialogTitle="Enter Values"/></PreferenceCategory></PreferenceScreen> - Kemudian buka folder res => layout gantikan activity_main.xml dengan kode berikut.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"tools:context=".MainActivity"><TextViewandroid:id="@+id/textView1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_alignParentTop="true"android:layout_marginTop="23dp"android:text="Status"/><TextViewandroid:id="@+id/textView2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentLeft="true"android:layout_below="@+id/textView1"android:layout_marginTop="28dp"android:text="Large Text"android:textAppearance="?android:attr/textAppearanceLarge"/><TextViewandroid:id="@+id/textView3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignLeft="@+id/textView2"android:layout_below="@+id/textView2"android:layout_marginTop="33dp"android:text="IP Address"/><TextViewandroid:id="@+id/textView4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignLeft="@+id/textView3"android:layout_below="@+id/textView3"android:layout_marginTop="42dp"android:text="Large Text"android:textAppearance="?android:attr/textAppearanceLarge"/></RelativeLayout> - Kemudian buat activity baru dengan nama PreferencesActivity.java dan salin kode dibawah ini :
123456789101112
package com.example.preferences;import android.os.Bundle;import android.preference.PreferenceActivity;publicclassPreferencesActivityextendsPreferenceActivity {@SuppressWarnings("deprecation")publicvoid onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);super.addPreferencesFromResource(R.xml.preferences);}} - Kemudian rubah MainActivity.java dengan kode dibawah ini :
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
packagecom.example.preferences;importandroid.os.Bundle;importandroid.preference.PreferenceManager;importandroid.app.Activity;importandroid.content.Intent;importandroid.content.SharedPreferences;importandroid.view.Menu;importandroid.view.MenuItem;importandroid.widget.TextView;publicclassMainActivityextendsActivity {SharedPreferences sharedPreferences;TextView textView2,textView4;@OverrideprotectedvoidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);sharedPreferences = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);//mengambil data konfigurasi dari aplikasiString ipaddress = sharedPreferences.getString("ipaddress","");//mengambil data konfigurasi dari aplikasibooleanstatus = sharedPreferences.getBoolean("status",false);//mengambil data konfigurasi dari aplikasitextView2 = (TextView)findViewById(R.id.textView2);textView4 = (TextView)findViewById(R.id.textView4);//menampilkan data pada textviewtextView2.setText(String.valueOf(status));textView4.setText(ipaddress);}@OverridepublicbooleanonCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);returntrue;}publicbooleanonOptionsItemSelected(MenuItem item) {// TODO Auto-generated method stubswitch(item.getItemId()) {caseR.id.action_settings:startActivity(newIntent(MainActivity.this,PreferencesActivity.class));break;}returntrue;}} - Kemudian rubah android manifest.xml nya seperti dibawah ini.
12345678910111213141516171819202122232425262728
<?xml version="1.0"encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"package="com.example.preferences"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="8"android:targetSdkVersion="18"/><applicationandroid:allowBackup="true"android:icon="@drawable/ic_launcher"android:label="@string/app_name"android:theme="@style/AppTheme"><activityandroid:name="com.example.preferences.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><activity android:name="PreferencesActivity"></activity></application></manifest>
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.
No comments:
Post a Comment