Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> android 數據庫的創建,android數據庫創建

android 數據庫的創建,android數據庫創建

編輯:關於android開發

android 數據庫的創建,android數據庫創建


主java

package com.itheima.createdatabase;

import android.app.Activity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;

public class MainActivity extends Activity {

    private Context mContext;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mContext = this;
        //創建一個幫助類對象
        MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext);
        //調用getReadableDatabase方法,來初始化數據庫的創建
        SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
        
        
        
    }


   
    
}

 

同一目錄下創建一個類繼承於數據庫

package com.itheima.createdatabase;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;

public class MySqliteOpenHelper extends SQLiteOpenHelper {

    public MySqliteOpenHelper(Context context) {
        
        //context :上下文   , name:數據庫文件的名稱    factory:用來創建cursor對象,默認為null 
        //version:數據庫的版本號,從1開始,如果發生改變,onUpgrade方法將會調用,4.0之後只能升不能將
        super(context, "info.db", null,1);
    }

    //oncreate方法是數據庫第一次創建的時候會被調用;  特別適合做表結構的初始化,需要執行sql語句;SQLiteDatabase db可以用來執行sql語句
    @Override
    public void onCreate(SQLiteDatabase db) {
        //通過SQLiteDatabase執行一個創建表的sql語句
        db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20))");
    }

    //onUpgrade數據庫版本號發生改變時才會執行; 特別適合做表結構的修改
    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        //添加一個phone字段
        db.execSQL("alter table info add phone varchar(11)");
    }

}

 

老師筆記

什麼情況下我們才用數據庫做數據存儲? 大量數據結構相同的數據需要存儲時。
    mysql sqlserver2000  sqlite 嵌入式 輕量級

    SqliteOpenHelper

    創建數據庫步驟:
    1.創建一個類集成SqliteOpenHelper,需要添加一個構造方法,實現兩個方法oncreate ,onupgrade
        構造方法中的參數介紹:

        //context :上下文   , name:數據庫文件的名稱    factory:用來創建cursor對象,默認為null
        //version:數據庫的版本號,從1開始,如果發生改變,onUpgrade方法將會調用,4.0之後只能升不能將
        super(context, "info.db", null,1);
        

    2.創建這個幫助類的一個對象,調用getReadableDatabase()方法,會幫助我們創建打開一個數據庫

    3.復寫oncreate和onupgrdate方法:
        oncreate方法是數據庫第一次創建的時候會被調用;  特別適合做表結構的初始化,需要執行sql語句;SQLiteDatabase db可以用來執行sql語句
        
        //onUpgrade數據庫版本號發生改變時才會執行; 特別適合做表結構的修改



    幫助類對象中的getWritableDatabase 和 getReadableDatabase都可以幫助我們獲取一個數據庫操作對象SqliteDatabase.

    區別:
    getReadableDatabase:
        先嘗試以讀寫方式打開數據庫,如果磁盤空間滿了,他會重新嘗試以只讀方式打開數據庫。
    getWritableDatabase:
        直接以讀寫方式打開數據庫,如果磁盤空間滿了,就直接報錯。

 

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