关闭

android中数据的存储方式(一)File 和 SharedPreferences

标签: androidFile存储数据SP
530人阅读 评论(0) 收藏 举报
分类:

android中的存储方式

android中的存储方式无非就是两种:①存储到本地文件,有File和SharedPreferences两种方式;②存储到数据库,也分根据方法不同也分为两种:一种是通过访问网络连接到服务器,然后再由服务器将数据存到数据库中,第二种是采用自带的sqlite数据库存储。


这次先介绍第一种方法(直接在类中写代码就可以,这里不过多解释,代码中有注释如下:):

①File:

代码中有注释如下:

/*存入数据*/
FileOutputStream fos=openFileOutput(“text.txt”,MainActivity.MODE_PRIVATE);
/*MODE_PRIVATE是替换数据;MODE_APPEND是附加数据*/
fos.write(“******”);
/*这里的内容只能是byte[]类型和int 类型,具体用法看应用。String 类型 转化为 byte[]类型 只需让变量引用getBytes()*/

/*读取数据:*/
FileInputStream fis=openFileInput(“text.txt”);
byte[] readBytes=new byte[fis.available()];
/*这个方法可以在读写操作前先得知数据流里有多少个字节可以读取*/
fis.read(readBytes);
String s =EncodingUtils.getString(bs, "UTF-8"); 
/*转化bs的类型与编码方式*/

其他的写法:

File file = new File("C:/java.txt");
        FileInputStream fis = new FileInputStream(file);//字节流
        BufferedReader br = new BufferedReader(new InputStreamReader(fis));
        //先是字节流转字符流,然后再加缓冲区
        String s = "";
        String re = "";
        while ((s = br.readLine()) != null) {
            re += s;
        }
        System.out.println(re);
        //读取数据

        FileOutputStream out = new FileOutputStream(file, true); // 如果追加方式用true
        StringBuffer sb = new StringBuffer();
        sb.append("-----------" + "------------\r\n");//在文件中加入换行,方便取数据
        out.write(sb.toString().getBytes("utf-8"));
        //保存数据

File中也可以存多个数据以及键值对的数据,只要转化成字节类型的就可以了


②SharedPreferences:

/*存入数据方法1*/
SharedPreferences   mySharedPreferences=getSharedPreferences("test", Activity.MODE_PRIVATE); 
/*第一个参数为要创建的文件名,第二参数是设置文件的权限*/
SharedPreferences.Editor editor = mySharedPreferences.edit();
 /*这个地方是修改的意思,获取sharePreferences修改的对象*/
    editor.putString("name", name); //键值对,以键寻值
    editor.putString("id", id);
    editor.putString("eatid", eatid);
    editor.putString("wearid", wearid);
    editor.putString("playid", playid);
    editor.commit();//提交or保存

    /*文件创建模式:Activity.MODE_APPEND
        如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。

        文件创建模式:MODE_PRIVATE
        默认模式,在那里创建的文件只能由应用程序调用,即为私有的

        文件创建模式:Activity.MODE_WORLD_READABLE
        允许所有其他应用程序有读取和创建文件的权限。

        文件创建模式:Activity.MODE_WORLD_WRITEABLE
        允许所有其他应用程序具有写入、访问和创建的文件权限。*/

 /*存入数据方法2*/
 SharedPreferences  mySharedPreferences=getSharedPreferences("test", Activity.MODE_PRIVATE); 
 mySharedPreferences.edit().putString("name", name).putString("id", id).commit();
 /*这里只存入了两条数据*/

/*读取数据*/
SharedPreferences ss= getSharedPreferences("test", Activity.MODE_PRIVATE);
//这里和存入数据的时候一样
String name = ss.getString("name", "zwq");
/*如果name键的值为空,name就会获得"zwq"*/
String id = ss.getString("id", "");

这种方法是比较简单的,虽然用的不多,但是也比较重要。


不知道你们是不是有这个强迫症,就是非要看到实际的数据在文件中显示才舒服。看存储的数据方法也很简单,在手机下下载一个ES文件浏览器,找到根目录/data/data下 找到你的项目的包名,然后去找文件吧;如果什么文件都没有,那说明文件被隐藏了。root一下手机,然后把ES文件浏览器中的root工具箱↓打开,就可以看了。

这里写图片描述

1
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android中的5种数据存储方式之——SharedPreferences

Android中的5种数据存储方式之——SharedPreferences简介 SharedPreferences是Android平台上一个轻量级数据存储方式,用来保存应用的一些常用配置,比如Acti...
  • zhan1350441670
  • zhan1350441670
  • 2015-07-27 19:06
  • 1832

Android SharedPreferences存储数据的使用方法

SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用...
  • qq_25835645
  • qq_25835645
  • 2015-07-18 15:53
  • 782

【数据存储】sharedPreferences-轻量级存储

SharedPreferences介绍 (重点) 用来做数据存储sharedPreferences是通过xml文件来做数据存储的。 一般用来存放一些标记性的数据,一些设置信息。使用sharedPr...
  • qq_16580279
  • qq_16580279
  • 2016-10-31 11:15
  • 230

安卓数据持久化:文件存储、SharedPreferences存储以及数据库存储

Android系统中主要提供了三种方式用于简单的实现数据持久化功能: 文件存储(手机自带的内存)、SharedPreferences存储以及数据库存储 当然还可以用sd卡存储 读入写出 下面是疯狂ja...
  • hll174
  • hll174
  • 2015-05-15 22:12
  • 1706

Android数据存储之SharedPreferences及如何安全存储

前言:     最近一直在学习Android的数据存储,当学习到SharedPreferences的时候让我回想起了ios的NSUserDefaults,其实这两个真是异曲同工的,实现方式都是通过x...
  • andy_jiangbin
  • andy_jiangbin
  • 2017-02-13 10:35
  • 834

Android中实现本地缓存,存储(SharedPreferences存储)

SharedPreferences轻量级缓存技术        SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置。暂时将Activity的状...
  • qq_39218478
  • qq_39218478
  • 2017-08-01 20:54
  • 255

SharedPreferences存储用户自定义类

使用JSON和SharedPreferences存储用户自定义类SharedPreferences可以用来永久地存储数据,即使应用被销毁。事实上数据存储在Android的内部存储器上。有两种分方法用来...
  • qwer4755552
  • qwer4755552
  • 2016-11-18 14:44
  • 647

在Android中使用SharedPreferences存储数据以实现数据共享

在Android中,我们可以使用SharedPreferences来保存数据,以实现数据的共享。 (以一个用户登录为例) 简介: 首先我们需要了解一下SharedPreferences类,Share...
  • Wetsion
  • Wetsion
  • 2016-06-11 16:56
  • 766

Android中SharedPreferences和序列化结合保存对象数据

http://blog.csdn.net/ykttt1/article/details/8782875 前言:        最近在做用户注册的时候,遇到了需要填写很多表单数据,不可能在一页把...
  • zhhtao89
  • zhhtao89
  • 2015-06-15 21:23
  • 4440

Android的内外存储、SharedPreferences(偏好设置)及获取空间使用情况

一、Android的外部存储           首先明确,不管安卓手机是否有可移动的sdcard,他们总是有外部存储和内部存储。最关键的是,我们都是通过相同的api来访问可移动的sdcard或者手机...
  • daijin888888
  • daijin888888
  • 2016-04-10 22:06
  • 1008
    个人资料
    • 访问:232248次
    • 积分:3972
    • 等级:
    • 排名:第9181名
    • 原创:192篇
    • 转载:15篇
    • 译文:0篇
    • 评论:59条
    文章分类
    最新评论