SharedPreferences保存的数据是xml格式,也是存在数据保存的下面四种权限:

我们来看看

我们来看看具体的业务操作类:

/**
* 文件名:SharedPrecences.java
* 版权:版权所有 (C) 中国电科30所三部
* 描述:
* 修改人: wei.yuan
* 修改时间:2015/1/8
* 修改内容:新增
*/
package service; import android.content.Context;
import android.content.SharedPreferences; import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map; /**
* 项目名称:SharedPreferences
* 类描述:
* 创建人:wei.yuan
* 创建时间:2015/1/8 10:29
* 修改人:wei.yuan
* 修改时间:2015/1/8 10:29
* 修改备注:
* 版权:版权所有 (C) 中国电科30所三部
*/
public class SharedPrecences {
private Context context; public SharedPrecences(Context context) {
this.context = context;
}
public void saveSharedPrecences(String name ,Integer age)
{
SharedPreferences sharedPrecences = context.getSharedPreferences("123", context.MODE_PRIVATE);//默认的格式是xml,123就不需要写后缀名
SharedPreferences.Editor editor = sharedPrecences.edit();//编辑文字
editor.putString("name",name);
editor.putInt("age", age);
editor.commit();//保存之后记得提交 }
/*
public void save(String name , Integer age) throws Exception{
SharedPreferences preference = context.getSharedPreferences("sclead", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preference.edit();
editor.putString("name", name);
editor.putInt("age", age);
editor.commit();//把数据提交会文件
}
*/ public Map<String ,String> show()
{
Map<String,String > map = new Hashtable<String, String>();
SharedPreferences sharedPrecences = context.getSharedPreferences("123", context.MODE_PRIVATE);//默认的格式是xml,123就不需要写后缀名
map.put("name",sharedPrecences.getString("name","查找的字段不存在"));
map.put("age",String.valueOf(sharedPrecences.getInt("age", 0))); return map;
}
/*
*/
/**
* 获取各项配置参数
* @return
*//* public Map<String, String> getPreferences(){
Map<String, String> maps = new HashMap<String, String>();
SharedPreferences preference = context.getSharedPreferences("sclead", Context.MODE_PRIVATE);
maps.put("name", preference.getString("name", "你查找的字段不存在"));
maps.put("age", String.valueOf(preference.getInt("age", 0)));
return maps;
}
*/ }

我们来看看activity的代码是:

package test.weiyuan.sharedpreferences;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast; import java.util.Map; import service.SharedPrecences; public class MyActivity extends Activity {
private EditText name1,age1;
private TextView showText;
private Button saveButton ,showButton; SharedPrecences sharedPrecences = null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
name1 = (EditText)this.findViewById(R.id.name);
age1 = (EditText)this.findViewById(R.id.age);
saveButton = (Button)this.findViewById(R.id.savebutton);
showButton = (Button)this.findViewById(R.id.showButton);
showText = (TextView)this.findViewById(R.id.showText); sharedPrecences = new SharedPrecences(getApplicationContext()); saveButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) { try {
/* sharedPrecences.save(name1.getText().toString(), Integer.valueOf(age1.getText().toString()));*/
String str = name1.getText().toString();
String str1 = age1.getText().toString();
sharedPrecences.saveSharedPrecences(str, Integer.valueOf(str1));
Toast.makeText(getApplicationContext(), "数据保存成功", Toast.LENGTH_LONG).show();
} catch (Exception e) {
e.printStackTrace();
} }
});
showButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Map<String,String> map = sharedPrecences.show();
name1.setText(map.get("name"));
Log.i("wy",map.get("name"));
showText.setText(map.get("name")+map.get("age"));
} });
} @Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.my, menu);
return true;
} @Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}

黎活明8天快速掌握android视频教程--16_采用SharedPreferences保存用户偏好设置参数的更多相关文章

  1. 黎活明8天快速掌握android视频教程--12_文件的保存与读取

    1.当前是把文件保存当前手机的app的data目录下 我们来看看操作保存文件的业务类 package contract.test.savafileapplication; import android ...

  2. 黎活明8天快速掌握android视频教程--20_采用ContentProvider对外共享数据

    1.内容提供者是让当前的app的数据可以让其他应用访问,其他应该可以通过内容提供者访问当前app的数据库 contentProvider的主要目的是提供一个开发的接口,让其他的应该能够访问当前应用的数 ...

  3. 黎活明8天快速掌握android视频教程--19_采用ListView实现数据列表显示

    1.首先整个程序也是采用mvc的框架 DbOpenHelper 类 package dB; import android.content.Context; import android.databas ...

  4. 黎活明8天快速掌握android视频教程--15_采用Pull解析器解析和生成XML内容

    1.该项目主要有下面的两个作用 (1)将xml文件解析成对象的List对象,xml文件可以来自手机本地,也可以来自服务器返回的xml数据 (2)强list对象保存成xml文件,xml保存到手机的内存卡 ...

  5. 黎活明8天快速掌握android视频教程--22_访问通信录中的联系人和添加联系人

    Android系统中联系人的通讯录的contentProvide是一个单独的apk,显示在界面的contact也是一个独立的apk,联系人apk通过contentProvide访问底层的数据库. 现在 ...

  6. 黎活明8天快速掌握android视频教程--14_把文件存放在SDCard

    把文件保存在手机的内部存储空间中 1 首先必须在清单文件中添加权限 <?xml version="1.0" encoding="utf-8"?> & ...

  7. 黎活明8天快速掌握android视频教程--27_网络通信之通过GET和POST方式提交参数给web应用

    1该项目主要实现Android客户端以get的方式或者post的方式向java web服务器提交参数 Android客户端通过get方式或者post方式将参数提交给后台服务器,后台服务器对收到的参数进 ...

  8. 黎活明8天快速掌握android视频教程--25_网络通信之资讯客户端

    1 该项目的主要功能是:后台通过xml或者json格式返回后台的视频资讯,然后Android客户端界面显示出来 首先后台新建立一个java web后台 采用mvc的框架 所以的servlet都放在se ...

  9. 黎活明8天快速掌握android视频教程--24_网络通信之网页源码查看器

    1 该项目的主要功能就是从将后台的html网页在Android的界面上显示出来 后台就是建立一个java web工程在工程尚建立一个html或者jsp文件就可以了,这里主要看Android客户端的程序 ...

随机推荐

  1. Alpha冲刺 —— 5.8

    这个作业属于哪个课程 软件工程 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 Alpha冲刺 作业正文 正文 github链接 项目地址 其他参考文献 无 一.会议内容 1.展 ...

  2. Rocket - diplomacy - enumerateBits

    https://mp.weixin.qq.com/s/KsZqe9W_DM6W6JecK_irvA   介绍AddressSet.enumerateBits方法的实现,主要是x & (-x)的 ...

  3. Shell脚本 (二) 变量与运算符

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 四.Shell 中的变量 1.系统变量 1.1 常用系统变量 $HOME. $PWD. $SHELL . ...

  4. Redis 入门到分布式 (五) Redis持久化的取舍和选择

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) Redis持久化的取舍和选择 持久化的作用 RDB AOF RDB和AOF的选择 一.持久化的作用   ...

  5. Java实现 LeetCode 457 环形数组循环

    457. 环形数组循环 给定一个含有正整数和负整数的环形数组 nums. 如果某个索引中的数 k 为正数,则向前移动 k 个索引.相反,如果是负数 (-k),则向后移动 k 个索引.因为数组是环形的, ...

  6. java实现第四届蓝桥杯危险系数

    危险系数 抗日战争时期,冀中平原的地道战曾发挥重要作用. 地道的多个站点间有通道连接,形成了庞大的网络.但也有隐患,当敌人发现了某个站点后,其它站点间可能因此会失去联系. 我们来定义一个危险系数DF( ...

  7. tensorflow2.0学习笔记第一章第三节

    1.3鸢尾花数据读入 # 从sklearn包datasets读入数据 from sklearn import datasets from pandas import DataFrame import ...

  8. 循序渐进VUE+Element 前端应用开发(9)--- 界面语言国际化的处理

    我们开发的系统,一般可以不用考虑语言国际化的问题,大多数系统一般是给本国人使用的,而且直接使用中文开发界面会更加迅速 一些,不过框架最好能够支持国际化的处理,以便在需要的时候,可以花点时间来实现多语言 ...

  9. dubbo traceId透传实现日志链路追踪(基于Filter和RpcContext实现)

    一.要解决什么问题: 使用elk的过程中发现如下问题: 1.无法准确定位一个请求经过了哪些服务 2.多个请求线程的日志交替打印,不利于查看按时间顺序查看一个请求的日志. 二.期望效果 能够查看一个请求 ...

  10. [CQOI2007]矩形

    题目   点这里看题目. 分析   插头 DP ,考虑枚举一下两块之间的分割线,本质上就是两个端点都在边界上的路径.    DP 过程中,我们将没有端点在边界上面的路径称为 1 路径,反之叫 2 路径 ...