diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/DatabaseHandler.java b/app/src/main/java/de/apps4ics/mountainnavigation/DatabaseHandler.java index 35b172d..34c3195 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/DatabaseHandler.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/DatabaseHandler.java @@ -33,6 +33,7 @@ private static final String KEY_POI_ALT = "_alt"; private static final String KEY_POI_TYPE = "_type"; private static final String KEY_POI_TIME = "_time"; + private static final String KEY_TYPE_ID = "_type_id"; private static final String KEY_GP_ID = "_gp_id"; private static final String KEY_FOUNTAIN_SIZE = "_size"; @@ -73,7 +74,7 @@ + KEY_POI_LAT + " REAL," + KEY_POI_LON + " REAL," + KEY_POI_ALT + " REAL," - + KEY_POI_TYPE + " TEXT," + + KEY_TYPE_ID + " TEXT," + KEY_POI_TIME + " INTEGER" + ")"; db.execSQL(CREATE_GP_TABLE); //create Fountain table @@ -87,7 +88,7 @@ + KEY_POI_ID + " INTEGER PRIMARY KEY," + KEY_GP_S_ID + " INTEGER," + KEY_GP_E_ID + " INTEGER," - + KEY_PATH_LENGTH + " TEXT," + + KEY_PATH_LENGTH + " INTEGER," + KEY_PATH_EXPOSED + " INTEGER," + KEY_PATH_DIFF_WET + " INTEGER," + KEY_PATH_GIDDINESS + " INTEGER," @@ -143,8 +144,7 @@ String CREATE_IMAGE_TABLE = "CREATE TABLE " + TABLE_IMAGE + "(" + KEY_POI_ID + " INTEGER PRIMARY KEY," + KEY_GP_ID + " INTEGER," - + KEY_GP_E_ID + " TEXT," - + KEY_POI_TYPE + " TEXT," + + KEY_TYPE_ID + " TEXT," + KEY_IMAGE_IMG + " BLOB" + ")"; db.execSQL(CREATE_IMAGE_TABLE); //create trash bin table @@ -177,16 +177,36 @@ switch(poi.getType()){ case Types.FOUNTAIN: Fountain f = (Fountain) poi; - //TODO values.put(KEY_GP_ID, f.getGpId()); - //TODO values.put(KEY_FOUNTAIN_SIZE, f.getSize()); + values.put(KEY_GP_ID, f.getGpId()); + values.put(KEY_FOUNTAIN_SIZE, f.getSize()); break; case Types.PATH: + Path p = (Path) poi; + values.put(KEY_GP_S_ID, p.getStartGp()); + values.put(KEY_GP_E_ID, p.getEndGp()); + values.put(KEY_PATH_LENGTH, p.getLength()); + values.put(KEY_PATH_EXPOSED, p.getExposed()); + values.put(KEY_PATH_DIFF_WET, p.getDiffWet()); + values.put(KEY_PATH_GIDDINESS, p.getGiddiness()); + values.put(KEY_PATH_CLIMBING, p.getClimbing()); break; case Types.BREAK_POINT: + BreakPoint bp = (BreakPoint) poi; + values.put(KEY_GP_ID, bp.getGpId()); + values.put(KEY_BREAK_POINT_STONE, bp.getStone()); + values.put(KEY_BREAK_POINT_BENCH, bp.getBench()); + values.put(KEY_BREAK_POINT_TABLE, bp.getTable()); + values.put(KEY_BREAK_POINT_ROOFED, bp.getRoofed()); break; case Types.TRASH_BIN: + TrashBin tb = (TrashBin) poi; + values.put(KEY_GP_ID, tb.getGpId()); break; case Types.PIC: + Image i = (Image) poi; + values.put(KEY_GP_ID, i.getGpId()); + values.put(KEY_TYPE_ID, i.getTypeId()); + values.put(KEY_IMAGE_IMG, i.getImage()); break; case Types.CELL_RECEPTION: break; @@ -203,7 +223,7 @@ values.put(KEY_POI_LAT, dbgp.getLat()); values.put(KEY_POI_LON, dbgp.getLon()); values.put(KEY_POI_ALT, dbgp.getAlt()); - values.put(KEY_POI_TYPE, dbgp.getType()); + values.put(KEY_TYPE_ID, dbgp.getTypeId()); values.put(KEY_POI_TIME, dbgp.getTime()); break; } diff --git a/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java b/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java index c9900f6..a4b2048 100644 --- a/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java +++ b/app/src/main/java/de/apps4ics/mountainnavigation/Poi.java @@ -56,88 +56,245 @@ } class Fountain extends Poi { + long gp_id; + int size; public Fountain(int _id){ super(_id, Types.FOUNTAIN); } public Fountain(){ super(Types.FOUNTAIN); } + + public long getGpId(){ + return gp_id; + } + + public int getSize(){ + return size; + } } //TODO constructors for other classes, see fountain class Path extends Poi { - public Path(int _type) { - super(_type); + long gp_s_id; + long gp_e_id; + long length; + int exposed; + int diffWet; + int giddiness; + int climbing; + public Path(int _id) { + super(_id, Types.PATH); + } + public Path() { + super(Types.PATH); + } + + public long getStartGp() { + return gp_s_id; + } + + public long getEndGp() { + return gp_e_id; + } + + public long getLength() { + return length; + } + + public int getExposed() { + return exposed; + } + + public int getDiffWet() { + return diffWet; + } + + public int getGiddiness() { + return giddiness; + } + + public int getClimbing() { + return climbing; } } class Hut extends Poi { - public Hut(int _type) { - super(_type); + public Hut(int _id) { + super(_id, Types.HUT); + } + public Hut(){ + super(Types.HUT); } } class Peak extends Poi { - public Peak(int _type) { - super(_type); + public Peak(int _id) { + super(_id, Types.PEAK); + } + public Peak(){ + super(Types.PEAK); } } class BreakPoint extends Poi { + long gpId; + int stone; + int bench; + int table; + int roofed; - public BreakPoint(int _type) { - super(_type); + public BreakPoint(int _id) { + super(_id, Types.BREAK_POINT); + } + public BreakPoint(){ + super(Types.BREAK_POINT); + } + + public long getGpId() { + return gpId; + } + + public int getStone() { + return stone; + } + + public int getBench() { + return bench; + } + + public int getTable() { + return table; + } + + public int getRoofed() { + return roofed; } } class TrashBin extends Poi { + long gpId; - public TrashBin(int _type) { - super(_type); + public TrashBin(int _id) { + super(_id, Types.TRASH_BIN); + } + public TrashBin(){ + super(Types.TRASH_BIN); + } + + public long getGpId(){ + return gpId; } } class Image extends Poi { + long gpId; + String typeId; + byte[] image; - public Image(int _type) { - super(_type); + public Image(int _id) { + super(_id, Types.PIC); + } + public Image(){ + super(Types.PIC); + } + + public long getGpId(){ + return gpId; + } + + public String getTypeId(){ + return typeId; + } + + public byte[] getImage(){ + return image; } } class CellReception extends Poi { - public CellReception(int _type) { - super(_type); + public CellReception(int _id) { + super(_id, Types.CELL_RECEPTION); + } + public CellReception(){ + super(Types.CELL_RECEPTION); } } class Wifi extends Poi { - public Wifi(int _type) { - super(_type); + public Wifi(int _id) { + super(_id, Types.WIFI); + } + public Wifi(){ + super(Types.WIFI); } } class Lift extends Poi { - public Lift(int _type) { - super(_type); + public Lift(int _id) { + super(_id, Types.LIFT); + } + public Lift(){ + super(Types.LIFT); } } -class DbGeoPoint extends GeoPoint{ +class DbGeoPoint extends Poi { + private double lat; + private double lon; + private double alt; + private long _id; private long _time; private String _type_id; //_ => hut_2 + public DbGeoPoint(int _id) { + super(_id, Types.GP); + } + public DbGeoPoint(){ + super(Types.GP); + } + public DbGeoPoint(double aLatitude, double aLongitude, double aAltitude) { - super(aLatitude, aLongitude, aAltitude); - this._time = System.currentTimeMillis(); + this(aLatitude, aLongitude, aAltitude, System.currentTimeMillis()); } public DbGeoPoint(double aLatitude, double aLongitude, double aAltitude, long _time) { - super(aLatitude, aLongitude, aAltitude); + lat = aLatitude; + lon = aLongitude; + alt = aAltitude; this._time = _time; } + + public double getLat(){ + return lat; + } + + public double getLon(){ + return lon; + } + + public double getAlt(){ + return alt; + } + + public long getTime(){ + return _time; + } + + public String getTypeId(){ + return _type_id; + } + + public void setTypeId(String typeId){ + _type_id = typeId; + } + + public void setId(long id){ + _id = id; + } }