From 6a07ce77f0f9f1c3e6ddb575093fe29baaf54961 Mon Sep 17 00:00:00 2001 From: Sem van der Hoeven Date: Thu, 17 Dec 2020 10:32:28 +0100 Subject: [PATCH] remove room stuff --- app/build.gradle | 5 -- app/src/main/assets/database/databse.db | 0 .../java/com/a1/nextlocation/data/Coupon.java | 10 +-- .../java/com/a1/nextlocation/data/Data.java | 19 ------ .../com/a1/nextlocation/data/Location.java | 6 -- .../java/com/a1/nextlocation/data/Route.java | 15 ++--- .../data/db/CouponListTypeConverter.java | 33 ---------- .../com/a1/nextlocation/data/db/Database.java | 62 ------------------- .../data/db/LocationListTypeConverter.java | 31 ---------- .../nextlocation/data/db/dao/CouponDao.java | 34 ---------- .../a1/nextlocation/data/db/dao/DataDao.java | 31 ---------- .../nextlocation/data/db/dao/LocationDao.java | 27 -------- .../a1/nextlocation/data/db/dao/RouteDao.java | 27 -------- .../db/repositories/CouponRepository.java | 42 ------------- .../data/db/repositories/DataRepository.java | 40 ------------ .../db/repositories/LocationRepository.java | 38 ------------ .../data/db/repositories/RouteRepository.java | 34 ---------- 17 files changed, 6 insertions(+), 448 deletions(-) create mode 100644 app/src/main/assets/database/databse.db delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/CouponListTypeConverter.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/Database.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/LocationListTypeConverter.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/dao/DataDao.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/DataRepository.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java delete mode 100644 app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java diff --git a/app/build.gradle b/app/build.gradle index ed7975e..9d6f2cc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,11 +30,6 @@ android { dependencies { - def room_version = "2.2.5" - - implementation "androidx.room:room-runtime:$room_version" - annotationProcessor "androidx.room:room-compiler:$room_version" - //gson implementation 'com.google.code.gson:gson:2.8.6' diff --git a/app/src/main/assets/database/databse.db b/app/src/main/assets/database/databse.db new file mode 100644 index 0000000..e69de29 diff --git a/app/src/main/java/com/a1/nextlocation/data/Coupon.java b/app/src/main/java/com/a1/nextlocation/data/Coupon.java index 14456a5..db766e3 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Coupon.java +++ b/app/src/main/java/com/a1/nextlocation/data/Coupon.java @@ -1,24 +1,18 @@ package com.a1.nextlocation.data; import androidx.annotation.NonNull; -import androidx.room.ColumnInfo; -import androidx.room.Entity; -import androidx.room.PrimaryKey; import org.jetbrains.annotations.NotNull; -@Entity(tableName = "coupon") + public class Coupon { /** * fields need to be public for the database to be able to use them */ - @PrimaryKey @NonNull - @ColumnInfo(name = "code") private String code; - - @ColumnInfo(name = "reward") + @NonNull private String reward; diff --git a/app/src/main/java/com/a1/nextlocation/data/Data.java b/app/src/main/java/com/a1/nextlocation/data/Data.java index aefc7d5..17affd4 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Data.java +++ b/app/src/main/java/com/a1/nextlocation/data/Data.java @@ -1,43 +1,24 @@ package com.a1.nextlocation.data; import androidx.annotation.NonNull; -import androidx.room.ColumnInfo; -import androidx.room.Entity; -import androidx.room.Ignore; -import androidx.room.PrimaryKey; -import androidx.room.TypeConverters; - -import com.a1.nextlocation.data.db.CouponListTypeConverter; import java.util.ArrayList; import java.util.List; -@Entity(tableName = "userdata") public class Data { - - - @PrimaryKey - @NonNull - @ColumnInfo(name = "distance_traveled") private float distanceTraveled; - @ColumnInfo(name = "locations_visited") private int locationsVisited; - @ColumnInfo(name = "total_time") private int totalTime; - @TypeConverters(CouponListTypeConverter.class) private List couponList; - @Ignore private Location nextLocation; - @Ignore private Location lastLocation; - @Ignore private Route currentRoute; diff --git a/app/src/main/java/com/a1/nextlocation/data/Location.java b/app/src/main/java/com/a1/nextlocation/data/Location.java index 4210b08..24422bb 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Location.java +++ b/app/src/main/java/com/a1/nextlocation/data/Location.java @@ -2,16 +2,11 @@ package com.a1.nextlocation.data; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import androidx.room.ColumnInfo; -import androidx.room.Entity; -import androidx.room.PrimaryKey; import org.jetbrains.annotations.NotNull; -@Entity(tableName = "location") public class Location { - @PrimaryKey @NonNull private String name; @@ -22,7 +17,6 @@ public class Location { private String coordinates; private String description; - @ColumnInfo(name = "image_url") @Nullable private String imageUrl; diff --git a/app/src/main/java/com/a1/nextlocation/data/Route.java b/app/src/main/java/com/a1/nextlocation/data/Route.java index 745c2e6..7ff67dc 100644 --- a/app/src/main/java/com/a1/nextlocation/data/Route.java +++ b/app/src/main/java/com/a1/nextlocation/data/Route.java @@ -1,32 +1,25 @@ package com.a1.nextlocation.data; import androidx.annotation.NonNull; -import androidx.room.ColumnInfo; -import androidx.room.Entity; -import androidx.room.PrimaryKey; -import androidx.room.TypeConverters; - -import com.a1.nextlocation.data.db.LocationListTypeConverter; import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.List; -@Entity(tableName = "route") public class Route { - @PrimaryKey + @NonNull private String name; - @TypeConverters(LocationListTypeConverter.class) + private List locations; - @ColumnInfo(name = "total_distance") + private float totalDistance; - @ColumnInfo(name = "total_time") + private int totalTime; public Route(@NotNull String name) { diff --git a/app/src/main/java/com/a1/nextlocation/data/db/CouponListTypeConverter.java b/app/src/main/java/com/a1/nextlocation/data/db/CouponListTypeConverter.java deleted file mode 100644 index 347ca39..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/CouponListTypeConverter.java +++ /dev/null @@ -1,33 +0,0 @@ -package com.a1.nextlocation.data.db; - -import androidx.room.TypeConverter; - -import com.a1.nextlocation.data.Coupon; -import com.a1.nextlocation.data.Route; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; - -import java.lang.reflect.Type; -import java.util.Collections; -import java.util.List; - -public class CouponListTypeConverter { - private static Gson gson = new Gson(); - - @TypeConverter - public static List toRoutesList(String data) { - if (data == null) { - return Collections.emptyList(); - } - Type listType = new TypeToken>() {}.getType(); - - return gson.fromJson(data,listType); - } - - @TypeConverter - public static String fromRoutesList(List list) { - return gson.toJson(list); - } - - -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/Database.java b/app/src/main/java/com/a1/nextlocation/data/db/Database.java deleted file mode 100644 index f273554..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/Database.java +++ /dev/null @@ -1,62 +0,0 @@ -package com.a1.nextlocation.data.db; - -import android.content.Context; - -import androidx.annotation.NonNull; -import androidx.room.Room; -import androidx.room.RoomDatabase; -import androidx.sqlite.db.SupportSQLiteDatabase; - -import com.a1.nextlocation.data.Coupon; -import com.a1.nextlocation.data.Data; -import com.a1.nextlocation.data.Location; -import com.a1.nextlocation.data.Route; -import com.a1.nextlocation.data.db.dao.CouponDao; -import com.a1.nextlocation.data.db.dao.DataDao; -import com.a1.nextlocation.data.db.dao.LocationDao; -import com.a1.nextlocation.data.db.dao.RouteDao; - -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; - -/** - * @author Sem - */ -@androidx.room.Database(entities = {Coupon.class,Route.class, Location.class, Data.class},version = 1,exportSchema = false) -public abstract class Database extends RoomDatabase { - - public abstract RouteDao routeDao(); - public abstract CouponDao couponDao(); - public abstract LocationDao locationDao(); - public abstract DataDao dataDao(); - - private static volatile Database INSTANCE; - private static final int NUMBER_OF_THREADS = 4; - static final ExecutorService databaseWriterExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); - - public static Database getDatabase(final Context context) { - if (INSTANCE == null){ - synchronized (Database.class) { - if (INSTANCE == null) { - - INSTANCE = Room.databaseBuilder(context.getApplicationContext(), - Database.class,"next_location_db").addCallback(callback).build(); - } - } - } - return INSTANCE; - } - - private static RoomDatabase.Callback callback = new RoomDatabase.Callback() { - @Override - public void onCreate(@NonNull SupportSQLiteDatabase db) { - super.onCreate(db); - - databaseWriterExecutor.execute(() -> { - - // TODO populate our database here - }); - - } - }; -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/LocationListTypeConverter.java b/app/src/main/java/com/a1/nextlocation/data/db/LocationListTypeConverter.java deleted file mode 100644 index 7f7c9b5..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/LocationListTypeConverter.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.a1.nextlocation.data.db; - -import androidx.room.TypeConverter; - -import com.a1.nextlocation.data.Location; -import com.a1.nextlocation.data.Route; -import com.google.gson.Gson; -import com.google.gson.reflect.TypeToken; - -import java.lang.reflect.Type; -import java.util.Collections; -import java.util.List; - -public class LocationListTypeConverter { - private static Gson gson = new Gson(); - - @TypeConverter - public static List toLocationList(String data) { - if (data == null) { - return Collections.emptyList(); - } - Type listType = new TypeToken>() {}.getType(); - - return gson.fromJson(data,listType); - } - - @TypeConverter - public static String fromLocationList(List list) { - return gson.toJson(list); - } -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java deleted file mode 100644 index d68ee58..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/dao/CouponDao.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.a1.nextlocation.data.db.dao; - -import androidx.lifecycle.LiveData; -import androidx.room.Dao; -import androidx.room.Insert; -import androidx.room.OnConflictStrategy; -import androidx.room.Query; -import androidx.room.Update; - -import com.a1.nextlocation.data.Coupon; - -import java.util.List; - -@Dao -public interface CouponDao { - @Insert(onConflict = OnConflictStrategy.REPLACE) - void insertAll(Coupon... coupons); - - @Query("DELETE FROM coupon") - void deleteAll(); - - @Query("SELECT * FROM coupon") - LiveData> selectAll(); - - @Update - public void update(Coupon coupon); - - /* - to add an observer to the livedata, you can use the example from https://medium.com/mindorks/using-room-database-with-livedata-android-jetpack-cbf89b677b47 - */ - - @Query("SELECT * FROM coupon WHERE code = :code LIMIT 1") - Coupon selectCouponByCode(String code); -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/dao/DataDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/DataDao.java deleted file mode 100644 index f2f9882..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/dao/DataDao.java +++ /dev/null @@ -1,31 +0,0 @@ -package com.a1.nextlocation.data.db.dao; - -import androidx.room.Dao; -import androidx.room.Insert; -import androidx.room.OnConflictStrategy; -import androidx.room.Query; -import androidx.room.Update; - -import com.a1.nextlocation.data.Data; - -@Dao -public interface DataDao { - - @Insert(onConflict = OnConflictStrategy.REPLACE) - void insertAll(Data... datas); - - @Update - void update(Data data); - - @Query("DELETE FROM userdata") - void delete(); - - @Query("SELECT * FROM userdata LIMIT 1") - Data getData(); - - @Query("SELECT * FROM userdata WHERE distance_traveled = :distance LIMIT 1") - Data getDataByDistance(float distance); - - - -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java deleted file mode 100644 index c0da25c..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/dao/LocationDao.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.a1.nextlocation.data.db.dao; - -import androidx.lifecycle.LiveData; -import androidx.room.Dao; -import androidx.room.Insert; -import androidx.room.OnConflictStrategy; -import androidx.room.Query; - -import com.a1.nextlocation.data.Location; - -import java.util.List; - -@Dao -public interface LocationDao { - @Insert(onConflict = OnConflictStrategy.REPLACE) - void insertAll(Location... locations); - - @Query("DELETE FROM location") - void deleteAll(); - - @Query("SELECT * FROM location") - LiveData> selectAll(); - - @Query("SELECT * FROM location WHERE name = :name LIMIT 1") - Location getLocationByName(String name); - -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java b/app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java deleted file mode 100644 index 4d30dc6..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/dao/RouteDao.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.a1.nextlocation.data.db.dao; - -import androidx.lifecycle.LiveData; -import androidx.room.Dao; -import androidx.room.Insert; -import androidx.room.Query; -import androidx.room.Update; - -import com.a1.nextlocation.data.Route; - -import java.util.List; - -@Dao -public interface RouteDao { - - @Insert - void insertAll(Route... routes); - - @Query("DELETE FROM route") - void deleteAll(); - - @Query("SELECT * FROM route") - LiveData> getAll(); - - @Query("SELECT * FROM route where name = :name LIMIT 1") - Route getRouteByName(String name); -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java deleted file mode 100644 index 3cf3d19..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/repositories/CouponRepository.java +++ /dev/null @@ -1,42 +0,0 @@ -package com.a1.nextlocation.data.db.repositories; - -import android.content.Context; - -import androidx.lifecycle.LiveData; - -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; - -public class CouponRepository { - private CouponDao mCouponDao; - private LiveData> mAllCoupons; - - public CouponRepository(Context context) { - Database db = Database.getDatabase(context); - mCouponDao = db.couponDao(); - mAllCoupons = mCouponDao.selectAll(); - } - - public void insert(Coupon... coupons) { - mCouponDao.insertAll(coupons); - } - - public void update(Coupon coupon) { - mCouponDao.update(coupon); - } - - public LiveData> getAllCoupons() { - return mAllCoupons; - } - - public Coupon getCoupon(String code) { - return mCouponDao.selectCouponByCode(code); - } - - public void deleteAll() { - mCouponDao.deleteAll(); - } -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/DataRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/DataRepository.java deleted file mode 100644 index 9e18652..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/repositories/DataRepository.java +++ /dev/null @@ -1,40 +0,0 @@ -package com.a1.nextlocation.data.db.repositories; - -import android.content.Context; - -import com.a1.nextlocation.data.Data; -import com.a1.nextlocation.data.db.Database; -import com.a1.nextlocation.data.db.dao.DataDao; - -public class DataRepository { - private DataDao mDataDao; - private Data data; - - public DataRepository(Context context) { - Database db = Database.getDatabase(context); - mDataDao = db.dataDao(); - data = mDataDao.getData(); - } - - public Data getData() { - return data; - } - - public Data getDataByDistance(float distance) { - return mDataDao.getDataByDistance(distance); - } - - public void deleteAll() { - mDataDao.delete(); - } - - public void update(Data data) { - mDataDao.update(data); - } - - public void insertAll(Data... datas) { - mDataDao.insertAll(datas); - } - - -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java deleted file mode 100644 index 5c5c725..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/repositories/LocationRepository.java +++ /dev/null @@ -1,38 +0,0 @@ -package com.a1.nextlocation.data.db.repositories; - -import android.content.Context; - -import androidx.lifecycle.LiveData; - -import com.a1.nextlocation.data.Location; -import com.a1.nextlocation.data.db.Database; -import com.a1.nextlocation.data.db.dao.LocationDao; - -import java.util.List; - -public class LocationRepository { - private LocationDao mLocationDao; - private LiveData> mAllLocations; - - public LocationRepository(Context context) { - Database db = Database.getDatabase(context); - mLocationDao = db.locationDao(); - mAllLocations = mLocationDao.selectAll(); - } - - public LiveData> getAllLocations() { - return mAllLocations; - } - - public Location getLocationByName(String name) { - return mLocationDao.getLocationByName(name); - } - - public void insertAll(Location... locations) { - mLocationDao.insertAll(locations); - } - - public void deleteAll() { - mLocationDao.deleteAll(); - } -} diff --git a/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java b/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java deleted file mode 100644 index 7c80369..0000000 --- a/app/src/main/java/com/a1/nextlocation/data/db/repositories/RouteRepository.java +++ /dev/null @@ -1,34 +0,0 @@ -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> mAllRoutes; - - public RouteRepository(Context context) { - Database db = Database.getDatabase(context); - mRouteDao = db.routeDao(); - mAllRoutes = mRouteDao.getAll(); - } - - public LiveData> getAllRoutes() { - return mAllRoutes; - } - - public Route getRouteByName(String name) { - return mRouteDao.getRouteByName(name); - } - - public void deleteAll() { - mRouteDao.deleteAll(); - } -}