【数据存储】SQLite数据库存储(1)

SQLite是一个轻量级的、嵌入式、关系型数据库,是遵守ACID的关联式数据库管理系统,其主要的是针对于嵌入式设备专门设计的数据库,由于其本身占用的存储控件较小,所以目前已经在Android操作系统之中广泛的使用着,而在SQLite数据库之中可以方便的使用SQL语句实现数据的增删改查等操作,最近版本为SQLite3. 

 

在学习JDBC的时候,如果想取得数据库的操作对象,那么肯定需要有一个数据库的连接对象,这个在JDBC之中使用Connection接口表示。  

 

    在Android上进行开发时,一般不用SQLiteDatabase类对象,往往会由一个辅助的工具类SQLiteOpenHelper进行操作的管理。

 

 

※ SQLiteDatabase类本身只有一个数据库的操作类,但是如果要想进行数据库的操作,还需要一个android.database.sqlite.SQLiteOpenHelper类帮助下才可以取得进行,但是,SQLiteOpenHelper类是一个抽象类,所以要使用的时候需要定义其子类,并且在子类中要覆写相应的抽象方法。

 

 

SQLiteOpenHelper类定义的方法

 

 

 

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
    private static final String DATABASENAME = "mldn.db" ;
    // 设置数据库的版本
    private static final int DATABASERVERSION = 2 ;    
    private static final String TABLENAME = "mytab" ;
    // 用户最关心的也肯定只是Context
    public MyDatabaseHelper(Context context) {    
        super(context, DATABASENAME, null, DATABASERVERSION);
    }
    /**
     * 创建数据表
     * 在SQLite中设置为Integer、PRIMARY KEY则ID自动增长
     */
    @Override
    public void onCreate(SQLiteDatabase db) {      
        String sql = "CREATE TABLE " + TABLENAME + "("
                + "id        INTEGER            PRIMARY KEY ,"     
                + "name     VARCHAR(50)     NOT NULL ,"
                + "birthday DATE NOT         NULL" + ")";
        db.execSQL(sql) ;    // 执行SQL
        System.out.println("创建:onCreate()。");
    }
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, 
      int newVersion) {
        String sql = "DROP TABLE IF EXISTS " + TABLENAME ;
        db.execSQL(sql) ;
        System.out.println(" 更新:onUpgrade()。");
        this.onCreate(db) ;
    }
}
View Code
import android.app.Activity;
import android.database.sqlite.SQLiteOpenHelper;
import android.os.Bundle;
public class MySQLiteDemo extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setContentView(R.layout.main);
        SQLiteOpenHelper  helper = new MyDatabaseHelper(this) ;
        // 以写的方式打开数据库
        helper.getWritableDatabase() ;    
    }
}
View Code

在MyDatabaseHelper类中回调方法onCreate()只有在使用了SQLiteOpenHelper类中的getReadableDatabase()方法之后才会执行。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

原文地址:https://www.cnblogs.com/androidsj/p/3129418.html