Android編程之數(shù)據(jù)庫的創(chuàng)建方法詳解
本文實例講述了Android編程之數(shù)據(jù)庫的創(chuàng)建方法。分享給大家供大家參考,具體如下:
主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;
//創(chuàng)建一個幫助類對象
MySqliteOpenHelper mySqliteOpenHelper = new MySqliteOpenHelper(mContext);
//調(diào)用getReadableDatabase方法,來初始化數(shù)據(jù)庫的創(chuàng)建
SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();
}
}
同一目錄下創(chuàng)建一個類繼承于數(shù)據(jù)庫
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:數(shù)據(jù)庫文件的名稱 factory:用來創(chuàng)建cursor對象,默認為null
//version:數(shù)據(jù)庫的版本號,從1開始,如果發(fā)生改變,onUpgrade方法將會調(diào)用,4.0之后只能升不能將
super(context, "info.db", null,1);
}
//oncreate方法是數(shù)據(jù)庫第一次創(chuàng)建的時候會被調(diào)用; 特別適合做表結(jié)構(gòu)的初始化,需要執(zhí)行sql語句;SQLiteDatabase db可以用來執(zhí)行sql語句
@Override
public void onCreate(SQLiteDatabase db) {
//通過SQLiteDatabase執(zhí)行一個創(chuàng)建表的sql語句
db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20))");
}
//onUpgrade數(shù)據(jù)庫版本號發(fā)生改變時才會執(zhí)行; 特別適合做表結(jié)構(gòu)的修改
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
//添加一個phone字段
db.execSQL("alter table info add phone varchar(11)");
}
}
筆記:
什么情況下我們才用數(shù)據(jù)庫做數(shù)據(jù)存儲? 大量數(shù)據(jù)結(jié)構(gòu)相同的數(shù)據(jù)需要存儲時。
mysql sqlserver2000 sqlite 嵌入式 輕量級
SqliteOpenHelper
創(chuàng)建數(shù)據(jù)庫步驟:
1.創(chuàng)建一個類繼承SqliteOpenHelper,需要添加一個構(gòu)造方法,實現(xiàn)兩個方法oncreate ,onupgrade
構(gòu)造方法中的參數(shù)介紹:
context :上下文 , name:數(shù)據(jù)庫文件的名稱 factory:用來創(chuàng)建cursor對象,默認為null
version:數(shù)據(jù)庫的版本號,從1開始,如果發(fā)生改變,onUpgrade方法將會調(diào)用,4.0之后只能升不能降
super(context, "info.db", null,1);
2.創(chuàng)建這個幫助類的一個對象,調(diào)用getReadableDatabase()方法,會幫助我們創(chuàng)建打開一個數(shù)據(jù)庫
3.復寫oncreate和onupgrdate方法:
oncreate方法是數(shù)據(jù)庫第一次創(chuàng)建的時候會被調(diào)用; 特別適合做表結(jié)構(gòu)的初始化,需要執(zhí)行sql語句;SQLiteDatabase db可以用來執(zhí)行sql語句
onUpgrade數(shù)據(jù)庫版本號發(fā)生改變時才會執(zhí)行; 特別適合做表結(jié)構(gòu)的修改
幫助類對象中的getWritableDatabase 和 getReadableDatabase都可以幫助我們獲取一個數(shù)據(jù)庫操作對象SqliteDatabase.
區(qū)別:
getReadableDatabase:
先嘗試以讀寫方式打開數(shù)據(jù)庫,如果磁盤空間滿了,他會重新嘗試以只讀方式打開數(shù)據(jù)庫。
getWritableDatabase:
直接以讀寫方式打開數(shù)據(jù)庫,如果磁盤空間滿了,就直接報錯。
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android操作SQLite數(shù)據(jù)庫技巧總結(jié)》、《Android數(shù)據(jù)庫操作技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android文件操作技巧匯總》、《Android開發(fā)入門與進階教程》、《Android資源操作技巧匯總》、《Android視圖View技巧總結(jié)》及《Android控件用法總結(jié)》
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android數(shù)據(jù)庫SD卡創(chuàng)建和圖片存取操作
- Android創(chuàng)建和使用數(shù)據(jù)庫SQLIte
- Android實現(xiàn)創(chuàng)建或升級數(shù)據(jù)庫時執(zhí)行語句
- android創(chuàng)建數(shù)據(jù)庫(SQLite)保存圖片示例
- Android SQLite數(shù)據(jù)庫增刪改查操作的使用詳解
- Android使用SQLite數(shù)據(jù)庫的簡單實例
- Android中操作SQLite數(shù)據(jù)庫快速入門教程
- Android實現(xiàn)將已發(fā)送的短信寫入短信數(shù)據(jù)庫的方法
- Android SQLite數(shù)據(jù)庫增刪改查操作的案例分析
- 實例講解Android App使用自帶的SQLite數(shù)據(jù)庫的基本方法
- Android操作SQLite數(shù)據(jù)庫(增、刪、改、查、分頁等)及ListView顯示數(shù)據(jù)的方法詳解
相關(guān)文章
Android開發(fā)之圓角矩形創(chuàng)建工具RoundRect類定義與用法分析
這篇文章主要介紹了Android開發(fā)之圓角矩形創(chuàng)建工具RoundRect類定義與用法,結(jié)合完整實例形式分析了Android圓角矩形工具類的定義與簡單使用技巧,需要的朋友可以參考下2018-01-01
TextVie獲取顯示字符串的寬度之Android開發(fā)
在項目開展過程中遇到問題要判斷textview是否需換行,要解決此問題首先判斷textview要顯示的字符串的寬度是否超過我設(shè)定的寬度,若超過則執(zhí)行換行,需要的朋友可以參考下2015-07-07
Android開發(fā)之圖形圖像與動畫(一)Paint和Canvas類學習
Paint類代表畫筆,用來描述圖形的顏色和風格,如線寬,顏色,透明度和填充效果等信息;Canvas類代表畫布,通過該類提供的構(gòu)造方法,可以繪制各種圖形;感興趣的朋友可以了解下啊,希望本文對你有所幫助2013-01-01
ActivityManagerService廣播注冊與發(fā)送示例解析
這篇文章主要為大家介紹了ActivityManagerService廣播注冊與發(fā)送示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03

