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. 开始安装 ASP.NET (4.0.30319.18408)。 出现了错误: 0x8007b799 必须具有此计算机的管理员权限才能运行此工具

    在Visual Studio命令提示符安装ASP.NET .出现了错误: 0x8007b799 必须具有此计算机的管理员权限才能运行此工具:如下图: 解决方案如下: 1.打开“C:\Windows\S ...

  2. ansible的playbook组件

    playbook的核心元素: tasks: 任务 variables: 变量 templates: 模板 handlers: 处理器 roles: 角色 组织格式:YAML(被称为另外一种标记语言) ...

  3. MapReduce框架Partitioner分区方法

    前言:对于二次排序相信大家也是似懂非懂,我也是一样,对其中的很多方法都不理解诶,所有只有暂时放在一边,当你接触到其他的函数,你知道的越多时你对二次排序的理解也就更深入了,同时建议大家对wordcoun ...

  4. 3种方式实现Java多线程

    java中实现多线程的方法有两种:继承Thread类和实现runnable接口. 1.继承Thread类,重写父类run()方法 public class thread1 extends Thread ...

  5. PHP Startup: Unable to load dynamic library

    昨天帮一朋友配置服务器结果发现apache日志中有PHP Warning: PHP Startup: Unable to load dynamic library 提示了,然后调试数据库连接发现提示C ...

  6. 用开源中国(oschina)Git管理代码(整合IntelliJ 13.1.5)

    简介 开源中国提供了Git服务(地址:http://git.oschina.net/),在速度上比国外的github要快很多.使用了一段时间,感觉很不错.oschina git提供了演示平台,可以运行 ...

  7. 搭通自己的电脑与GitHub的传输通道

    一.远程仓库怎么玩 1. 自己搭建一个运行Git的服务器 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上,但肯定有一台机器有着最原始的版本库,然后别的机器来克隆这个原始版本库,这 ...

  8. VPS centos 6 安装图形界面

    在某种场合之下,我们使用的Linux还是要选择安装桌面环境的,所以在这里介绍一下如何给没有安装桌面环境的系统安装桌面环境.以Centos 6.5 为例演示一下如何安装桌面环境. 工具/原料 Linux ...

  9. JS下高效拼装字符串的几种方法比较与测试代码

    在使用Ajax提交信息时,我可能常常需要拼装一些比较大的字符串通过XmlHttp来完成POST提交.尽管提交这样大的信息的做法看起来并不优雅,但有时我们可能不得不面对这样的需求.那么JavaScrip ...

  10. 解决vmware安装 win7 后 没有虚拟网卡驱动 不能上网的问题

    项目需要用到win7 32位系统,于是装个虚拟机,换了好几个系统资源,都是没有网卡驱动, XP 2003 都能上网唯独WIN7 不行,安装vmware tools也不管用,终于找到了这个东西.vmwa ...