精华内容
下载资源
问答
  • Android存储数据的5种方式

    千次阅读 2021-06-02 13:59:54
    使用键值对的方式存储数据2.通常用于:保存用户的偏好设置、选择是否保存密码、记录文档阅读的位置等3.实现方式(写入):a).获取SharedPreferences对象 getSharedPreferences("文件名",MODE_PRIVATE/MODE_MULTI_...

    第一种:SharedPreferences

    1.使用键值对的方式存储数据

    2.通常用于:保存用户的偏好设置、选择是否保存密码、记录文档阅读的位置等

    3.实现方式(写入):

    a).获取SharedPreferences对象     getSharedPreferences("文件名",MODE_PRIVATE/MODE_MULTI_PROCESS)

    前者表示只能当前应用程序访问该文件;后者表示可以多个进程访问该文件;文件是存放在:data/data//shared_prefs/目录下

    b).调用edit()方法SharedPreferences.Editor对象

    c).使用该对象调用putString()等方法填写键值

    d).使用commit方法提交

    注:读取操作的时候,只需要获取SharedPreferences对象,然后调用相应的方法即可(如:整型就调用getInt()方法)。

    第二种:使用文件保存

    分为:普通文件、xml格式的文件、json格式的文件

    普通文件:使用java的输入输出流即可

    xml格式的文件:

    DOM:适用于解析文件内容比较少的     特点:将整个文件读取到内存,容易造成内存泄漏

    SAX:基于事件驱动的,读一部分,解析一部分,适用于大型文件。但内容多,节点多的时候解析比较复杂

    PULL:android官方推荐的方式

    json格式的文件:获取文件内容之后(组成为一个字符串),使用android提供的相应API解析,主要对象是:JSONObject和JSONArray两个对象

    第三种:使用SQLite数据库

    创建数据库:继承SQLiteOpenHelper对象,将数据库名称传入构造方法即可

    升级数据库:public void onUpgrade(SQLiteDatabase db,int oldversion,int newversion){

    db.execSQL("drop table if exits Books");

    onCreate(db);

    }

    插入数据:使用ContentValues对象

    使用事务:db.beginTransaction()开启事务

    db.setTransactionSuccessful()事务执行成功

    最后在finally结束事务db.endTransaction()

    第四种:使用内容提供器(ContentProvider)方式

    使得应用程序之间可以共享数据

    第五种:使用网络的形式

    未完,持续更新

    展开全文
  • 概念SharedPreferences作为Android存储数据方式之一,它的原理是基于xml存储key-value键值对数据作用1.通常用来存储一些简单的配置信息。2.还可以达到间接传值的目的存储位置/data/data/{包名}/shared_prefs目录下...

    概念

    SharedPreferences作为Android存储数据方式之一,它的原理是基于xml存储key-value键值对数据

    作用

    1.通常用来存储一些简单的配置信息。

    2.还可以达到间接传值的目的

    存储位置

    /data/data/{包名}/shared_prefs目录下

    使用方法

    **SharedPreferences对象本身只能获取数据而不支持存储和修改,存储删除修改是通过Editor对象实现的

    SharedPreferences只支持以下几种类型的数据,boolean、 int 、float、 long、String

    getSharedPreferences(String name, int mode);

    此方法的返回值会返回一个SharedPreferences对象

    此处name表示设置xml文件的名字,mode表示存储方式

    Context.MODE_PRIVATE:只被创建者读写。**

    存数据

    //创建SharedPreferences对象

    SharedPreferences sp = getSharedPreferences("sp_demo",Context.MODE_PRIVATE);

    //SharedPreferences对象的edit方法会返回一个Editor编辑器对象

    Editor editor = sp.edit();

    editor.putString("name", "小张");

    editor.putInt("age", 11);

    editor.putBoolean("isStudent", true);

    editor.remove("isStudent");//删除的指定的key

    editor.commit();//当Editor编辑完,该方法提交修改

    取数据

    boolean name=sp.contains("name");//判断是否存在key

    String name = sp.getString("name", null);

    int age = sp.getInt("age", 0);

    sp.getAll();取出所有的键值对,返回值是Map对象

    editor.clear();//清空SharedPreferences里所有数据

    当我们调用sp.getString等get方法取数据时,实际上是直接从内存中的Map里面去取,get方法传入的第一个参数正好是Map的key,如果包含这个key,则返回对应的value,如果第二个参数是当Map中没有这个key对应值的时候,则返回的默认值。

    展开全文
  • 能够将数据储存在内置或可移动存储,数据库,网络。sharedpreference。android能够使用Content provider来使你的私有数据暴漏给其它应用程序。一.sharedpreference得到sharedpreference的两种方法:1....

    能够将数据储存在内置或可移动存储,数据库,网络。sharedpreference。

    android能够使用Content provider来使你的私有数据暴漏给其它应用程序。

    一.sharedpreference

    得到sharedpreference的两种方法:

    1.getSharedPreferenced():使用这种方法你能够定义多个preference文件

    2.getPreferenced():仅仅创建一个preference文件

    sharedpreference不是严格用来储存“用户配置”的。比方说储存用户的铃声。若你的应用程序对创建用户配置感兴趣,能够使用PreferenceActivity、

    二.内置储存

    创建并写一个文件的步骤:

    使用openFileOutPut得到FileOutputStream。通过这个流来写数据。

    从内置储存读数据步骤:

    使用openFileInput得到FileInputStream,通过这个流来读数据。

    假设你想在编译的时候在你应用中保存一个静态的文件。能够保存在res/raw/路径,通过调用openRawResource传入R.raw.打开。

    假设你想缓存数据而不是将数据持久化,那当你想缓存数据时能够使用openCacheDir()来打开一个内部储存空间的文件。

    当设备的内置储存空间不足时。Android会删除这些文件来恢复空间。然而你不必主动删除这些文件,可是你应该对缓存文件占的空间大小做个限制,不如说1M.

    其它实用的方法:

    getFileDir():得到你内置文件的绝对路径。

    getDir()创建(或打开一个存在)的路径。

    deleteFile()删除一个内置文件

    fileList()返回当前应用程序中全部内置文件列表

    三.外部储存

    假设你既想write外部储存,又想read外部储存,仅仅需请求的权限。

    ...

    (当版本号低于18的使用加入权限)

    从Android4.4開始,若想使用应用程序的私有文件不许要读写外部储存的权限。

    能够通过将文件放入Music/,Pictures/,RingTone/来和其它应用分享这个文件。

    若你不想系统的多媒体浏览器能够浏览你的多媒体文件,能够在你的目录中加入.nomedia的文件。

    得到公共目录的方法 getExtenrnalStoragePublicDirectory()将參数DIRECTORY_MUSIC/DIRECTORY_PICTURES/DIRECTORY_RINGTONE传入。

    以下为在公共图片目录下加入一个相冊:

    publicFilegetAlbumStorageDir(StringalbumName){// Get the directory for the user‘s public pictures directory.Filefile=newFile(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES),albumName);if(!file.mkdirs()){Log.e(LOG_TAG,"Directory not created");}returnfile;}

    你能够使用getExtenrnalFileDir()在外置储存中得到私有多媒体储存路径

    当用户删除你的应用的时候这些文件将会被删除

    这些文件不会被系统的多媒体浏览器发现可是对于有

    通过getExternalCacheDir()来得到外置储存空间的缓存区。当应用程序被卸载时。这些文件也将被删除。

    须要细致管理缓存区。删除那些在你app生命周期不再使用的缓存

    四.使用数据库

    五.使用网络

    展开全文
  • Android提供存储方式包括:SharedPreferences、文件存储、SQLite数据库存储方式、内容提供方式Content Provider以及网络方式 5种,具体介绍如下:1.SharedPreferences作为Android提供的一种配置文件读/写方式...

    Android中提供的存储方式包括:SharedPreferences、文件存储、SQLite数据库存储方式、内容提供器方式Content Provider以及网络方式 5种,具体介绍如下:

    1.SharedPreferences

    作为Android提供的一种配置文件读/写方式,默认保存在应用的目录data//shared_prefs下,通过方法getSharedPreferences(xx, 0);来获取SharedPreferences对象进行读/写操作。

    2.文件存储

    Android系统提供了进行数据读/写访问的API,例如,openFileInput、openFileOutput等,需要特别注意的是,Android中应用程序的数据是私有的,也就是说,其他应用程序无法访问当前应用程序产生的文件。

    3.SQLite数据库存储方式

    通过继承SQLiteOpenHelper类提供的CRUD接口来进行数据库操作,方便了应用程序的数据存储操作。

    4.内容提供器方式(Content Provider)

    通过调用其他应用程序的数据接口来实现数据的读/写访问。

    5.网络方式

    主要通过下面要提到的网络访问该网络提供的网络服务接口,实现数据的读/写服务(如WebService数据访问接口)。

    关于这五种数据存储方式,根据实际情况选择合适的,秉持简单原则,也就是说能用简单的方式处理,就不要用复杂的方式。比如存储几个数据或简单对象,用SharedPreference也能做到,何必还去写个ContentProvider呢?

    小贴士:

    1. 简单数据和配置信息,SharedPreference是首选;

    2. 如果SharedPreferences不够用,那么就创建一个数据库;

    3. 结构化数据,一定要创建数据库,虽然这稍显烦锁,但是好处无穷;

    4. 文件就是用来存储文件(也即非配置信息或结构化数据),如文本文件,二进制文件,PC文件,多媒体文件,下载的文件等等;

    5. 尽量不要创建文件;

    6. 如果创建文件,如果是私密文件或是重要文件,就存储在内部存储,否则放到外部存储。

    热点链接:

    展开全文
  • 数据存储在开发中是使用最频繁的,在这里主要介绍Android平台中实现数据存储的5种方式,分别是:1 使用SharedPreferences存储数据2 文件存储数据3 SQLite数据库存储数据4 使用ContentProvider存储数据5 网络存储数据...
  • Android对数据库的支持很好,它本身集成了SQLite数据库,每个应用都可以方便的使用它,或者更确切的说,Android完全依赖于SQLite数据库,它所有的系统数据和用到的结构化数据都存储在数据库中。 它具有以下优点: a....
  • 以下内容给大家介绍Android数据存储提供了五种方式:1、SharedPreferences2、文件存储3、SQLite数据库4、ContentProvider5、网络存储本文主要介绍如何使用文件来存储数据。Android文件操作用到的是Java.IO中的...
  • 讲一下android自定义xml存储方式以及存储位置。首先要说明一下,要区分android sharedpreferences存储。因为一般情况sharedpreferences存储也是成为xml存储,因为存储方式是以xml形式存在的。那么先看看我说的这种...
  • 除了SQLite数据库外,SharedPreferences也是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。...
  • Android开发中,Service或Activity之间的通信会涉及到变量的传递...而在android中如果使用这样的全局变量就不符合Android的框架架构,但是可以使用一种更优雅的方式就是使用Application context。首先需要重写App...
  • Android--存储权限

    2021-09-04 20:33:33
    Android11 更新了新的存储权限分区存储,将不再允许用户授权访问 Downloads 的根目录、每个可用 SD 卡的根目录以及其它应用的目录。应用仍然可以通过 Storage Access Framework API 或者文件选择器来帮助用户从共享...
  • 1 使用SharedPreferences存储数据适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型、基本类型的值。比如应用程序的各种配置信息(如是否打开音效等),解锁口 令密码等核心原理:保存基于XML文件存储的...
  • SharedPreferences是Android存储简单数据的一个工具类。可以想象它是一个小小的Cookie,它通过用键值对的方式把简单数据类型...一、简介它提供一种轻量级的数据存储方式,通过eidt()方法来修改里面的内容,通过C...
  • Android五大存储方式

    2021-06-03 04:00:46
    Android五大存储方式:1、SharedPrederences2、ConetentProvider3、I/O存储4、SQLiteDatabase5、网络存储下面,分别介绍一下这五大存储方式:1、SharedPreferences:在某些时候,我们需要对应用程序较少的数据(配置...
  • 安卓开发数据存储主要分为两种形式,一种是永久存储,一种是临时存储。 永久存储: 本地数据库Room 网络 SharedPreferences 临时存储: ViewModel Bundle Intent Application
  • 移动应用开发 10.18知识点整理 任务:实现用户信息的存储 ...2)存取方式 存入数据 引入SharedPreferences对象 共经过4步完成: 1、获取 SharedPreferences 对象。 SharedPreferences spf = getSharedPrefere
  • 谈谈在桌面上直接生成。个人觉得这个比较爽快,既然都是快捷方式了干嘛还要再隐藏一层呢?当然喜欢桌面干净的就比较喜欢第二...android:name="com.android.launcher2.InstallShortcutReceiver"android:permission="c...
  • 本文实例讲述了Android编程使用内容提供方式进行存储的方法。分享给大家供大家参考,具体如下:内容提供者(ContentProvider)主要作用是对外共享数据,如果数据通过内容提供者对外共享了,那么其他应用就可以从内容...
  • Android 10分区存储完全解析一、Android 存储目录1.1 内部存储1.2 外部存储1.2.1 外部私有存储1.2.2 外部公共存储1.3 使用Api 获取存储目录二、Android 10 分区存储机制2.1 原则2.2 分区存储概览2.2.1 外部共享文件...
  • Android M 之前锁屏密码的存储Android M 之前,锁屏密码的存储格式很简单,其使用了 64 位随机数作为 salt 值,此 salt 值被存储在 sqlite 数据库 /data/system/locksettings.db 中。密码在存储的时候,会将输入...
  • Android存储

    2021-06-02 14:13:23
    Android存储路径先来看一张大图:内部存储Environment.getDataDirectory().getParentFile();也就是根目录,一般就是指/data/data目录下的数据,需要root之后可以看见/data/app该文件存放着系统中安装的第三方应用apk...
  • 要在 Google Play 上发布,开发者需要将应用的目标 API 级别 (targetSdkVersion) 更新到 API 级别 30 (Android 11) 或者更高版本。针对新...
  • Android 存储访问框架|undefined

    千次阅读 2021-06-03 14:28:50
    Android 4.4(API 级别 19)引入了存储访问框架 (SAF)。SAF 让用户能够在其所有首选文档存储提供程序中方便地浏览并打开文档、图像以及其他文件。 用户可以通过易用的标准 UI,以统一方式在所有应用和提供程序中浏览...
  • Android开发实现内部和外部存储文件

    千次阅读 2021-04-05 14:15:13
    Android开发实现内部和外部存储文件 效果图: activity_main.xml代码: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android=...id="@+id/et_name" android:...
  • Android Studio4.1.1中文件存储方式查看data.txt文件,Window10 1.打开Android Studio的模拟器(必须下打开模拟器,否则Device File Explorer是空的) 2.在Android Studio界面的最右“侧”一“列”的属性表中,...
  • 此程序可以将名为“您的数据库名称”的数据库从Android应用程序的内部存储复制到外部存储。它创建一个名为“文件夹名称”的文件夹,然后将数据库复制到该文件夹​​中名为“备份数据库名称”的文件中这个程序兼容...
  • Android 11 强制分区存储

    千次阅读 2021-04-05 21:50:34
    Android11更新
  • 日常开发中总会遇到这样的一个问题:如何保存第三方sdk的授权信息,或者网站的endpoint,在... 我是歪脖子,Android实习工,业余年轻“司机”,喜欢Python,热爱编程。欢迎follow我的微博:http://weibo.fallblank.me
  • 先看代码咯 private ... 第一个是应用内储存,不需要运行时权限; 其它需要权限: ActivityCompat.requestPermissions(this , arrayOf(Permission.READ_EXTERNAL_STORAGE , Permission.WRITE_EXTERNAL_STORAGE) , 1)
  • 最近到了一家公司,跟一个同事做项目,比如常规的一些操作用SharedPreferences就很好搞定,他跟我说SharedPreferences 会影响性能说了一堆... 难道别的存储方式就不耗费性能吗?不消耗内存吗?

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 386,971
精华内容 154,788
关键字:

安卓提供的存储方式