X-Git-Url: http://git.pk910.de/?p=DHBWCampusApp.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2Fdatabase%2FDatabaseManager.java;h=ccf9a0424297fc8bdd1485304941bd06e2d9f3ea;hp=326b914be070117ff8548e7413812ae4734e12f6;hb=b5169aeadcc32f9c7388447e5bf9096936837072;hpb=60b04973e203241d319e2d8ee6c150d641b02a65 diff --git a/app/src/main/java/de/dhbwloe/campusapp/database/DatabaseManager.java b/app/src/main/java/de/dhbwloe/campusapp/database/DatabaseManager.java index 326b914..ccf9a04 100644 --- a/app/src/main/java/de/dhbwloe/campusapp/database/DatabaseManager.java +++ b/app/src/main/java/de/dhbwloe/campusapp/database/DatabaseManager.java @@ -43,8 +43,15 @@ public class DatabaseManager { AppContext = context; } - public void initializeDatabase() { + private void openDatabase() { + if(database != null) + return; + database = AppContext.getMainActivity().openOrCreateDatabase(DATABASE_NAME, Activity.MODE_PRIVATE, null); + } + + public void initializeDatabase() { + openDatabase(); database.execSQL("CREATE TABLE IF NOT EXISTS Version(Version INT);"); Cursor resultSet = database.rawQuery("Select * from Version", null); @@ -162,6 +169,7 @@ public class DatabaseManager { } public void addSearchIndices(SearchIndices[] indices) { + openDatabase(); for(int i = 0; i < indices.length; i++) { String[] whereArgs = new String[] { indices[i].getKeyName() @@ -195,6 +203,7 @@ public class DatabaseManager { } public SearchIndices[] performSearchRequest(String query, int maxResults) { + openDatabase(); String[] whereArgs = new String[] { "%" + query + "%" }; @@ -228,6 +237,7 @@ public class DatabaseManager { } public void setRuntimeCache(String name, String value) { + openDatabase(); long now = (new Date()).getTime() / 1000; String[] whereArgs = new String[] { name @@ -261,6 +271,7 @@ public class DatabaseManager { } public String getRuntimeCache(String name) { + openDatabase(); String value = null; String[] whereArgs = new String[] { name @@ -274,6 +285,7 @@ public class DatabaseManager { } public void addNfcCardData(NfcCardData nfcCardData) { + openDatabase(); String[] whereArgs = new String[] { Integer.toString(nfcCardData.getUniqueId()), Long.toString(nfcCardData.getLastUpdate()) @@ -306,6 +318,7 @@ public class DatabaseManager { } public NfcCardData[] getNfcCardData(int lastLimit) { + openDatabase(); String value = null; Cursor resultSet; if(lastLimit > 0) { @@ -329,6 +342,7 @@ public class DatabaseManager { } public NfcCardData getLatestNfcCardData(int cardId) { + openDatabase(); String value = null; String[] whereArgs = { Integer.toString(cardId) @@ -343,66 +357,77 @@ public class DatabaseManager { } public void updateCourseCalendar(CourseEvent event) { + openDatabase(); if(vorlesungsplanDBHelper == null) vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database); vorlesungsplanDBHelper.updateCourseCalendar(event); } public CourseEvent[] getCourseCalendarEvents(String coursename, long timeFrom, long timeTo) { + openDatabase(); if(vorlesungsplanDBHelper == null) vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database); return vorlesungsplanDBHelper.getCourseCalendarEvents(coursename, timeFrom, timeTo); } public CourseGroup getCourseGroup(int courseGroupId) { + openDatabase(); if(vorlesungsplanDBHelper == null) vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database); return vorlesungsplanDBHelper.getCourseGroup(courseGroupId); } public CourseGroup getCourseGroup(String coursename, String groupname) { + openDatabase(); if(vorlesungsplanDBHelper == null) vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database); return vorlesungsplanDBHelper.getCourseGroup(coursename, groupname); } public CourseGroup addCourseGroup(String coursename, String groupname) { + openDatabase(); if(vorlesungsplanDBHelper == null) vorlesungsplanDBHelper = new VorlesungsplanDatabaseHelper(AppContext, database); return vorlesungsplanDBHelper.addCourseGroup(coursename, groupname); } public void updateMensaTagesplan(MensaTagesplan plan) { + openDatabase(); if(mensaplanDBHelper == null) mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database); mensaplanDBHelper.updateMensaTagesplan(plan); } public MensaTagesplan[] getMensaTagesplan(long timeFrom, long timeTo) { + openDatabase(); if(mensaplanDBHelper == null) mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database); return mensaplanDBHelper.getMensaTagesplan(timeFrom, timeTo); } public long[] getDaysWithPlanData(long timeFrom, long timeTo) { + openDatabase(); if(mensaplanDBHelper == null) mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database); return mensaplanDBHelper.getDaysWithPlanData(timeFrom, timeTo); } public long[] getWeeksWithPlanData(long timeFrom, long timeTo) { + openDatabase(); if(mensaplanDBHelper == null) mensaplanDBHelper = new MensaplanDatabaseHelper(AppContext, database); return mensaplanDBHelper.getWeeksWithPlanData(timeFrom, timeTo); } public void updateNewsItem(NewsItem news) { + openDatabase(); if(newsDBHelper == null) newsDBHelper = new NewsDatabaseHelper(AppContext, database); newsDBHelper.updateNewsItem(news); } public NewsItem[] getNewsItems(String source, long timeFrom, long timeTo) { + openDatabase(); if(newsDBHelper == null) newsDBHelper = new NewsDatabaseHelper(AppContext, database); return newsDBHelper.getNewsItems(source, timeFrom, timeTo);