package com.tejia.lijin.app.sqlite; import android.content.Context; import android.database.DatabaseErrorHandler; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import com.wpc.library.util.common.PackageUtils2; /** * Created by weikou2015 on 2018/10/12. */ public class CustomServiceSQLiteOpenHelper extends SQLiteOpenHelper { private Context mContext; private static final String DATABASE_NAME = "rebate.db";//数据库名字 private static final int DATABASE_VERSION = 1;//数据库版本号 private static final String CREATE_TABLE = "create table custom_service (" + "id integer primary key autoincrement," + "stemfrom int, "//0本地发送的消息,1服务器返回的消息 + "key text, "//发送的消息关键字 + "content text, "//服务器返回的内容 + "contenttype text, "//返回内容类型 text纯文本,kefu客服信息 + "status text, "//是否解决了用户问题 0解决,1没有解决 + "createtime bigint)";//数据库里的表 //品牌数据库 private static final String Brand_TABLE = "create table brand_table (" + "id integer primary key autoincrement," + "brandid text, "// 品牌返利 indicator ID + "brandname text "//品牌返利 indicator 名字 + ")";//数据库里的表 //首页弹框+配置信息 private static final String HomeConfig_TABLE = "create table homeconfig_table (" + "id integer primary key autoincrement," + "adid text, "// 唯一id + "adtime text "//打开时间 + ")";//数据库里的表 //用户配置信息 private static final String User_TABLE = "create table user_table (" + "id integer primary key autoincrement," + "defaultid text, "// 用户ID 默认1001 + "userid text, "// 用户UserID + "sharecheck text, "// 创建分享勾选分享 + "time text "//登陆时间 + ")";//数据库里的表 public CustomServiceSQLiteOpenHelper(Context context) { //context :上下文 , name:数据库文件的名称 factory:用来创建cursor对象,默认为null //version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能将 this(context, DATABASE_NAME, null, PackageUtils2.getVersionCode(context)); mContext = context; } /** * @param context * @param version-数据库版本 */ public CustomServiceSQLiteOpenHelper(Context context, int version) { //context :上下文 , name:数据库文件的名称 factory:用来创建cursor对象,默认为null //version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能将 this(context, DATABASE_NAME, null, PackageUtils2.getVersionCode(context)); mContext = context; } public CustomServiceSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } public CustomServiceSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) { super(context, name, factory, version, errorHandler); } //oncreate方法是数据库第一次创建的时候会被调用; 特别适合做表结构的初始化,需要执行sql语句;SQLiteDatabase db可以用来执行sql语句 @Override public void onCreate(SQLiteDatabase db) { //通过SQLiteDatabase执行一个创建表的sql语句 try { db.execSQL(CREATE_TABLE); } catch (Exception e) { } try { db.execSQL(Brand_TABLE);//品牌 } catch (Exception e) { } try { db.execSQL(HomeConfig_TABLE);//首页弹框+配置信息 } catch (Exception e) { } try { db.execSQL(User_TABLE);//用户配置信息 } catch (Exception e) { } } //onUpgrade数据库版本号发生改变时才会执行; 特别适合做表结构的修改 @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { this.onCreate(db); } }