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"
>
<CheckBoxPreference
android:key=
"status"
android:title=
"Status"
/>
<EditTextPreference
android: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"
>
<TextView
android: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"
/>
<TextView
android: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"
/>
<TextView
android: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"
/>
<TextView
android: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;
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 :
12345678910111213141516171819202122232425262728293031323334353637383940414243444546
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.
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-sdk
android:minSdkVersion=
"8"
android:targetSdkVersion=
"18"
/>
<application
android:allowBackup=
"true"
android:icon=
"@drawable/ic_launcher"
android:label=
"@string/app_name"
android:theme=
"@style/AppTheme"
>
<activity
android: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