android中SharedPreferences的实例

第六课,SharedPreferences的讲解,SharedPreferences是以xml文件来进行存储的,在手机应用中很多设置文件的存储就是使用SharedPreferences实现的。
[code]
package com.myclover.sharedpreferences;

import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.RadioButton;

public class SharedPreferencesActivity extends Activity {
private static final String TAG = "SharedPreferencesActivity";

private EditText name;
private EditText age;
private EditText amount;
private static String sex;
private RadioButton male;
private RadioButton female;


@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

name = (EditText)findViewById(R.id.name);
age = (EditText)findViewById(R.id.age);
amount = (EditText)findViewById(R.id.amount);
male = (RadioButton)findViewById(R.id.male);
female = (RadioButton)findViewById(R.id.female);
Button save = (Button)findViewById(R.id.save);
Button query = (Button)findViewById(R.id.query);
RadioButton male = (RadioButton)findViewById(R.id.male);
RadioButton female = (RadioButton)findViewById(R.id.female);
save.setOnClickListener(listener);
query.setOnClickListener(listener);
male.setOnCheckedChangeListener(changeListsner);
female.setOnCheckedChangeListener(changeListsner);
}


private View.OnClickListener listener = new View.OnClickListener() {
@Override
public void onClick(View v) {
Button bid = (Button)v;

//文件所在的路径/data/data/com.myclover.sharedpreferences/shared_prefs/
//执行该行代码默认在应用中创建一个以myclover命名的一个xml文件,myclover.xml
//android底层是使用Pull技术把内容保存到XML文件中,为了确保全部内容都保存成功,所以最后需要调用commit方法进行提交
SharedPreferences sp = SharedPreferencesActivity.this.getSharedPreferences("myclover", Context.MODE_PRIVATE);
//执行该行代码默认在应用中创建一个以activity名称命名的一个xml文件,SharedPreferencesActivity.xml
// SharedPreferences sp = SharedPreferencesActivity.this.getPreferences(Context.MODE_APPEND);

Log.i(TAG, "click id = " + bid.getId());
switch (bid.getId()) {
case R.id.save:
String inName = name.getText().toString();
String inAge = age.getText().toString();
String inAmount = amount.getText().toString();
Editor edit = sp.edit();
edit.putString("name", inName);
edit.putString("sex", sex);
edit.putInt("age", Integer.parseInt(inAge));
edit.putLong("amount", Long.parseLong(inAmount));
edit.commit();
break;
case R.id.query:
name.setText(sp.getString("name", "myclover"));
age.setText(String.valueOf(sp.getInt("age", 24)));
amount.setText(String.valueOf(sp.getLong("amount", 10000)));
if("male".equals(sp.getString("sex", "male")))
{
male.setChecked(true);
female.setChecked(false);
}
else
{
male.setChecked(false);
female.setChecked(true);
}
break;
}
}
};


private OnCheckedChangeListener changeListsner = new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
RadioButton rid = (RadioButton)buttonView;
Log.i(TAG, "change rid = " + rid.getId());
switch (rid.getId()) {
case R.id.male:
if(isChecked)
{
male.setChecked(true);
female.setChecked(false);
sex = "male";
}
else
{
male.setChecked(false);
}
break;
case R.id.female:
if(isChecked)
{
male.setChecked(false);
female.setChecked(true);
sex = "female";
}
else
{
female.setChecked(false);
}
break;
}
}
};

}
[/code]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值