| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- package com.baoshi.piece.db;
- import android.content.Context;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- import android.util.Log;
- public class DBHelper extends SQLiteOpenHelper {
- private static final String DB_NAME = "delivery_db.db";
- private static final int DB_VERSION = 1;
- // 送货记录表结构
- private static final String CREATE_TABLE_DELIVERY =
- "CREATE TABLE delivery (" +
- "id INTEGER PRIMARY KEY AUTOINCREMENT," +
- "deliveryNo TEXT NOT NULL UNIQUE," + // 送货单号(唯一)
- "machine TEXT NOT NULL," + // 机器编号
- "operator TEXT NOT NULL," + // 操作员
- "operatorName TEXT NOT NULL," + // 操作员名称
- "operationTime TEXT NOT NULL," + // 操作时间(ISO8601格式)
- "isPush INTEGER DEFAULT 1)"; // 0=待上传, 1=已上传
- public DBHelper(Context context) {
- super(context, DB_NAME, null, DB_VERSION);
- // 开启WAL模式 日志监控
- SQLiteDatabase db = getWritableDatabase();
- db.enableWriteAheadLogging(); // 开启WAL模式
- Log.d("DB_PATH", db.getPath()); // 输出数据库路径
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- db.execSQL(CREATE_TABLE_DELIVERY);
- // 为唯一键添加索引
- db.execSQL("CREATE UNIQUE INDEX idx_delivery_no ON delivery(deliveryNo)");
- db.execSQL("CREATE INDEX idx_operation_time ON delivery(operationTime DESC)");
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- db.execSQL("DROP TABLE IF EXISTS delivery");
- onCreate(db);
- }
- }
|