diff options
Diffstat (limited to 'src/net/cbaines/suma/DatabaseHelper.java')
-rw-r--r-- | src/net/cbaines/suma/DatabaseHelper.java | 110 |
1 files changed, 6 insertions, 104 deletions
diff --git a/src/net/cbaines/suma/DatabaseHelper.java b/src/net/cbaines/suma/DatabaseHelper.java index 17ef720..d039518 100644 --- a/src/net/cbaines/suma/DatabaseHelper.java +++ b/src/net/cbaines/suma/DatabaseHelper.java @@ -19,11 +19,6 @@ package net.cbaines.suma; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.sql.SQLException; import android.content.Context; @@ -35,12 +30,7 @@ import com.j256.ormlite.dao.Dao; import com.j256.ormlite.support.ConnectionSource; import com.j256.ormlite.table.TableUtils; -public class DatabaseHelper extends OrmLiteSqliteOpenHelper { - - private static final String DATABASE_PATH = "/data/data/net.cbaines.suma/databases/"; - private static final String DATABASE_NAME = "data.db"; - - private static final int DATABASE_VERSION = 41; +public class DatabaseHelper extends OrmLiteSqliteOpenHelper implements Preferences { private static final String TAG = "DatabaseHelper"; @@ -52,24 +42,25 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { private Dao<Site, String> siteDao = null; private Dao<Bus, Integer> busDao = null; - private Context context; + volatile boolean doneUpgrade = false; public DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION, R.raw.ormlite_config); Log.i(TAG, "Database Helper created"); - this.context = context; } @Override public void onCreate(SQLiteDatabase database, ConnectionSource connectionSource) { try { - Log.i(DatabaseHelper.class.getName(), "onCreate"); + Log.i(TAG, "onCreate"); + TableUtils.createTable(connectionSource, Building.class); TableUtils.createTable(connectionSource, BusStop.class); TableUtils.createTable(connectionSource, BusRoute.class); TableUtils.createTable(connectionSource, RouteStop.class); TableUtils.createTable(connectionSource, Site.class); TableUtils.createTable(connectionSource, Bus.class); + } catch (SQLException e) { Log.e(DatabaseHelper.class.getName(), "Can't create database", e); throw new RuntimeException(e); @@ -78,13 +69,8 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { @Override public void onUpgrade(SQLiteDatabase database, ConnectionSource connectionSource, int oldVersion, int newVersion) { - try { - Log.i(DatabaseHelper.class.getName(), "onUpgrade"); - copyDataBase(); - } catch (IOException e) { - e.printStackTrace(); - } + Log.i(TAG, "onUpgrade"); } @@ -153,90 +139,6 @@ public class DatabaseHelper extends OrmLiteSqliteOpenHelper { * * @return true if it exists, false if it doesn't */ - public boolean checkDataBase() { - Log.i(TAG, "Check database"); - - /* - * SQLiteDatabase checkDB = null; - * - * try { String myPath = DATABASE_PATH + DATABASE_NAME; checkDB = SQLiteDatabase.openDatabase(myPath, null, - * SQLiteDatabase.OPEN_READONLY); } catch (SQLiteException e) { - * - * // database does't exist yet. - * - * } - * - * if (checkDB != null) { - * - * checkDB.close(); - * - * } - * - * Log.i(TAG, "Finished checking database"); return checkDB != null ? true : false; - */ - - File dbFile = new File(DATABASE_PATH + DATABASE_NAME); - return dbFile.exists(); - } - - /** - * Copies your database from your local assets-folder to the just created empty database in the system folder, from where it - * can be accessed and handled. This is done by transfering bytestream. - * */ - public void copyDataBase() throws IOException { - Log.i(TAG, "Begining copy database"); - - InputStream myInput = context.getAssets().open(DATABASE_NAME); - - // Path to the just created empty db - String outFileName = DATABASE_PATH + DATABASE_NAME; - - File database = new File(outFileName); - if (database.exists()) { - database.delete(); - } - - // Open the empty db as the output stream - OutputStream myOutput = new FileOutputStream(outFileName); - - // transfer bytes from the inputfile to the outputfile - byte[] buffer = new byte[1024]; - int length; - while ((length = myInput.read(buffer)) > 0) { - myOutput.write(buffer, 0, length); - } - - // Close the streams - myOutput.flush(); - myOutput.close(); - myInput.close(); - - // getWritableDatabase().close(); - - Log.i(TAG, "Finished copying db"); - - } - - /** - * Creates a empty database on the system and rewrites it with your own database. - * */ - public void createDataBase() throws IOException { - - boolean dbExist = checkDataBase(); - - if (dbExist) { - // do nothing - database already exist - } else { - - try { - Log.i(TAG, "Copy database"); - copyDataBase(); - } catch (IOException e) { - throw new Error("Error copying database"); - } - } - - } /** * Close the database connections and clear any cached DAOs. |