public Todo saveTodo(Todo todo) { if (todo.getId() > 0) { updateTodo(todo); } else { addNewTodo(todo); } return todo; }
public List<Todo> getAllTodos() { SQLiteDatabase db = this.getReadableDatabase(); List<Todo> todoList = new ArrayList<Todo>(); Cursor cursor = null; cursor = db.query(TODOS_TABLE, null, null, null, null, null, null); if (cursor.moveToFirst()) { int idIndex = cursor.getColumnIndex(TODO_ID); int nameIndex = cursor.getColumnIndex(TODO_NAME); int contentIndex = cursor.getColumnIndex(TODO_CONTENT); int importantIndex = cursor.getColumnIndex(TODO_IMPORTANT); int dateIndex = cursor.getColumnIndex(TODO_DATE); int doneIndex = cursor.getColumnIndex(TODO_DONE); do { long id = cursor.getLong(idIndex); String name = cursor.getString(nameIndex); String content = cursor.getString(contentIndex); int important = cursor.getInt(importantIndex); String date = cursor.getString(dateIndex); int done = cursor.getInt(doneIndex); Todo todo = new Todo(); todo.setId(id); todo.setName(name); todo.setContent(content); if (important == 1) { todo.setImportant(true); } else { todo.setImportant(false); } todo.setDate(date); if (done == 1) { todo.setDone(true); } else { todo.setDone(false); } todoList.add(todo); } while (cursor.moveToNext()); } cursor.close(); this.close(); return todoList; }
public Todo getTodoById(long id) { SQLiteDatabase db = this.getReadableDatabase(); Todo todo = new Todo(); Cursor cursor = null; cursor = db.query( TODOS_TABLE, null, TODO_ID + "=?", new String[] {String.valueOf(id)}, null, null, null); if (cursor.moveToFirst()) { int idIndex = cursor.getColumnIndex(TODO_ID); int nameIndex = cursor.getColumnIndex(TODO_NAME); int contentIndex = cursor.getColumnIndex(TODO_CONTENT); int importantIndex = cursor.getColumnIndex(TODO_IMPORTANT); int dateIndex = cursor.getColumnIndex(TODO_DATE); int doneIndex = cursor.getColumnIndex(TODO_DONE); long _id = cursor.getLong(idIndex); String name = cursor.getString(nameIndex); String content = cursor.getString(contentIndex); int important = cursor.getInt(importantIndex); String date = cursor.getString(dateIndex); int done = cursor.getInt(doneIndex); todo.setId(_id); todo.setName(name); todo.setContent(content); if (important == 1) { todo.setImportant(true); } else { todo.setImportant(false); } todo.setDate(date); if (done == 1) { todo.setDone(true); } else { todo.setDone(false); } } cursor.close(); this.close(); return todo; }
public Todo updateTodo(Todo todo) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(TODO_NAME, todo.getName()); values.put(TODO_CONTENT, todo.getContent()); values.put(TODO_IMPORTANT, todo.isImportant()); values.put(TODO_DATE, todo.getDate()); values.put(TODO_DONE, todo.isDone()); db.update(TODOS_TABLE, values, TODO_ID + "=?", new String[] {String.valueOf(todo.getId())}); Log.i(logger, " updateTodo: " + todo.getData()); this.close(); return todo; }
public Todo addNewTodo(Todo todo) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(TODO_NAME, todo.getName()); values.put(TODO_CONTENT, todo.getContent()); values.put(TODO_IMPORTANT, todo.isImportant()); values.put(TODO_DATE, todo.getDate()); values.put(TODO_DONE, todo.isDone()); long id = db.insert(TODOS_TABLE, null, values); todo.setId(id); Log.i(logger, " addNewTodo: " + todo.getData()); this.close(); return todo; }
public void deleteTodo(Todo todo) { SQLiteDatabase db = this.getWritableDatabase(); db.delete(TODOS_TABLE, TODO_ID + "=?", new String[] {String.valueOf(todo.getId())}); this.close(); }