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. .NET中的计时器控件Timer

    本章借介绍一些粗浅的Timer控件使用方法. 介绍Timer控件的常用属性和事件 1. Interval 属性表示 Timer控件的时间间隔. 类型是int默认是毫秒. 2. Enabled 属性 表 ...

  2. MyEclipse各种操作

    MyEclipse console没有显示的解决方法  1.进window菜单 ->show view->console    2.还是window菜单->preferences-& ...

  3. 别不拿里程碑当石头---------IT项目管理之项目计划(转)

    如果说做项目不需要计划,恐怕没人会认同.是否每个项目计划都起到了作用呢?却不尽然.知道要做计划,但不知道为什么做计划,如何做计划的还是大有人在.所以很多计划沦为依样画葫芦,成了摆设. IT项目计划的用 ...

  4. JSON,JSONP

    http://blog.csdn.net/huaishuming/article/details/40046729 说明: 在做2个系统间传值时出现: 已阻止交叉源请求:同源策略不允许读取 http: ...

  5. C# MongoDB--时区问题(差了8小时)

    原因:MongoDB中存储的时间是标准时间UTC +0:00C#的驱动支持一个特性,将实体的时间属性上添加上这个特性并指时区就可以了.例如:[BsonDateTimeOptions(Kind = Da ...

  6. Cassandra 之 入门

    1.到官网下载压缩包. http://cassandra.apache.org/download/ 我下载的是最新的 apache-cassandra-2.1.2-bin.tar.gz 另外:语言支持 ...

  7. php的register_shutdown_function函数详解

    function shutdown() { $last_error = error_get_last(); if ($last_error) { error_log(print_r($last_err ...

  8. ERROR 1045 (28000): Access denied for user root@localhost (using password:

    错误描述: Mysql中添加用户之后可能出现登录时提示ERROR 1045 (28000): Access denied for user的错误.删除user.user中值为NULL的,或更新NULL ...

  9. CentOS下MySQL忘记root密码解决方法【转载】

    1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库. 因为在重新设置MySQL的root密码的期间,MySQL数据库完全出于没有密码保护的 状态下,其他的用户也可以任意地登录 ...

  10. ContactsContract中涉及数据库中的一些列属性值【Written By KillerLegend】

    ContactsContract.Data   http://developer.android.com/reference/android/provider/ContactsContract.Dat ...