Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> android數據庫儲方式(一) SQLite的基本操作

android數據庫儲方式(一) SQLite的基本操作

編輯:Android開發教程

最近開始在某個項目中實習,充分認識到了自己的不足,包括能力和性格等各種方面的缺陷。如何快速掌 握開發環境,如何與其他程序員溝通交流,如何准確知道分配給自己的模塊具體實現的功能等等,都是大問題 ,更重要的是,自己不能僅僅只是寫代碼而已,還要清楚自己的代碼的應用環境,別人是怎樣用的,自己應該 提供哪些接口。這就屬於擴展性的問題,不是一個新手能夠馬上明白的,但卻是我們是否能夠“脫農”的關鍵 。

廢話不多說,本文講訴的是我在項目中使用到的新知識---android數據庫的操作。以前並沒有任何 關於android數據庫的開發經歷,所有的東西都是現學現用,所以特意總結一下。

如果想要在android 中使用數據庫,使用SQLite是一個非常好的選擇,因為它是android內置的數據庫,提供了很多支持。

數據庫的使用無非就是CRUD,也就是"Create,Read,Update,Delete"這四個基本操作。

一.Create

Create就是創建表,而要想創建表,首先必須要創建或者打開數據庫。

有兩種方式 可以做到這點:

1.手動創建或者打開數據庫

SQLiteDatabase database = openOrCreateDatabase("Student.db", MODE_PRIVATE, null);

調用 openOrCreateDatabase()方法,如果有該數據庫,就打開,沒有就創建一個。該方法的具體信息還是得看源碼 ,但一般我們使用的時候,只要指定數據庫的名字和指定該數據庫是私有的就行。

2.使用 SQLiteOpenHelper

public class SQLHelper extends SQLiteOpenHelper {
    
    public SQLHelper(Context context, String name, CursorFactory factory,
                     int version) {
        super(context, name, factory, version);
    }
    
    @Override
    public void onCreate(SQLiteDatabase db) {}
    
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}
}

然後我們再在Activity這樣使用:

SQLHelper helper = new SQLHelper(this, "Student.db", null, 1);

版本號(不能為負數)是為了方便以後升級數據庫,由於是初版, 版本號就是1。

 SQLiteOpenHelper是一個抽象的數據庫操作類,首先執行的是OnCreate,這裡我們可 以執行創建表等動作,但該方法並沒有真正創建數據庫,創建數據庫是在以下的情況:

SQLiteDatabase database = helper.getWritableDatabase();

調用getWritableDatabase()或者getReadableDatabase ()時,就會真正創建數據庫。

創建或打開數據庫後,我們就可以建表。

使用數據庫並不是一件 難事,難就難在如何建模。這裡我們就只建三個簡單的表:

Teacher(teacherId, name, classId), Student(studentId,name,classId),Class(classId,className,studentId,teacherId),其中 teacherId,studentId,classId分別是Teacher,Student和Class的主鍵。

SQLite可以直接執行SQL語句 ,所以,我們可以這樣建表:

String CREATE_CLASS = "Create Table If Not Exists Class

(classId integer primary key,"
               + "className varchar(100),"
               + "studentId integer References Student(studentId),"
               + "teacherId integer References Teacher(teacherId))";
SQLiteDatabase db = helper.getWritableDatabase();
db.execSQL(CREATE_CLASS);

每次使用完數據庫都要記得及時關閉數據庫:

db.close ();

按照上面的方法,我們可以很快的建好三個表。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved