· 8 years ago · Aug 18, 2018, 09:24 AM
1SQLLite and Android Exception
2CREATE TABLE IF NOT EXISTS events (
3_id INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT,
4source_device_id INT,
5timestamp INT NOT NULL,
6processed BOOLEAN DEFAULT FALSE,
7event_type TINYINT NOT NULL,
8payload BLOB);
9
10CREATE INDEX IF NOT EXISTS events_unprocessed ON events (processed, _id);
11
12public void onCreate(SQLiteDatabase db) {
13 InputStream schemaStream = context.getResources().openRawResource(R.raw.logdb_schema);
14 Scanner schemaScanner = new Scanner(schemaStream, "UTF-8");
15 schemaScanner.useDelimiter(";");
16
17 Log.i(TAG, "Creating database");
18 try {
19 db.beginTransaction();
20 while (schemaScanner.hasNext()) {
21 String statement = schemaScanner.next();
22 Log.d(TAG, "Creating database: " + statement);
23 db.execSQL(statement);
24 }
25 db.setTransactionSuccessful();
26 }
27 finally {
28 db.endTransaction();
29 }
30}