public static long addMap(MapsDbOpenHelper mapsDb, String name, String imageUri) {
   ContentValues values = new ContentValues();
   values.put(MAP_NAME, name);
   values.put(MAP_IMAGE_URI, imageUri);
   SQLiteDatabase db = mapsDb.getWritableDatabase();
   return db.insert(MAPS_TABLE, null, values);
 }
 public static void removeAnchor(MapsDbOpenHelper mapsDbOpenHelper, long mapId, Point point) {
   SQLiteDatabase db = mapsDbOpenHelper.getWritableDatabase();
   db.delete(
       ANCHORS_TABLE,
       format("%s == ? AND %s == ? AND %s == ?", ANCHOR_MAP_ID, ANCHOR_IMAGE_X, ANCHOR_IMAGE_Y),
       stringArrayOf(mapId, point.getX(), point.getY()));
 }
 public static void deleteMap(MapsDbOpenHelper mapsDb, long mapId) {
   SQLiteDatabase db = mapsDb.getWritableDatabase();
   try {
     db.beginTransaction();
     db.delete(MAPS_TABLE, format("%s == ?", MAP_ID), stringArrayOf(mapId));
     db.delete(ANCHORS_TABLE, format("%s == ?", ANCHOR_MAP_ID), stringArrayOf(mapId));
     db.setTransactionSuccessful();
   } finally {
     db.endTransaction();
   }
 }
  public static void addAnchor(
      MapsDbOpenHelper mapsDbOpenHelper, long mapId, AnchorInfo anchorInfo) {
    ContentValues values = new ContentValues();

    values.put(ANCHOR_MAP_ID, mapId);
    values.put(ANCHOR_IMAGE_X, anchorInfo.getPoinOnImage().getX());
    values.put(ANCHOR_IMAGE_Y, anchorInfo.getPoinOnImage().getY());
    values.put(ANCHOR_MAP_LONG, anchorInfo.getPointOnMap().getX());
    values.put(ANCHOR_MAP_LAT, anchorInfo.getPointOnMap().getY());

    SQLiteDatabase db = mapsDbOpenHelper.getWritableDatabase();
    db.insert(ANCHORS_TABLE, null, values);
  }