Android sqlite3编程概览_铽可喏_新浪博客

       Android提供的sqlite数据库,是被集成在Android runtime,每个应用程序均能创建和使用数据库。默认情况下,是作为APP的私有数据库,保存在“/data/data/APP包名/databases”。

      没有系统权限的Android  APP有权限读写文件的区域有两个地方。

       一是“/data/data/包名/”文件夹下的files、shared_prefs、databases等文件夹,这些文件夹下系统都有提供API调用,如shared_prefs是使用SharedPreferences默认的存储位置,databases是使用SQLiteOpenHelper集成类的默认存储位置。

       二是SD卡,可通过 Environment.getExternalStorageDirectory()获取SD的目录路径。与第一种方式的区别是需要在AndroidManifest.xml来声明权限:

      android:name="android.permission.WRITE_EXTERNAL_STORAGE"

      android:name="android.permission.READ_EXTERNAL_STORAGE"

 

      有系统权限的APP可在文件系统中的其他地方读写文件和数据库,如/opt等。

系统权限的获得方式如下,在AndroidManifest.xml中添加属性:

           “android:sharedUserId="android.uid.system"”

并且用源码中的platform.pk8、platform.x509.pem为APK签名。

 

         以下是数据库编程常用的一些概念解释:

什么是 SQLiteDatabase       

        ​一个 SQLiteDatabase 的实例代表了一个SQLite 的数据库,通过SQLiteDatabase 实例的一些方法,我们可以执行SQL 语句,对数据库进行增、删、查、改的操作。需要注意的是,数据库对于一个应用来说是私有的,并且在一个应用当中,数据库的名字也是惟一的。    

什么是 SQLiteOpenHelper 

      根据这名字,我们可以看出这个类是一个辅助类。这个类主要生成一个数据库,并对数据库的版本进行管理。当在程序当中调用这个类的方法getWritableDatabase(),或者getReadableDatabase()方法的时候,如果当时没有数据,那么Android 系统就会自动生成一个数据库。SQLiteOpenHelper 是一个抽象类,我们通常需要继承它,至少实现里边的2 个函数,onCreate(),onUpgrade()。 

什么是 ContentValues 类?

       ContentValues 类和Hashmap/Hashtable比较类似,它也是负责存储一些名值对,但是它存储的名值对当中的名是一个String 类型,而值都是基本类型。

 什么是 Cursor 

       Cursor 在Android 当中是一个非常有用的接口,通过Cursor 我们可以对从数据库查询出来的结果集进行随机的读写访问。

 

参考文章

http://www.eoeandroid.com/thread-100492-1-1.html

Android SQLite的数据库文件存储在SD卡中(一)

http://www.sqlite.org/datatype3.html

 Datatypes In SQLite Version 3

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值