Tetapi setting disini tidak harus serumit Database SQLite atau file setting di SDCard, kita tidak perlu membuat Database atau File secara khusus, sangat mudah dan sederhana. Data yang disimpan di setting ini bisa terhapus jika pengguna mereset (Clear Data) Aplikasi dari Settings-Apps-Aplikasi. Artinya jika di Windows setting ini seperti halnya Registry Windows, hanya saja karena Sistem Operasi Android bersifat Open Source dan Transparan, maka setting ini dapat dihapus Pengguna dengan mudah atau tidak dipersulit seperti halnya registry windows.
Pertama buat dahulu Project Android baru di Eclipse.
Kemudian pada MainActivity.java tidak perlu diubah seperti berikut ini :
package com.amijaya.android_sharedpreferences;
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.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
// http://cariprogram.blogspot.com
// nuramijaya@gmail.com
public class MainActivity extends Activity {
SharedPreferences prefs;
EditText editText1;
EditText editText2;
Button button1;
Button button2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText)findViewById(R.id.editText1);
editText2 = (EditText)findViewById(R.id.editText2);
button1 = (Button)findViewById(R.id.button1);
button2 = (Button)findViewById(R.id.button2);
prefs = this.getSharedPreferences(
"com.amijaya.android_sharedpreferences", Context.MODE_PRIVATE);
editText1.setText(prefs.getString("shared_username", ""));
editText2.setText(prefs.getString("shared_password", ""));
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Editor editor = prefs.edit();
editor.putString("shared_username", editText1.getText().toString());
editor.putString("shared_password", editText2.getText().toString());
editor.commit();
Toast.makeText(getApplicationContext(), "Shared Preferences Saved", Toast.LENGTH_LONG).show();
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
finish();
}
});
//GET
//if (prefs.contains("shared_nama")) //GKPAKE KYKNY GPP
//{
// txtname.setText(prefs.getString("shared_nama", ""));
//}
//SAVE
//Editor editor = sharedpreferences.edit();
//editor.putString("shared_nama", txtname.getText().toString());
//editor.commit();
/*String dateTimeKey = "com.example.app.datetime";
// use a default value using new Date()
long l = prefs.getLong(dateTimeKey, new Date().getTime());
To edit and save preferences
Date dt = getSomeDate();
prefs.edit().putLong(dateTimeKey, dt.getTime()).commit();
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
editor.putString("text", mSaved.getText().toString());
editor.putInt("selection-start", mSaved.getSelectionStart());
editor.putInt("selection-end", mSaved.getSelectionEnd());
editor.commit();
To retrieve data from shared preference
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
String restoredText = prefs.getString("text", null);
if (restoredText != null)
{
//mSaved.setText(restoredText, TextView.BufferType.EDITABLE);
int selectionStart = prefs.getInt("selection-start", -1);
int selectionEnd = prefs.getInt("selection-end", -1);
/ *if (selectionStart != -1 && selectionEnd != -1)
{
mSaved.setSelection(selectionStart, selectionEnd);
}* /
}
*/
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
package com.amijaya.desain_scrollview_kanan_kiri_atas_bawah_horizontalscrollview; import android.os.Bundle; import android.app.Activity; import android.view.Menu; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/LinearLayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Username" /> <EditText android:id="@+id/editText1" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Password" /> <EditText android:id="@+id/editText2" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="textPassword" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Login (Save SharedPreferences)" /> <Button android:id="@+id/button2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Exit" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.amijaya.android_sharedpreferences" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="16" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.amijaya.android_sharedpreferences.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>
Hasilnya setelah dijalankan pertama kali, Aplikasi Android belum memiliki setting SharedPreferences yang menyimpan Username dan Password, maka input masih kosong semua :
Ketika diklik Login, maka setting data yang terakhir kali diinput pada input Username dan Password akan disimpan di setting Shared Preferences. Tetapi proses Login memang belum diimplementasikan, sehingga penulis buat agar keluar dari Aplikasi :
Sehingga ketika Aplikasi dibuka lagi dari awal, maka kelihatan input Username dan Password sudah terisi data yang terakhir kali diinput :
File project selengkapnya dapat anda download disini. Jika bingung cara download, silakan lihat caranya disini.
Semoga berguna ^_^
Terima kasih admin, ini sangat membantu saya.
BalasHapuskak mau nnyak nh apakah bisa data yang disimpan itu tersimpan di dalam file .csv ?
BalasHapusMohon pencerahannya kak ??
Makash kkak