android app升级 数据库表改动,android – 在app执行一次后将新表添加到数据库

我正在

Android中创建一个简单的数据库.我想在代码执行一次后添加新表.现在,每当我尝试在EventDataSqlHelper类中更改我的onCreate()方法时,我的应用程序崩溃了.

这可能是因为与SQLiteOpenHelper关联的onCreate()仅在首次运行app时执行,我们无法对其进行进一步修改.

我还尝试编写一个单独的函数来添加新表.它在第一次执行时效果很好.但是因为在第二次执行时它会覆盖它以前的数据库,因此它会导致应用程序崩溃.

如果已经创建了数据库,有没有办法将新表添加到数据库?

package org.example.sqldemo;

import android.content.Context;

import android.database.sqlite.SQLiteDatabase;

import android.database.sqlite.SQLiteOpenHelper;

import android.provider.BaseColumns;

import android.util.Log;

/** Helper to the database, manages versions and creation */

public class EventDataSQLHelper extends SQLiteOpenHelper {

private static final String DATABASE_NAME = "events.db";

private static final int DATABASE_VERSION = 1;

// Table name

public static final String TABLE = "events";

// Columns

public static final String TIME = "time";

public static final String TITLE = "title";

public EventDataSQLHelper(Context context) {

super(context, DATABASE_NAME, null, DATABASE_VERSION);

}

@Override

public void onCreate(SQLiteDatabase db) {

String sql = "create table " + TABLE + "( " + BaseColumns._ID

+ " integer primary key autoincrement, " + TIME + " integer, "

+ TITLE + " text not null);";

Log.d("EventsData", "onCreate: " + sql);

db.execSQL(sql);

}

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值