added packages for dao and repository

This commit is contained in:
Sem van der Hoeven
2020-12-14 12:03:47 +01:00
parent 08215e18c5
commit 204d45cece
5 changed files with 38 additions and 11 deletions

View File

@@ -3,15 +3,14 @@ package com.a1.nextlocation.data.db;
import android.content.Context; import android.content.Context;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.room.DatabaseConfiguration;
import androidx.room.InvalidationTracker;
import androidx.room.Room; import androidx.room.Room;
import androidx.room.RoomDatabase; import androidx.room.RoomDatabase;
import androidx.sqlite.db.SupportSQLiteDatabase; import androidx.sqlite.db.SupportSQLiteDatabase;
import androidx.sqlite.db.SupportSQLiteOpenHelper;
import com.a1.nextlocation.data.Coupon; import com.a1.nextlocation.data.Coupon;
import com.a1.nextlocation.data.Route; import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.data.db.dao.CouponDao;
import com.a1.nextlocation.data.db.dao.RouteDao;
import java.util.concurrent.ExecutorService; import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors; import java.util.concurrent.Executors;
@@ -26,7 +25,7 @@ public abstract class Database extends RoomDatabase {
private static final int NUMBER_OF_THREADS = 4; private static final int NUMBER_OF_THREADS = 4;
static final ExecutorService databaseWriterExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); static final ExecutorService databaseWriterExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS);
static Database getDatabase(final Context context) { public static Database getDatabase(final Context context) {
if (INSTANCE == null){ if (INSTANCE == null){
synchronized (Database.class) { synchronized (Database.class) {
if (INSTANCE == null) { if (INSTANCE == null) {

View File

@@ -1,4 +1,4 @@
package com.a1.nextlocation.data.db; package com.a1.nextlocation.data.db.dao;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.room.Dao; import androidx.room.Dao;

View File

@@ -1,4 +1,4 @@
package com.a1.nextlocation.data.db; package com.a1.nextlocation.data.db.dao;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import androidx.room.Dao; import androidx.room.Dao;
@@ -22,9 +22,6 @@ public interface RouteDao {
@Query("SELECT * FROM route") @Query("SELECT * FROM route")
LiveData<List<Route>> getAll(); LiveData<List<Route>> getAll();
@Update
void update(Route route);
@Query("SELECT * FROM route where name = :name LIMIT 1") @Query("SELECT * FROM route where name = :name LIMIT 1")
Route getRouteByName(String name); Route getRouteByName(String name);
} }

View File

@@ -1,11 +1,12 @@
package com.a1.nextlocation.data.db; package com.a1.nextlocation.data.db.repositories;
import android.app.Application;
import android.content.Context; import android.content.Context;
import androidx.lifecycle.LiveData; import androidx.lifecycle.LiveData;
import com.a1.nextlocation.data.Coupon; import com.a1.nextlocation.data.Coupon;
import com.a1.nextlocation.data.db.dao.CouponDao;
import com.a1.nextlocation.data.db.Database;
import java.util.List; import java.util.List;

View File

@@ -0,0 +1,30 @@
package com.a1.nextlocation.data.db.repositories;
import android.content.Context;
import androidx.lifecycle.LiveData;
import com.a1.nextlocation.data.Route;
import com.a1.nextlocation.data.db.Database;
import com.a1.nextlocation.data.db.dao.RouteDao;
import java.util.List;
public class RouteRepository {
private RouteDao mRouteDao;
private LiveData<List<Route>> mAllRoutes;
public RouteRepository(Context context) {
Database db = Database.getDatabase(context);
mRouteDao = db.routeDao();
mAllRoutes = mRouteDao.getAll();
}
public LiveData<List<Route>> getAllRoutes() {
return mAllRoutes;
}
public Route getRouteByName(String name) {
return mRouteDao.getRouteByName(name);
}
}