SharedPreferences 儲存,這個常用於程式內的一些配置項的儲存,使用比 symbian 要簡單好多,代碼很簡單,測試時使用的是 String ,也可以使用其它的試試
具體代碼如下:
xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/info"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello" />
<Button
android:id="@+id/btnwrite"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="寫入"
/>
<Button
android:id="@+id/btnread"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="讀出"
/>
</LinearLayout>
java代碼
package zziss.android.prefertest;
import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class Prefer_testActivity extends Activity {
/** Called when the activity is first created. */
private TextView info;
private Button btnw;
private Button btnr;
SharedPreferences sp;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
info = (TextView)this.findViewById(R.id.info);
btnw = (Button)this.findViewById(R.id.btnwrite);
btnr = (Button)this.findViewById(R.id.btnread);
sp = this.getPreferences(MODE_PRIVATE);
btnw.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
SharedPreferences.Editor ed = sp.edit();
ed.putString("info", "這是存入的訊息");
ed.commit();
}
});
btnr.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
info.setText(sp.getString("info", ""));
}
});
}
}
這個儲存後的檔案可以使用 DDMS 中的 file manager ,開啟 data\data ,找到自己的工程,然後找到 shared_prefs 目錄 ,就可以找到儲存的檔案了,是 xml 格式
上面中存的檔案內容是
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="info">這是存入的訊息</string>
</map>