Android数据存储SP的简单介绍

介绍

数据保存分类(目前主流):SP、SQLite、Room 1 SP:sharedPreference首选项 很小,简单的数据可以保存在SP window 的.ini文件,android 的.xml文件(存储格式是key-value) 存储软件的配置信息(比如自动登录,记住密码) 不能存太多的信息,因为当程序运行首选项里的数据会全部加载进内容 把数据保存到app本身 2 SQLite/Room:存储比如列表信息

SQLite是数据库:早期的数据库,更加原生 Room是数据库:后出的数据库,更加简洁

SP的简单使用

MainActivity.java

package com.example.sp;
​
import androidx.appcompat.app.AppCompatActivity;
​
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
​
public class MainActivity extends AppCompatActivity {
​
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
​
    public void saveToSP(View view) {
        // 第一个参数是sp的名字 xml配置文件的名字
        // 第二个参数是保存时候用到的模式(常规(Context.MODE_PRIVATE):每次保存都会覆盖当前数据)
        // 追加(Context.MODE_APPEND) 每次保存数据会追加到后面
       SharedPreferences sp = getSharedPreferences("SP",
               Context.MODE_PRIVATE);
       sp.edit().putString("123","ljj").apply();
​
    }
​
    public void getSpDATA(View view) {
        SharedPreferences sp = getSharedPreferences("SP",
                Context.MODE_PRIVATE);
        // 第2个参数:如果第一个参数key获取到的值是null,就用第二个参数的值代替
        String value = sp.getString("123", "默认值");
        Toast.makeText(this,""+value,Toast.LENGTH_SHORT).show();
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:android="http://schemas.android.com/apk/res/android">
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="保存至sp"
        android:onClick="saveToSP"/>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="拿出数据从sp"
        android:onClick="getSpDATA"/>
</LinearLayout>

保存后会生成sp.xml文件 xml文件在data-data-项目名字下面

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值