// Update single ScavItem public void updateScavItem(ScavItem scavItem) { SQLiteDatabase db = this.getWritableDatabase(); Log.d(TAG, db.toString()); ContentValues values = new ContentValues(); values.put(KEY_NAME, scavItem.get_name()); // ScavItem name values.put(KEY_ADDRESS, scavItem.get_address()); // ScavItem address values.put(KEY_DIRECTIONS, scavItem.get_directions()); // ScavItem directions values.put(KEY_IMAGE, scavItem.get_image()); // ScavItem image // Update the corresponding row try { int i = db.update( TABLE_SCAV_ITEMS, values, KEY_ID + "=?", new String[] {String.valueOf(scavItem.get_id())}); if (i <= 0) { Log.e(TAG, "Update failed in a weird way"); } } catch (Exception e) { Log.e(TAG, "Update failed", e); } db.close(); }
// Delete single ScavItem public void deleteScavItem(ScavItem scavItem) { SQLiteDatabase db = this.getWritableDatabase(); try { db.delete( TABLE_SCAV_ITEMS, KEY_ID + " = ?", new String[] {String.valueOf(scavItem.get_id())}); } catch (Exception e) { Log.e(TAG, "Delete failed", e); } db.close(); }
// Add new ScavItem public void addScavItem(ScavItem scavItem) { // get a handle on the current database SQLiteDatabase db = this.getWritableDatabase(); // ContentValues object to store ScavItem info ContentValues values = new ContentValues(); values.put(KEY_NAME, scavItem.get_name()); // ScavItem name values.put(KEY_ADDRESS, scavItem.get_address()); // ScavItem address values.put(KEY_DIRECTIONS, scavItem.get_directions()); // ScavItem directions values.put(KEY_IMAGE, scavItem.get_image()); // ScavItem image // Insert row to database try { db.insert(TABLE_SCAV_ITEMS, null, values); Log.v(TAG, "Row inserted!"); } catch (Exception e) { Log.e(TAG, "Unable to insert row", e); } db.close(); }
// Return all ScavItems in table public List<ScavItem> getAllScavItems() { List<ScavItem> scavItemList = new ArrayList<ScavItem>(); // Select entire table String selectQuery = "SELECT * FROM " + TABLE_SCAV_ITEMS; SQLiteDatabase db = this.getReadableDatabase(); Cursor cursor = db.rawQuery(selectQuery, null); // Loop through all rows in cursor object, add them to list if (cursor.moveToFirst()) { do { ScavItem scavItem = new ScavItem(); scavItem.set_id(Integer.parseInt(cursor.getString(0))); scavItem.set_name(cursor.getString(1)); scavItem.set_address(cursor.getString(2)); scavItem.set_directions(cursor.getString(3)); scavItem.set_image(Integer.parseInt(cursor.getString(4))); // Add ScavItem to list scavItemList.add(scavItem); } while (cursor.moveToNext()); } cursor.close(); db.close(); return scavItemList; }