1.内存:关掉应用,掉电清空数据

2.外存:掉电不清空数据

    

       Shared Preferences         参数共享

       Internal Storage              内部存储

       External Storage              外部存储 (sdcard)

       SQLite Databases            数据库存储

       Network Connection      网络存储

   

1SharedPreferences        参数共享

    应用场景:保存应用程序中少量的关键数据

    文件保存位置:data/data/包名/sharedp..../MainActivity.xml

    保存格式:  xml

     

   //保存数据

   //得到SharedPreferences对象

   //SharedPreferences sp = getSharedPreferences("hehe", 0);

   SharedPreferences sp = getPreferences(0);

   //获得编辑器对象

   Editor edit = sp.edit();

   //编辑数据

   edit.putString("name", "小丽");

   edit.putBoolean("married", false);

   edit.putInt("age", 23);

   //提交数据

   edit.commit();

   

 

2InternalStorage        内部存储   (不需要权限)

     保存路径:/data/data/包名/files/文件名

     格式:自定义

 

 

读写模式

     MODE_PRIVATE   私有的,只有当前应用才有权限进行

                                    读写操作,数据会覆盖

     

     MODE_APPEND   私有的,只有当前应用才有权限进行

                                    读写操作,数据会追加

     

     MODE_WORLD_READABLE       其他应用可读

     MODE_WORLD_WRITEABLE      其他应用可写

 

 

3ExternalStorage   外部存储

     

     对于不同版本,sdcard存储位置会不同

     

     // 获取sdcard的路径

         Filefile = Environment.getExternalStorageDirectory();

         Stringpath = file.getAbsolutePath();

         Stringstr = path+"/abc.txt";

         Toast.makeText(this,path, Toast.LENGTH_SHORT).show();

         //判断sdcard是否可用

         if(Environment.MEDIA_MOUNTED.equals(Environment

                            .getExternalStorageState())){

                  

         } 

 

 

4SQLiteDatabases            数据库存储

       场景:结构相似的数据,频繁地进行增删改查操作的时候

       

       android平台,集成了一个数据库---->  SQLite

       特性:

                免费

                轻量级

                跨平台

                多线程

       

SQL语句

       

       创建表

       CREATE  TABLE  表名  (id INTEGER PRIMARY KEY

                AUTOINCREMENT, nameVARCHAR(20))

       CREATE  TABLE  student (id INTEGER PRIMARY

                KEY AUTOINCREMENT,nameVARCHAR(20),

                phone VARCHAR(20))

       

       修改表

       ALERT  TABLE  表名   ADD  字段   属性

       ALTER  TABLE  student ADD age INTEGER

       

       

       删除表

       DROP  TABLE  表名

       

       

       INSERT INTO 表名  (字段名)  VALUES ()

       

       

       DELETE  FROM  表名 WHERE 条件语句

       

       

       UPDATE 表名 SET 字段名=  WHERE  条件语句

       

       

       SELECT *  FROM 表名  WHERE  条件语句   GROUP BY 分组语句

                                                                     ORDER  BY  排序

                                                                      HAVING  分组条件

        

       DESC 降序

       ASC   升序