一.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;
四.网络存储
。。待补充