Android数据存储

作者: 清枫_小天 | 来源:发表于2016-07-05 23:39 被阅读273次

Android中的数据存储

  1. Context类为我们提供了一个OpenFileOutput()可以用将数据存储到指定的文件中。第一个参数是文件名,第二个参数是模式:MODE_PRIVATE和MODE_APPEND
  2. Context还提供了OpenFileInput()进行读取bufferedReader.readLine()!=null时一直读

SharedPreference存储

该文件都是存放在包下

  • 获取该对象
    1.Context类中 getSharedPreference();第一个参数指定文件名称。第二个参数模式:MODE_PRIVAT(只有当前应用程序才可以进行读写)和MODE_MULTI_PROCESS(多线程)
  1. Activity类getPreference()。
  2. Preference类中的静态方法getDefaultSharedPreferences()
  • 得到对象之后,就可以开始向SharedPreference文件中存储数据
  1. 先获取Editor对象。edit();
  2. 添加数据putString()
  3. 提交数据commit(); (清除数据可以调用clear())

读取数据更简单,只需要SharedPreference.getXXX()就行。参数第一个是键第二个是默认值

SQLite数据库存储

创建数据库

  • 首先我们需要了解的SQliteOpenHelper帮助类。它是个抽象类所以我们必须自定义一个类继承他。实现两个方法和构造器。

  • 在调用gerReadableDatabase()或getWritableDatabase()创建数据库(如果数据库已存在则直接打开),并且返回一个可对数据库进行读写操作的对象。

  • gerReadableDatabase()使用这个方法时,若数据库不可写入(如磁盘空间已满)返回的对象以只读方式去打开数据库

  • getWritableDatabase()方法碰到上面情况则会抛出异常

  • SQliteOpenHelper中的两个构造方法,我们一般实现参数少的那个。

    • 第一个是Context,
    • 第二个参数是数据库名字,创建数据库时使用的就是这里指定的名称
    • 第三个参数允许我们在查询数据的时候返回一个自定义的Cursor,一般是null
    • 第四个参数是版本号用于升级

/data/data/<package name>/databases/目录下。数据库创建成功了后我们可以在cmd中使用如下命令:

  1. adb shell
  2. cd /data/data/<package name>/databases/
  3. ls我们可以查看到有两个一个是我们创建的,另一个是XXX.db-journal是为了让数据库能支持事务而产生的临时日志文件,大小为0kb.
  4. sqlite3 后面加数据库的名字即可(借助sqlite来打开数据库)
  5. .table(查看表) .schema(查看建表语句)

添加数据

  • 我们先获取SQLiteDatabase对象

  • 然后使用ContentValues来对要添加的数据进行组装。

  • 接下来调用insert()方法将数据添加到表中。插入多条必须用完ContentValues对象之后clear();

      db.insert("Book",null,contentvalues);
    
  • 更新数据调用的是update();

  •   db.update("Book",values,"name=?",new String []{"The Davinci Code"});
    
  • 删除数据

      db.delete("Book","pages>?",new String[]{"500"});
    
  • 查询数据

      Cursor cursor=db.query("Book",null,null,null,null,null,null);
       遍历cursor while(cusor.moveToNext()){ ....}

相关文章

  • Android ContentProvider(一)

    Android数据存储(一) Android数据存储(二) Android数据存储(三) Android数据存储(...

  • Android数据存储

    Android数据存储 Android提供了5种方式存储数据 SharedPreferences它是Android...

  • day07

    Android的存储方式 使用SharedPreferences存储数据 文件存储数据 SQLite数据库存储数据...

  • SharedPreferences存储数据

    Android的存储方式 使用SharedPreferences存储数据文件存储数据SQLite数据库存储数据使用...

  • 面试相关之 Android(二)

    数据存储 1. Android 中提供哪些数据持久存储的方法?参考回答:Android 平台实现数据存储的常见几种...

  • SharePreferences 分析及正确使用姿势

    1.Android 常见数据存储方式 在 Android 中,常用数据存储方式通常有以下几类: 文件存储:将数据存...

  • Android数据存储(三)

    前面两篇文章Android数据存储(一)和Android数据存储(二)分别使用文件存储、SharedPrefere...

  • SharedPreference与文件存储

    Android常用数据存储方式有SharedPreferences存储数据(虽然还是属于内部存储)、文件存储(内部...

  • Android中的数据存储

    1. Android中有哪些数据存储方式? Android中的数据存储主要有以下5种方式: File:文件存储,通...

  • 06 Room组件架构原理解析

    前言 Android应用数据存储简单来说有这么几种:文件存储、SharePreference存储、SQLite数据...

网友评论

    本文标题:Android数据存储

    本文链接:https://www.haomeiwen.com/subject/zcqkjttx.html