首先在android中创建数据库

时间:2015-02-21 11:36:20

标签: android

我有一个应用程序,我现在没有使用数据库。现在我将更新我的应用程序,这个应用程序包含一个数据库。我很好奇。这个方法将调用数据库中更新的手机{{ 1}}或onCreate

2 个答案:

答案 0 :(得分:2)

如果db不存在,第一次运行onCreate()方法。

如果db存在并且您当前的db版本高于安装版本,则onUpgrade()将运行,您应该检查onUpgrade方法中的版本并执行您想要的操作。

这是dbHandler.java类的一个示例。

    package com.app.util;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;

/**
 * Created by Milad
 */
public class DBHandler extends SQLiteOpenHelper {


    private static final String DB_NAME = "YourDbName";
    private static final int DB_VERSION = 1;


    public DBHandler(Context context) {
        super(context, DB_NAME, null, DB_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {

        //Create firstTable
        db.execSQL("CREATE TABLE TEST ( _id INTEGER PRIMARY KEY AUTOINCREMENT, Name TEXT);");

    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
        if (oldVersion >2) {
            db.execSQL("DROP TABLE IF EXISTS TEST");
            onCreate(db);
        }
    }
}

答案 1 :(得分:1)

首次创建数据库时,将调用onCreate()方法。如果升级数据库版本,则将调用该时间onUpgrade()方法。