Android中的SQLites数据库使用方法详细总结:

SQLites数据库一般的操作来讲有:创建数据库,创建表,删除表,删除数据库,打开数据库,关闭数据库,在某一个表中插入新的数据,删除一条数据记录,修改某条数据。

数据库对象类型为SQLiteDatabase,在Activity中可以通过

public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory);如果数据库已经存在直接打开数据库,不存在则创建一个名为name的数据库,并指定模式,mode参数即为模式,这个模式是在Context类中定义的,分别有:

MODE_PRIVATE,私有模式只供被调用的Application自己使用,或者所有的应用通过想通的用户ID共享,是默认的模式。

MODE_WORLD_READABLE,只读其他的应用程序可以访问但不可以修改。

MODE_WORLD_WRITEABLE,其他的应用程序可以修改。

MODE_APPEND,如果文件存在则可以继续添加数据。

CursorFactory factory,是可以在查询数据库时候返回的Cursor子类的对象,null表示使用 默认的构造,可以自定义要返回的Cursorfactory。

 创建一个数据表可以采用直接执行SQL语句。

SQLiteDatabase db = openOrCreateDatabase("test.db", Context.MODE_PRIVATE, null);  

     db.execSQL("DROP TABLE IF EXISTS person");  //描述了如果存在名称为”person”的表,则将其删除。

可以使用SQL语句直接对要操作的数据库进行操作。

当从数据表中获取具体的数据的时候,采用Cursor类实现,逐条遍历,并根据关键字取出关键字的信息值。

while (c.moveToNext()) 

{  

            int _id = c.getInt(c.getColumnIndex("_id"));  

            String name = c.getString(c.getColumnIndex("name"));  

            int age = c.getInt(c.getColumnIndex("age"));  

            Log.i("db", "_id=>" + _id + ", name=>" + name + ", age=>" + age);  

        }  

  1. 在调试代码的时候我们需要查看调试信息,那我们就需要用Android Log类
  2. android.util.Log常用的方法有以下5个:
  3. Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母分别对应VERBOSE,DEBUG,INFO, WARN,ERROR。
  4. 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("","");
  5. 2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择.
  6. 3、Log.i的输出为绿色,一般提示性的消息information,它不会输出Log.v和Log.d的信息,但会显示i、w和e的信息
  7. 4、Log.w的意思为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e的信息。
  8. 5、Log.e为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。

SQLiteOpenHelper是用来辅助对数据库进行操作的类,onCreate(SQLiteDatabase db) : 当数据库被首次创建时执行该方法,一般将创建表等初始化操作在该方法中执行。

onUpgrade(SQLiteDatabse dv, int oldVersion,int new Version):当打开数据库时传入的版本号与当前的版本号不同时会调用该方法。

除了上述两个必须要实现的方法外,还可以选择性地实现onOpen 方法,该方法会在每次打开数据库时被调用。

SQLiteOpenHelper 类的基本用法是:当需要创建或打开一个数据库并获得数据库对象时,首先根据指定的文件名创建一个辅助对象,然后调用该对象的getWritableDatabase 或 getReadableDatabase方法 获得SQLiteDatabase 对象。

class MySQLiteHelper extends SQLiteOpenHelper{}

MySQLiteHelper myHelper;

myHelper = new MySQLiteHelper(this, "my.db", null, 1);

SQLiteDatabase db = myHelper.getWritableDatabase();

或者SQLiteDatabase db = myHelper. getReadableDatabase ();

调用getReadableDatabase 方法返回的并不总是只读数据库对象,一般来说该方法和getWriteableDatabase 方法的返回情况相同,只有在数据库仅开放只读权限或磁盘已满时才会返回一个只读的数据库对象。

所以说,SQLiteOpenHelper是获取当前已经存在的数据库,并可以通过接口对其进行操作,主要是在创建和更新数据库。

转载于:https://www.cnblogs.com/learnAndroid/archive/2012/08/08/2628745.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值