zoukankan      html  css  js  c++  java
  • 2----IOS、Android数据存储方式

    IOS
      由于ios每个应用都有一个自己的沙盒环境,其所有数据都是存储在这个环境之中,每个应用程序直接不允许交互数据,常见存储方式如下:
        SQLite数据库:
           SQLite是一个轻量级的数据库,支持基本SQL语法,ios系统自带开发库libsqlite3.0.dylib,可直接操作sql语句,参考(http://blog.csdn.net/totogo2010/article/details/7702207)
           另外在ios平台有第三方库,对原始SQLite进行了简单封装,试用更加方便,包括Sqlitepersistentobjects,FMDB,其中FMDB用的多一点,参考(http://li-bonan.blog.163.com/blog/static/13556477020124231203985/ 和Tmart项目代码)
           创建的sql库文件可用火狐浏览器插件方便查阅及更改(http://blog.sina.com.cn/s/blog_721948c20100u8hz.html )
         NSUserDefault:ios自创的数据保存类,用于一些小数据,如一些简单的配置等信息,本质也是存储在硬盘上的一个文件
         File直接操作:使用单例NSFileManager,参考()
         keychain 钥匙串
         http://blog.csdn.net/jcp312097937/article/details/17791247
    Android
         由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。

      SQLite: SQLite是一个轻量级的数据库,支持基本SQL语法,是常被采用的一种数据存储方式。Android为此数据库提供了一个名为SQLiteOpenHelper的类,子类化它,封装了一些操作数据库的API。

      SharedPreference: 除SQLite数据库外,另一种常用的数据存储方式,其本质就是一个xml文件,常用于存储较简单的参数设置。

      File: 即常说的文件(I/O)存储方法,常用语存储大数量的数据,但是缺点是更新数据将是一件困难的事情。

      ContentProvider: Android 系统中能实现所有应用程序共享的一种数据存储方式,由于数据通常在各应用间的是互相私密的,所以此存储方式较少使用,但是其又是必不可少的一种存储方式。 例如音频,视频,图片和通讯录,一般都可以采用此种方式进行存储。每个Content Provider都会对外提供一个公共的URI(包装成Uri对象),如果应用程序有数据需要共享时,就需要使用Content Provider为这些数据定义一个URI,然后其他的应用程序就通过Content Provider传入这个URI来对数据进行操作。

     

    PS: URI由3个部分组成:"content://"、数据的路径、标识ID(可选)。

    Android的参考:http://www.cnblogs.com/wisekingokok/archive/2011/09/13/2174484.html
  • 相关阅读:
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 697 数组的度(类似于数组的map)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 696 计数二进制子串(暴力)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    Java实现 LeetCode 695 岛屿的最大面积(DFS)
    PHP serialize() 函数
    PHP print_r() 函数
  • 原文地址:https://www.cnblogs.com/cnsec/p/11515812.html
Copyright © 2011-2022 走看看