SharedPreferences 的注意事项

package com.example.zhao.menu;

import android.app.Activity;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

/**
 * Created by zhao on 2017/5/14.
 */

public class sharepreferenced extends Activity
{
  /*  SharedPreferences mySharedPreferences;*/
    EditText editText ;
    CheckBox checkBox;
    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.sharedpreferencelayout);
        editText = (EditText) findViewById(R.id.editText);
        checkBox = (CheckBox) findViewById(R.id.checkBox);
  /*      mySharedPreferences = sharepreferenced.this.getSharedPreferences("test",
                Activity.MODE_PRIVATE);
        if(mySharedPreferences!=null)
        {
            editText.setText(mySharedPreferences.getString("name",""));
            checkBox.setChecked(mySharedPreferences.getBoolean("yes",false));
        }
        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener()
        {
            @Override
            public void onClick(View v)
            {
                SharedPreferences.Editor editor = mySharedPreferences.edit();
                editor.putString("name", editText.getText().toString());
                editor.putBoolean("yes",checkBox.isChecked());
                editor.commit();
            }
        });*/
    }
    public void init()
    {
        SharedPreferences sharedPreferences = getSharedPreferences("test",
                Activity.MODE_PRIVATE);
        String name = sharedPreferences.getString("name", "");
        String habit = sharedPreferences.getString("habit", "");

        Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
                Toast.LENGTH_LONG).show();
    }
    public void store(View view)
    {
        SharedPreferences mySharedPreferences = sharepreferenced.this.getSharedPreferences("test",
                Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = mySharedPreferences.edit();
        editor.putString("name", "karl");
        editor.putString("habit", "sleep");
        editor.commit();
        Toast.makeText(this, "数据成功写入SharedPreferences!" ,
                Toast.LENGTH_LONG).show();
    }

}
今天在学习数据存储的时候,刚刚接触到SharedPreferences,开始的时候用的方式是我注释的那种方式,在网上看视频也是那样用的,可是我的app就是打不开,然后在网上找答案,
找了2个多小时也没解决,最后在android的脚本之家上找到了这种方式,就是SharedPreferences要封装在每个方法中用这样才不会报错

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: sharedpreferences用来存储和获取应用程序的数据,它可以存储基本的数据类型,如字符串、整数和布尔值。要使用sharedpreferences,首先要使用getSharedPreferences()方法获取一个SharedPreferences对象,然后使用edit()方法来获取一个SharedPreferences.Editor对象,最后使用putString()、putInt()、putBoolean()等方法把数据存储到sharedpreferences中,使用getString()、getInt()、getBoolean()等方法从sharedpreferences中获取数据。 ### 回答2: SharedPreferences是Android提供的一种轻量级的数据存储方式,用于存储/读取简单的键值对数据。它以XML文件的形式保存在应用的私有目录中。 通过SharedPreferences可以实现持久化存储和简单的数据共享。下面简单介绍SharedPreferences的存取用法。 存储数据: 1. 获取SharedPreferences实例: SharedPreferences sharedPreferences = getSharedPreferences("文件名", Context.MODE_PRIVATE); 2. 获取SharedPreferences.Editor对象: SharedPreferences.Editor editor = sharedPreferences.edit(); 3. 使用Editor对象存储数据: editor.putString("键", "值"); // 存储字符串数据 editor.putInt("键", 值); // 存储整型数据 editor.putBoolean("键", 值); // 存储布尔型数据 4. 调用Editor的commit()方法提交数据: editor.commit(); 读取数据: 1. 获取SharedPreferences实例: SharedPreferences sharedPreferences = getSharedPreferences("文件名", Context.MODE_PRIVATE); 2. 使用SharedPreferences对象读取数据: String value1 = sharedPreferences.getString("键", "默认值"); // 读取字符串数据,若不存在该键则返回默认值 int value2 = sharedPreferences.getInt("键", 默认值); // 读取整型数据,若不存在该键则返回默认值 boolean value3 = sharedPreferences.getBoolean("键", 默认值); // 读取布尔型数据,若不存在该键则返回默认值 注意事项: 1. SharedPreferences存储的数据是以键值对的形式存储的。 2. SharedPreferences只能存储简单的数据类型,如字符串、整型、布尔型等。 3. SharedPreferences数据存储在应用的私有目录中,只能被应用本身访问。 4. SharedPreferences存储的数据会一直保留,直到应用卸载或通过代码删除。 ### 回答3: SharedPreferences 是用于Android平台的轻量级的键值对存储解决方案。它可以用来存储少量的配置数据或用户偏好设置。SharedPreferences存储的数据是以键值对的形式存在的,其中键和值都是字符串类型。 首先,我们需要获取SharedPreferences对象来进行存储或读取数据。可以通过Context类的getSharedPreferences()方法或者PreferenceManager类的getDefaultSharedPreferences()方法来获取SharedPreferences对象。getSharedPreferences()方法可以指定文件名称,而getDefaultSharedPreferences()方法会使用默认的配置文件。 接下来,我们可以使用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象,然后通过该对象进行数据的存储或修改。主要有以下几种常用的方法: 1. putString(String key, String value):存储字符串类型的值。 2. putInt(String key, int value):存储整型值。 3. putBoolean(String key, boolean value):存储布尔型值。 4. putFloat(String key, float value):存储浮点型值。 5. putLong(String key, long value):存储长整型值。 存储数据时,需要指定一个唯一的键值来标识该数据。可以使用commit()方法或者apply()方法来提交数据的修改。commit()方法会立即将数据写入磁盘,而apply()方法是异步保存数据,不会阻塞主线程,但不保证数据立即写入磁盘。 要读取数据,可以使用SharedPreferences对象的getString()、getInt()、getBoolean()、getFloat()、getLong()等方法,传入对应的键值即可。如果找不到对应的值,可以指定一个默认值作为返回值。 总之,SharedPreferences提供了一种简单方便的方式来存储和读取少量的配置数据或用户偏好设置。它不适用于存储大量数据,对于需要加密或者性能要求较高的情况,建议使用其他存储方式,如数据库等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值