一.基礎知識:
Preferences是一種輕量級的資料庫儲存機制,主要用於記錄遊戲中的得分,應用程式上次登入的時間等。
二.編程實現:
1. 介面編輯(res\layout\main.xml):
[java]
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25dip"
android:id="@+id/TextView01"
/> <!-- 添加TextView -->
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="25dip"
android:id="@+id/TextView01"
/> <!-- 添加TextView -->
</LinearLayout>
2. 代碼編輯(\src\wyf\zcl\MyActivity.java):
[java]
package wyf.zcl;
import java.util.Date; //引入相關包
import android.app.Activity; //引入相關包
import android.content.Context; //引入相關包
import android.content.SharedPreferences; //引入相關包
import android.os.Bundle; //引入相關包
import android.widget.TextView; //引入相關包
import android.widget.Toast; //引入相關包
public class MyActivity extends Activity {
/** Called when the activity is first created. */
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences sp=this.getSharedPreferences("sharePre", Context.MODE_PRIVATE);
//返回一個SharedPreferences執行個體,第一個參數是Preferences名字,第二個參數是使用預設的操作
String lastLogin=sp.getString( //從SharedPreferences中讀取上次訪問的時間
"ll", //索引值
null //預設值
);
if(lastLogin==null){
lastLogin="歡迎您,您是第一次訪問本Preferences";
}else{
lastLogin="歡迎回來,您上次於"+lastLogin+"登入";
}
//向SharedPreferences中寫回本次訪問時間
SharedPreferences.Editor editor=sp.edit();
editor.putString("ll", new Date().toLocaleString()); //向editor中放入現在的時間
editor.commit(); //提交editor
tv=(TextView)this.findViewById(R.id.TextView01);
tv.setText(lastLogin);
}
}
package wyf.zcl;
import java.util.Date; //引入相關包
import android.app.Activity; //引入相關包
import android.content.Context; //引入相關包
import android.content.SharedPreferences; //引入相關包
import android.os.Bundle; //引入相關包
import android.widget.TextView; //引入相關包
import android.widget.Toast; //引入相關包
public class MyActivity extends Activity {
/** Called when the activity is first created. */
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
SharedPreferences sp=this.getSharedPreferences("sharePre", Context.MODE_PRIVATE);
//返回一個SharedPreferences執行個體,第一個參數是Preferences名字,第二個參數是使用預設的操作
String lastLogin=sp.getString( //從SharedPreferences中讀取上次訪問的時間
"ll", //索引值
null //預設值
);
if(lastLogin==null){
lastLogin="歡迎您,您是第一次訪問本Preferences";
}else{
lastLogin="歡迎回來,您上次於"+lastLogin+"登入";
}
//向SharedPreferences中寫回本次訪問時間
SharedPreferences.Editor editor=sp.edit();
editor.putString("ll", new Date().toLocaleString()); //向editor中放入現在的時間
editor.commit(); //提交editor
tv=(TextView)this.findViewById(R.id.TextView01);
tv.setText(lastLogin);
}
}
3.運行效果: