数据存储总结

一.Sharedpreferences存储

   特点:

    1. key-value对xml文件存储
    2. 存储比较简单的信息  ;例如:配置信息等
    3. android框架提供了简单的读写方法  文件可以私有也可以共享
    4. sharedpreferences文件可以存储  boolean  float  int long String  set<String>
    5. sharedpreferences以xml文件的形式存储<map> </map>
    6. 当应用程序卸载的时候就会删除应用程序的包名文件夹  sharedpreferences文件也会随之删除
   默认存储路径:data/data/应用程序包名/shared_prefs/文件名.xml

二.文件存储

  (1) 内部存储 InternalStorage

        特点:

      1.内部存储总是可用的
      2.内部存储的文件默认情况下只能当前的应用程序访问
      3.如果应用程序卸载内部存储中的文件也会随着删除
      4.如果文件只需要当前的应用程序访问可以存放在内部存储中
        默认存储路径:data/data/应用程序包名/files/文件名

  (2)外部存储 ExternalStorage

         特点:

       1.不见得总是可用的  例如:移除sdcard
       2.外部存储是全局可读  外部存储中的文件可以被任何可以访问的应用程序访问
       3 .外部存储更为细致的划分 可以划分为公共的外部存储和私有的外部存储
                *   私有外部存储     只有当前应用程序可以访问 随着应用程序的卸载而卸载
                *   公共的外部存储   所有的app都可以访问  应用程序卸载 不会随着删除
	当应用卸载时会删除私有的外部存储中的文件  而公用的外部存储的文件不会随之删除
       4.如果当前的文件需要分享给其它的应用程序可以访问 或者是 安全性能不做要求的文件都可以存放到外部存储
         默认存储路径: /mnt/Sdcard/Android/应用程序包名/files/文件名

三.SQLite 数据库存储

        特点:

<em>       1.sqlite属于android系统中的内置的数据库
       2.sqlite是关系型数据库  并且没有用户的概念   其实就是一个可以操作文件
       3.sqlite数据库中创建表时可以不指定数据类型  以插入的第一条数据的类型为准
       4.sqlite数据库的优点:操作简单  占空间小</em>
        默认存储路径:data/data/应用程序包名/databases/数据库名

        表字段类型     Integer   varchar(10)  nvarchar(10)  float  double char(10) nchar(10) text

        常用sql操作语句:

       1.创建表
            create table 表名 (字段 类型,字段 类型....);  
   	    例:create table user(_id integer primary key autoincrement,name varcahr(10));
       2.删除表
            drop table 表名 ;            
            例: drop table user;
       3.插入数据
            insert into 表名[字段,字段...] values(字段值,字段值...);
     	        如果表名之后没有指定插入字段则values后需要按照创建表的字段顺序依次插入
     	        如果表名之后指定插入字段则values后需要按照指定字段顺序依次插入
     	        如果存在自动增长的字段 必须执行插入的字段
            例:insert into user values(1,"xx");
                insert into user(name) values("");
        4.修改数据
            update 表名 set 字段=值,字段=值...  where 条件语句
     	        如果没有指定修改的条件则将修改整个表的数据
            例:update user set name="dd" where _id=?
        5.删除数据
            delete from 表名 where 条件语句;
    	        如果没有指定修改的条件则将删除整个表的数据
            例:delete from user where _id=?
        6.查询数据
            select 字段名 from 表名 where 查询条件  group by 分组条件 having 筛选条件 order by 排序  desc
            例:                                   
                 select * from user;  查询所有
                 select * from user where _id=2;
                 select * from user where _id<>2;   <>不等于
                 select * from user where _id>1 and name="dd";  and 符合两个条件
                 select * from user where _id>1 or name="dd";   or  符合其一个条件
   	         select * form user where name like "_d";   _ 代表一个字符   % 任意多个字符
   		 select * form user where name like "%d";
  		 select * form user where name like "%d%";
     		 select * from user where (_id>1 and name like "%x") or (_id>1 and name="dd");
    		 select * form user where name is null; 判断某个字段是否为null
                 select _id as 编号,name as 姓名  form user;
                 select * form user where  _id between 1 and 3;  _id在1-3之间
                 select * form user where  _id in(2,3,4);   _id的取值是 2 3 4中的任意一个
                 select * form user limit 0,5;   0表示起始的行数   5 表示每页的数据
                 select * from user where _id>2 order by _id desc;
        7.聚合函数
            例:                                
                 select count(*) from user;
                 select max(score) from user;
                 select min(score) form user;
                 select sum(score) from user;
                 select avg(score) form user;
                 select _id,sum(score) from user where _id>1 group by _id having _id>5 order by _id desc;

四.网络存储

 。。待补充

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值