Android开发拾穗

Android 数据存储浅析

2019-04-14  本文已影响0人  a57ecf3aaaf2

简介

Android 数据存储可通过 SD 卡扩展存储、SQLite、SharedPreference、ContentProvider 等方式实现。本文主要介绍 SQLite 的实现方面的优化。

Android 通过 SQLiteOpenHelper 类辅助完成数据库的创建、增删改查、版本更新等操作,但其核心的操作类为 SQLiteDatabase。

数据库更新

Android 中对数据库中数据表的 ALTER TABLE 功能做了限制,只能添加和重命名列,不能修改或删除列。所以,如果要执行修改和删除列的操作,需要删除当前表后重新创建表。

不过,Android 在 SQLiteOpenHelper 中提供了 onUpgrade() 方法,该方法接收三个参数,第一个为 SQLiteDatabase 对象,第二、三个参数分别为之前数据库版本和当前数据库版本的 int 值。

通过该方法,开发人员可以轻松实现数据库表列的修改和删除,完成版本更新需要的数据库更新操作。

数据库异步操作

SQLite 的数据库服务器与客户端运行在同一进程,并且 SQLite 的数据库表级锁为应用程序操作数据库提供了方便。实际开发中不能、也无需使用多线程操作数据库,但是为了保证 UI 线程的流畅性,需要使用独立的线程进行数据库的耗时操作。

需要注意的是,独立出的单一线程并非多线程。

实际开发中,可通过 AsyncTask 建立单线程线程池来执行数据库的操作,操作完成后再借助 Handler 将操作结果投递至 UI 线程。

本文由 Fynn_ 原创,未经许可,不得转载!

上一篇 下一篇

猜你喜欢

热点阅读