zoukankan      html  css  js  c++  java
  • 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+='
    ';
            str+=spref.getInt("user1_age", 0);
            str+='
    ';
            str+=spref.getString("user1_sex", "default");
            str+='
    ';
            
            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~
     
     
     
     
     
     
     
     
  • 相关阅读:
    DL/T 467-2019 电站磨煤机及制粉系统性能试验
    fidlder-05(拦截并修改数据)
    fiddler-04(怎么对APP抓包)
    Redis5设计与源码分析读后感(二)简单动态字符串SDS
    Jedis连接搭建在阿里云服务器上的Redis,基于Linux(CentOS7)
    centos7下安装redis6.0版本+3种启动方式
    Linux下端口被占用的解决方法
    Linux卸载Nginx
    linux中普通用户修改密码出现(passwd:Authentication token manipulation error)
    linux重置密码提示与用户名相似该怎么解决?
  • 原文地址:https://www.cnblogs.com/pangblog/p/3341890.html
Copyright © 2011-2022 走看看