介绍

数据保存分类(目前主流):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 {
​@Overrideprotected 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"><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="保存至sp"android:onClick="saveToSP"/><Buttonandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拿出数据从sp"android:onClick="getSpDATA"/>
</LinearLayout>

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

Android数据存储SP的简单介绍相关推荐

  1. 【Android数据存储】ContentProvider详细介绍(附实例源码)

    1.ContentProvider是什么? ContentProvider--内容提供者.它是一个类,这个类主要是对Android系统中进行共享的数据进行包装,并提供了一组统一的访问接口供其他程序调用 ...

  2. android数据存储_SharedPreferences的简单使用

    SharedPreferences的写数据简单使用步骤如下: 第一步:获取SharedPreferences对象 第二步:获取SharedPreferences.Editor对象 第三步:通过此Edi ...

  3. android+默认存储,Android 数据存储之SP存储,内部存储,外部存储

    Android 数据存储之SP存储,内部存储,外部存储 Android提供了多种数据存储的技术来永久的保存应用数据,以便于开发者能够根据自己的需求来选择合适的数据存储方案,主要有SharedPrefe ...

  4. Android 数据存储 利用SQLiteDatabase实现简单的学生管理

    转载请注明出处:明桑Android 这是作为上一篇Android 数据存储 如何搞定SQLite Database的实例练习,之所以单独列出来是因为除了数据库方面的知识,还涉及其它方面的知识,所以就写 ...

  5. MMKV数据存储组件的使用介绍

    MMKV数据存储组件的使用介绍 . 介绍 MMKV 是微信开源的基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强.已移植到 An ...

  6. Android数据存储之GreenDao 3.0 详解

    前言: 今天一大早收到GreenDao 3.0 正式发布的消息,自从2014年接触GreenDao至今,项目中一直使用GreenDao框架处理数据库操作,本人使用数据库路线 Sqlite----> ...

  7. Android数据存储安全实践

    0x00 数据安全 Android操作系统自问世以来凭借其开放性和易用性成为当前智能手机的主流操作系统之一,作为与人们关系最密切的智能设备,越来越多的通讯录.短信.视频等隐私数据以明文的方式保存在手机 ...

  8. Android AccountManager 账户同步管理简单介绍

    Android AccountManager 账户同步管理简单介绍 文章目录 Android AccountManager 账户同步管理简单介绍 前言 AccountManager 简介 如何让自己的 ...

  9. Android数据存储几种方式用法总结

    Android数据存储几种方式用法总结 1.概述 Android提供了5种方式来让用户保存持久化应用程序数据.根据自己的需求来做选择,比如数据是否是应用程序私有的,是否能被其他程序访问,需要多少数据存 ...

最新文章

  1. html5摒弃的标记,5 HTML5的列表标记
  2. Linux系统程序包管理工具 RPM
  3. PAT_B_1007_Java(20分)
  4. c语言作业系统输出超限,C语言网Online Judge系统支持语言和编译说明
  5. C常量指针 与指针常量区别
  6. java和python和php_Java、Python和PHP三者的区别
  7. WindowManager添加一个悬浮的Window
  8. 第一百一十二节,JavaScript浏览器检测
  9. 详解FSMO的五种角色
  10. Android内存泄漏分析实战
  11. Lua AES加解密
  12. CentOS 7安装串口调试工具 cutecom
  13. mbedtls 自带SSL demo调试
  14. Apache详细的安装和配置
  15. 关于深度学习人工智能模型的探讨(一)(1)
  16. 【linux内核分析与应用-陈莉君】设备驱动模型
  17. AndroidStudio子线程更新UI的几种方式
  18. python去重、根据某列统计另一列频数
  19. plt.scatter(X[0, :], X[1, :], c=Y, s=40, cmap=plt.cm.Spectral)出错
  20. ERROR o.s.a.r.l.SimpleMessageListenerContainer : Failed to check/redeclare auto-delete queue(s).

热门文章

  1. vue公众号调用微信扫一扫
  2. ESP8266检测pm2.5 arduino 实现
  3. Sql 成绩表中每个科目的最高分和学生
  4. 富士施乐248b粉盒清零_m228b加粉后显示更换墨盒 怎么办?怎么清零?
  5. 春节快乐小目标增长计划
  6. WorldWind学习系列十五:如何切割影像和DEM数据及其在WW中的应用配置
  7. 组合体视图的画图步骤_画组合体视图的方法和步骤
  8. 十大事件与Java相关的四十个名字(转载)
  9. 企业抖音如何运营,抖音企业号能给商家带来什么?
  10. 3D绘图 WebGl引擎----ThreeJS 3D渲染引擎