Android 之 SharedPreferences

1 简介

SharedPreferences是一种轻量级的数据存储方式,它可以用键值对的方式把简单数据类型(boolean、int、float、long和String)存储在应用程序的私有目录下(data/data/[包名] /shared_prefs/)自己定义的xml文件中

SharedPreferences 创建时可选的模式

MODE_PRIVATE                          //该文件只能被应用本身访问,写入的内容会覆盖原文件的内容
MODE_WORLD_READABLE      //该文件可以被其他应用读取 ( 不推荐使用,不安全)
MODE_WORLD_WRITEABLE     //该文件可以被其他应用写入( 不推荐使用,不安全)
MODE_APPEND                         //该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件

 

2 具体实现如下:


2.1 主要代码


MainActivity.java
package com.michael.mysharedpreferences;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.widget.TextView;
public class MainActivity extends Activity {
    public static final String SETTINGS_NAME="mysettings";
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //开始配置 SharedPreferences
        //---------------------------------------
        //第一个参数为 配置文件名
        SharedPreferences spref = getSharedPreferences(SETTINGS_NAME, MODE_PRIVATE);
        Editor editor=spref.edit();
        
        //保存数据至配置文件
        editor.putString("user1", "michael");
        editor.putInt("user1_age", 24);
        editor.putString("user1_sex", "男");
        
        editor.commit();
        //---------------------------------------
        //结束
        
        
        
        //现在开始测试获取数据
        //---------------------------------------
        String str;
        str=spref.getString("user1", "default");
        str+='\n';
        str+=spref.getInt("user1_age", 0);
        str+='\n';
        str+=spref.getString("user1_sex", "default");
        str+='\n';
        
        TextView textview=(TextView)findViewById(R.id.textview);
        textview.setText(str);
        //---------------------------------------
    }
}

 

2.2 布局文件


activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <TextView
        android:id="@+id/textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>
</LinearLayout>


3 运行结果


 
 
 
 
 
 
 
 
 
  注:转载请注明出处 :)   毕竟代码是一个一个敲出来的啊,O(∩_∩)O~
 
 
 
 
 
 
 
 

 

posted @   pangbangb  阅读(253)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单
· C# 13 中的新增功能实操
· Supergateway:MCP服务器的远程调试与集成工具
· Vue3封装支持Base64导出的电子签名组件

点击右上角即可分享
微信分享提示