android中SharedPreferences的实例
16lz
2021-01-24
第六课,SharedPreferences的讲解,SharedPreferences是以xml文件来进行存储的,在手机应用中很多设置文件的存储就是使用SharedPreferences实现的。
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() {@Overridepublic 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() {@Overridepublic 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;}} };}
更多相关文章
- 转 20个Android很有用的代码片段
- 服务器端和客户端的上传代码
- 如何用CVS下载SourceForge.net上的源码
- [Android]Android(安卓)NDK编译不识别list,map的问题
- 最新版Android(安卓)Studio环境配置、安装步骤和问题解决
- Android(安卓)建立自己的手写笔画图案 Gesture Builder
- Android基础考试知识点清单
- android-menu菜单的应用
- Android后端的项目创建流程(IDEA2020 + Tomcat 10 + JDK11)