Back to project page SQLiteDatabase.
The source code is released under:
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE Version 2, December 2004 Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Everyone is permitted to copy and distribute v...
If you think the Android project SQLiteDatabase listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
/* * Intellectual properties of Supun Lakshan Wanigarathna Dissanayake * Copyright (c) 2013, Supun Lakshan Wanigarathna Dissanayake. All rights reserved. * Created on : Jun 10, 2014, 9:19:37 AM *///from w w w . java2 s .c o m package org.xfinity.android_sqlite_database_example.db; import android.content.Context; import android.content.res.AssetManager; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import org.jetbrains.annotations.NotNull; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; /** * @author Supun Lakshan Wanigarathna Dissanayake * @mobile +94711290392 * @email supunlakshan.xfinity@gmail.com */ public class SQLiteDatabaseHelper extends SQLiteOpenHelper { private static final String DATABASE_NAME = "my_db"; private static final int VERSION = 1; private static volatile SQLiteDatabaseHelper databaseHelper; private final AssetManager assets; private SQLiteDatabaseHelper(Context context) { super(context, DATABASE_NAME, null, VERSION); assets = context.getAssets(); } public static synchronized SQLiteDatabaseHelper getDatabaseInstance(@NotNull Context context) { if (databaseHelper == null) { databaseHelper = new SQLiteDatabaseHelper(context.getApplicationContext()); } return databaseHelper; } @Override public void onCreate(SQLiteDatabase db) { InputStream databaseStream = null; BufferedReader bufferedReader = null; try { //database.sql is the file we wrote our database structure //reads the database.sql file databaseStream = assets.open("database.sql"); bufferedReader = new BufferedReader(new InputStreamReader(databaseStream)); StringBuilder databaseDeclaration = new StringBuilder(); String line; while ((line = bufferedReader.readLine()) != null) { databaseDeclaration.append(line.replace("\t", "")); } //split from ; to get list of sql queries for (String sql : databaseDeclaration.toString().split(";")) { String trimmedQuery; if (!(trimmedQuery = sql.trim()).isEmpty()) { db.execSQL(trimmedQuery); } } //enable foreign key constraint db.execSQL("PRAGMA foreign_keys = ON"); } catch (IOException ex) { ex.printStackTrace(); } finally { //close bufferedReader if (bufferedReader != null) { try { bufferedReader.close(); } catch (IOException e) { e.printStackTrace(); } } //close databaseStream if (databaseStream != null) { try { databaseStream.close(); } catch (IOException e) { e.printStackTrace(); } } } } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { onCreate(db); } @Override public synchronized SQLiteDatabase getWritableDatabase() { SQLiteDatabase writableDatabase = super.getWritableDatabase(); writableDatabase.execSQL("PRAGMA foreign_keys = ON"); return writableDatabase; } @Override public synchronized SQLiteDatabase getReadableDatabase() { return super.getReadableDatabase(); } }