精华内容
下载资源
问答
  • SharePreference

    2015-06-30 00:43:18
    SharePreference简单使用
  • sharePreference

    2016-12-06 16:00:53
    封装的一些关于sharePreference的方法
  • Sharepreference

    2013-05-31 11:21:36
    Sharepreference代码测试
  • sharepreference

    2015-02-26 16:39:08
    Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/...
  • SharePreference什么?SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,...

    SharePreference是什么?

    SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。

    SharedPreferences数据的四种操作模式:

    Context.MODE_PRIVATE
    Context.MODE_APPEND
    Context.MODE_WORLD_READABLE
    Context.MODE_WORLD_WRITEABLE
    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容

    Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

    Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

    MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.

    MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入

    特别注意:出于安全性的考虑,MODE_WORLD_READABLE 和 MODE_WORLD_WRITEABLE 在Android 4.2版本中已经被弃用

    SharedPreferences使用方法:

    1、得到SharedPreferences对象

    2、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。

    3、向SharedPreferences.Editor对象中添加数据。

    4、调用commit方法将添加的数据提交。

    使用SharedPreferences实例(添加复选框):

    创建一个Activity,布置xml文件

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context="com.test.project.shujucunchuapplication.Sp1Activity">
    
    
        <EditText
            android:id="@+id/user_name"
            android:layout_width="match_parent"
            android:layout_height="55dp"
            android:hint="输入账号"
            />
        <EditText
            android:id="@+id/pass_word"
            android:layout_width="match_parent"
            android:layout_height="55dp"
            android:hint="输入密码"
            android:inputType="textPassword"
            />
        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="50dp">
        <CheckBox
            android:id="@+id/checkbox"
            android:layout_width="30dp"
            android:layout_height="30dp"
            android:layout_marginTop="5dp"
            />
        <TextView
            android:id="@+id/text_jzmm"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="记住密码"
            android:layout_toRightOf="@+id/checkbox"
            android:textSize="20sp"
            android:paddingTop="5dp"
            />
    
            <Button
                android:id="@+id/button_login"
                android:layout_width="80dp"
                android:layout_height="40dp"
                android:text="登录"
                android:layout_toRightOf="@+id/text_jzmm"
                />
        </RelativeLayout>
    </LinearLayout>
    

    布置java代码:

    package com.test.project.shujucunchuapplication;
    
    
    import android.content.Context;
    import android.content.SharedPreferences;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.view.View;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class Sp1Activity extends AppCompatActivity {
    
        private EditText userName;
        private EditText passWord;
        private CheckBox checkBox;
        private Button button;
    
        //定义一个标志位,判断checkBox到底有没有被选中
        private int rememberFlag;
    
        private String password;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_sp1);
            bindId();
            //从Sp文件(test.xml)里取出"name"节点对应的值;
            SharedPreferences sharedPreferences=getSharedPreferences("test.xml",MODE_PRIVATE);
            if (sharedPreferences!=null){
                //如果有test.xml文件,就取出里面的值
                String name=sharedPreferences.getString("name","");
                password=sharedPreferences.getString("password","");
    
                //把取出的值赋给userName
                userName.setText(name);
                rememberFlag=sharedPreferences.getInt("remember_flag",0);
    
            }
    
            if (rememberFlag==1){
                checkBox.setChecked(true);
                passWord.setText(password);
            }
    
    
            button.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
    
                    String username=userName.getText().toString();
                    String password=passWord.getText().toString();
                    //1.创建SharePreferences对象
                    SharedPreferences sp = getSharedPreferences("test.xml",Context.MODE_PRIVATE);
                    //2.创建Editor对象
                    SharedPreferences.Editor ed = sp.edit();
                    ed.putString("name", username);
    
                    Toast.makeText(Sp1Activity.this,"登录成功",Toast.LENGTH_SHORT).show();
    
    
                    //判断复选框有没有被选中
                    if (checkBox.isChecked()){
                        rememberFlag=1;
                        ed.putInt("remember_flag",rememberFlag);
                        ed.putString("password",password);
                    }else { 
                        rememberFlag=0;
                        ed.putInt("remember_flag",rememberFlag);
                    }
                    //提交
                    ed.commit();
    
                }
            });
    
    
    
        }
    
        private void bindId() {
            userName = findViewById(R.id.user_name);
            passWord = findViewById(R.id.pass_word);
            checkBox = findViewById(R.id.checkbox);
            button = findViewById(R.id.button_login);
    
        }
    
    }
    
    展开全文
  • SharePreference学习

    2017-11-27 15:46:09
    SharePreference提供一些基础的信息存储功能,所有的信息都是按照键值对的形式进行保存,只能保存一些基本数据类型,如字符串,整形,布尔型等.本质上是保存在xml文件中的,保存在\data\data\\shared_prefs\目录下面...
    SharePreference提供一些基础的信息存储功能,所有的信息都是按照键值对的形式进行保存,只能保存一些基本数据类型,如字符串,整形,布尔型等.本质上是保存在xml文件中的,保存在\data\data\<package name>\shared_prefs\目录下面。 
    

    一 写入信息

    		SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
        		//拿到sp的编辑器
        		Editor ed = sp.edit();
        		ed.putString("name", name);//存入信息
        		ed.putString("pass", pass);
        		//提交
        		ed.commit();

    二 读取信息

    	    SharedPreferences sp = getSharedPreferences("info", MODE_PRIVATE);
    	    String name = sp.getString("name", "");
    	    String pass = sp.getString("pass", "");

    提示:
    getSharedPreferences(name,mode)构造函数
    方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上;
    方法的第二个参数指定文件的操作模式,共有四种操作模式。
    四种操作模式分别为:
    1. MODE_APPEND: 追加方式存储
    2. MODE_PRIVATE: 私有方式存储,其他应用无法访问
    3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取
    4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入
    5. MODE_MULTI_PROCESS: 适用于多进程访问(目前已被废弃,google官方推荐使用ContentProvider来实现进程间共享访问)

    三 读取其他应用程序信息

    三、访问其他应用中的Preference
    前提:如果要访问其他应用中的Preference,必须满足的条件是,要访问的应用的Preference创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。假如有个包名com.it.demo下面的应用创建了Preference,getSharedPreferences("info", Context.MODE_WORLD_READABLE),
    现在有两种方式访问这个Preference
    方法一:
    首先,需要创建上面的Context,然后通过Context访问Preferences,访问preference时会在应用所在包下的shared_prefs目录找到preference:
    Context otherAppsContext = createPackageContext("com.it.demo", Context.CONTEXT_IGNORE_SECURITY);
    SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("wujay", Context.MODE_WORLD_READABLE);
    String name = sharedPreferences.getString("name", "");
    int age = sharedPreferences.getInt("age", 0);
    方法二:
    读取xml文件方式直接访问其他应用preference对应的xml文件,如:
    File xml= new File(“/data/data/<package name>/shared_prefs/info.xml”);//<package name>应替换成应用的包名。
    展开全文
  • Android SharePreference

    2014-10-14 16:01:07
    Android SharePreference SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。 SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下:...
    Android SharePreference
    
    SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。

    SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:

    存储代码实例:

    SharedPreferences sharedPreferences = getSharedPreferences("lxt001", Context.MODE_PRIVATE); //私有数据
    Editor editor = sharedPreferences.edit();//获取编辑器
    editor.putString("name", "test");
    editor.putInt("age",22);
    editor.commit();


    生成的lxt001.xml文件内容如下:
    <?xml version='1.0' encoding='utf-8' standalone='yes' ?>
    <map>
    <string name="name">test</string>
    <int name="age" value="22" />
    </map>

    一、getSharedPreferences(name,mode)

    方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上;

    方法的第二个参数指定文件的操作模式,共有四种操作模式。

    四种操作模式分别为:

    1. MODE_APPEND: 追加方式存储

    2. MODE_PRIVATE: 私有方式存储,其他应用无法访问

    3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取

    4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入

     
    二、edit()方法获取editor对象

    Editor editor = sharedPreferences.edit();

    editor存储对象采用key-value键值对进行存放,editor.putString("name", "test");

    通过commit()方法提交数据

     
    与之对应的获取数据的方法:

    SharedPreferences share=getSharedPreferences("Acitivity",Activity.MODE_WORLD_READABLE);

    int i=share.getInt("i",0);

    String str=share.getString("str","");

    boolean flag=share.getBoolean("flag",false);

    getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值

    删除通过SharedPreferences产生的文件:

    File file= new File("/data/data/"+getPackageName().toString()+"/shared_prefs","Activity.xml");
    if(file.exists()){
    file.delete(); }
    展开全文
  • sharePreference使用 sharepreference的位置 android studio 查看 sharepreference 文件 git 下拉代码 Fragment中使用findViewById @Override public View onCreateView(LayoutInflater inflater, @Nullable...

    目录

     

    Fragment中使用findViewById

    sharePreference使用

    sharepreference的位置

    android studio 查看 sharepreference 文件

    git 下拉代码


    Fragment中使用findViewById

     @Override
        public View onCreateView(LayoutInflate
    展开全文
  • android sharepreference

    2014-05-21 20:24:55
    SharePreference 轻量级键-值方式存储,以XML文件方式保存。 文件 采用java.io.*库所提供有I/O接口,读写文件。 SQLit数据库 SQLite是轻量级嵌入式内置数据库。 ContentProvider ContentProvider可为数据封装...
  • sharePreference笔记

    2017-05-10 17:41:42
    sharePreference  getdefultPreference()跟context.getSharePreference(String key(存储数据的xml的key),int mode(权限模式))  相互独立, 相当于不同的表,key相当于表名
  • SharePreference封装

    千次阅读 2016-06-23 10:49:58
    PrefUtils .javapackage news.zxy....import android.content.Context; import android.content.SharedPreferences;/** * SharePreference封装 * Created by Administrator on 2016-06-23. */public cl
  • sharepreference存取

    2016-11-30 09:19:15
    SharedPreferences preferences = getSharedPreferences(sharepreference_Name,MODE_PRIVATE); isFirstIn = preferences.getBoolean("isFirstIn",true); 有默认值时,会取得你存的值,而不是你取的时候设置的: ...
  • SharePreference原理

    2020-08-27 20:19:24
    SharedPreferences是Android提供的数据持久化的一种手段,适合单进程、小批量的数据存储与访问。因为SharedPreferences的实现是基于单个xml文件实现的,并且,所有持久化数据都是一次性加载到内存,如果数据过大,是...
  • sharepreference在android中是以xml类型的文件存储在内存中的 那么读写sp,肯定会进行xml文件的序列化和解析过程 那么频繁的对本地xml文件进行序列化和解析,肯定会导致性能消耗,尤其是在当sp很大的情况下,会严重...
  • SharePreference是一个轻量级别的
  • SharePreference存储demo

    2015-01-07 18:02:03
    不同于文件的存储方式,SharePreference是使用键值对的方式来存储数据的。也就是说 当保存一条数据的时候,需要给这条数据提供一个对应的键,这样在读取数据的时候就可以 通过键把相应的值取出来。
  • sharepreference工具类

    2015-01-16 10:36:33
    很好用的工具类,使用sharepreference存储数据,节省程序员开发时间
  • SharePreference进阶

    2017-05-12 16:17:00
    可能会理解MODE_PRIVATE 是 覆盖添加,MODE_APPEND 是追加添加,但是事实上在SharePreference中MODE_APPEND 是无效的,   SharedPreferences preferences1 = getSharedPreferences("pre1" , MODE_PRIVATE);...
  • SharePreference的使用

    千次阅读 2015-07-20 11:22:21
    SharePreference是一种轻量级的数据存储方式。内部实现是基于XML的Key-Value方式完成的。通常用来存储程序的配置信息。 今天写了一个小Demo,用SharePreference来保存用户的用户名和登录密码,这里只是简单的存储,...
  • sharePreference封装

    2016-07-17 13:55:36
    public static boolean getBoolean(Context ctx, String key, Boolean defValue) { SharedPreferences SP = ctx.getSharedPreferences("config", Context.MODE_PRIVATE); return SP.getBoolean(key, defValu

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,184
精华内容 1,673
关键字:

sharepreference是什么