android下数据存储的几种方式:(简单讨论)

1.文件
举例:登陆时“记住密码”
因为是基于Linux系统,直接建文件,文件会出现在项目工程;而手机登陆时,应该把文件放在手机里,通常数据放在data/data/包名/info.txt
方便的API:
context:上下文环境
context.getFilesDir(); // data/data/<包名>/files/
context.getCacheDir(); // data/data/<包名>/cache/
 
context.openFileInput("info.txt");相当于 //快速得到输入流
File filedir = context.getFileDir();
File file = new File(filedir,"info.txt");
FileInputStream fis = new FileInputStream(file);
 
 
context.openFileOutput("info.txt",mode);  //快速得到输出流
参数mode有多种固定的取值:WorldReadable....
 
Linux下的文件模式:“-”表示文件,“d"表示目录
”-  rw-  ---   ---  “:
rw-:表示当前用户文件的访问权,第三个参数表示文件是否可执行
后面两个”---“:分别代表当前用户所在组权限和其他用户权限,参数也可为”r--,rw-...."
linux命令行下可用chmod+“666”+文件名  改变其访问权,“666”代表:“- rw- (110,7)   rw-(110,7)   rw-(110,7)”
 
在Android下,默认情况每个App都是一个单独的用户,具有自己特有的用户ID,可以说每个App都是一个安全沙箱,可以通过设置,是否暴露它拥有的文件信息
 
把文件放在SD卡:(获取SD卡所在目录)
需要在manifest.xml文件中配置SD卡的写权限
方法在Environment.getExternalStorageState();
...
 
不管把文件放在手机本身还是SD卡,首先要检查存储空间是否足够放你所要存的文件?(系统自带有获取剩余空间的功能,直接参考源代码(Eclipse里利用ctrl+H逐步搜系统应用的关键字符串))
 
2.SharedPreference(参数)
实现定时的数据更新,保存内容,如网页上5s更新一次
Timer,TimerTask  (重写run方法),Timer.schedule
this.getSharedPreferences(); Editor SharedPreferences.edit();
editor.putString();editor.getString();...
SharedPreference通过把数据存到一个新建的xml文件中来保存数据内容,类似涉及文件的I/O操作
 
(待续...)
3.SQLite数据库
1)写一个数据库打开的帮助类,继承sqliteOpenHelper
2)重写帮助类的oncreate方法,数据库表结构的初始化
3)利用OpenHelper得到数据库,执行SQL语句
 
4.内容提供者Content provider
 
5.网络

android下的数据存储的更多相关文章

  1. Android下的数据存储与訪问 --- 以文件的形式

    Android下的数据存储与訪问 --- 以文件的形式 1.1 储存文件存放在手机内存中: // *** 储存数据到 /data/data/包名/files/jxn.txt文件里 String dat ...

  2. Android下的数据存储与访问、权限

    弹出吐司 在onCreate中可以先获取控件对象 /data/data/程序的包名/          在这个目录下面进行文件的读写可能因为包名的改变而变得不可靠. this可以是Activity,也 ...

  3. 67.Android中的数据存储总结

    转载:http://mp.weixin.qq.com/s?__biz=MzIzMjE1Njg4Mw==&mid=2650117688&idx=1&sn=d6c73f9f04d0 ...

  4. Android Learning:数据存储方案归纳与总结

    前言 最近在学习<第一行android代码>和<疯狂android讲义>,我的感触是Android应用的本质其实就是数据的处理,包括数据的接收,存储,处理以及显示,我想针对这几 ...

  5. Android中的数据存储

    Android中的数据存储主要分为三种基本方法: 1.利用shared preferences存储一些轻量级的键值对数据. 2.传统文件系统. 3.利用SQLite的数据库管理系统. 对SharedP ...

  6. Android五种数据存储方式

    android 五种数据存储 :SharePreferences.SQLite.Contert Provider.File.网络存储 Android系统提供了四种存储数据方式.分别为:SharePre ...

  7. Android中的数据存储(二):文件存储 2017-05-25 08:16 35人阅读 评论(0) 收藏

    文件存储 这是本人(菜鸟)学习android数据存储时接触的有关文件存储的知识以及本人自己写的简单地demo,为初学者学习和使用文件存储提供一些帮助.. 如果有需要查看SharedPreference ...

  8. Android——几种数据存储应用浅谈

    (1)android中的数据存储主要有五种方式: 第一种.sharedPreferences存储数据, 适用范围:保存少量的数据,且这些数据的格式非常简单:字符串型.基本类型的值.比如应用程序的各种配 ...

  9. Android之文件数据存储

    一.文件保存数据介绍 Activity提供了openFileOutput()方法可以用于把数据输出到文件中,具体的实现过程与在J2SE环境中保存数据到文件中是一样的.文件可用来存放大量数据,如文本.图 ...

随机推荐

  1. JDBC数据库连接(MySQL为例)

    1.什么是JDBC?有什么作用? Java Data Base Connectivity  Java数据库连接协议 是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问. 他提 ...

  2. 搭建高性能计算环境(六)、应用软件的安装之lammps

    1,上传需要的软件包lammps-stable.tar.gz. 2,解压缩并进入安装目录 tar xvf lammps-stable.tar.gz cd lammps-30Oct14 3,如果需要re ...

  3. 快速解决Canvas.toDataURL 图片跨域的问题

    出现Canvas.toDataURL 图片跨域问题怎么解决呢?下面小编就为大家带来一篇Canvas.toDataURL 图片跨域问题的快速解决方法.一起跟随小编过来看看吧 如题,在将页面的图片地址进行 ...

  4. MySQL连接语法

    http://www.cnblogs.com/hanzhaoxin/p/3590642.html 内连接:INNER  JOIN 内连接为 两个表中必须都同时满足条件 内连接,即最常见的等值连接自然连 ...

  5. c#获取多个List<class>合并、并将相同条件下的值累计sum

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  6. linux shell 逻辑运算符、逻辑表达式

    shell的逻辑运算符 涉及有以下几种类型,因此只要适当选择,可以解决很多复杂的判断. 一.逻辑运算符  逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测『档案』是否存在 e ...

  7. 从零开始之ecshop基础篇(17)

    目标:基于自定义的mvc框架开发的案例(项目) 项目周期    需求分析 典型的业务逻辑:    电子商务:商城(京东),B2C,C2C(淘宝),团购,秒杀,代购 内容管理:新浪门户类,优酷视频管理, ...

  8. php中的一些小细节(1)

    <?php $a=false; echo $a; //var_dump($a); ?> 输出结果为:     (即为空): 为什么会这样子? 查看官网对echo的相关资料得出: 结论:ec ...

  9. open/fopen read/fread write/fwrite区别

    fopen /open区别 UNIX环境下的C 对二进制流文件的读写有两套班子:1) fopen,fread,fwrite ; 2) open, read, write这里简单的介绍一下他们的区别.1 ...

  10. C++ STL vector 内存分配

    vector为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储. 当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间.拷贝元素.撤销 ...