Cada ID de nota
Cada contenido memo (contenido)
La importancia de cada memorando (1 importante, sin importancia 0)
público de clase Recordatorio { privada int MID; privada mContent cadena; privada int mImportent; público Recordatorio ( int ID, el contenido String, int importent) { MID = Identificación; mContent = contenido; mImportent = importent; }
pública estática final Cadena COL_ID = "_id" ; pública estática final Cadena COL_CONTENT = "contenido" ; pública estática final Cadena COL_IMPORTENT = "importent" ; // nombre de campo de indexación pública estática final int index_id = 0 ; pública estática final int INDEX_CONTENT = index_id . 1 + ; pública estática final int INDEX_IMPORTENT index_id + = 2 ; // para acceder TAG público estático Última cadena de etiqueta = "RemindersDbAdapter" ; // dos objetos de la API de base de datos, el primero para abrir y cerrar la base de datos, es una clase de ayuda privada DatabaseHelper mDbHelper; Privada SQLiteDatabase el MDB; // nombre de la biblioteca, de la tabla, nombre de la versión pública estática final Cadena = DATABASE_NAME "dba_remdrs" ; pública estática final cadena TABLE_NAME = "tbl_remdrs" ; pública estática final int Database_Version = 1 ; // objeto de contexto proporciona acceso al sistema Android privada final contexto mCtx; // sentencias SQL para crear la base de datos pública estático final de cadena DATABASE_CREATE = "CREATE TABLE si no existe" + TABLE_NAME + "(" + COL_ID + "INTEGER PRIMARY KEY AutoIncrement," + COL_CONTENT + "texto," + COL_IMPORTENT + "INTEGER);";
// abierta pública vacío abierto () lanza SQLException { mDbHelper = nueva DatabaseHelper (mCtx); MDB = mDbHelper.getWritableDatabase (); } // Cerrar pública vacío close () { si (mDbHelper =! Nula ) { mDbHelper.close (); } }
// escribirse por los datos de bases de datos directamente pública vacío createReminder (nombre de la cadena, booleano importent) { valores ContentValues = nuevos nuevos ContentValues (); values.put (COL_CONTENT, nombre); values.put (COL_IMPORTENT, importent); mDb.insert ( TABLE_NAME, nulos , valores); } // escritura es realizada por el modelo de datos pública a largo createReminder (Recordatorio Recordatorio) { ContentValues valores = nuevos nuevos ContentValues (); ; values.put (COL_CONTENT, reminder.getContent ()) // nombre de la tarjeta de visita values.put (COL_IMPORTENT, reminder.getImportent ()); // Teléfono de contacto // inseting fila de retorno mDb.insert (TABLE_NAME nulos , valores); } // 从数据库读取内容 pública Recordatorio fetchReminderById ( int id) { cursor Cursor = mDb.query (TABLE_NAME nueva String [] {COL_ID, COL_CONTENT, COL_IMPORTENT}, COL_ID + "=?" , Nueva String [] {String .valueOf (id)}, nulo , nulo , nulo , nulo ); si (cursor! =nula ) cursor.moveToFirst (); volver nuevo Recordatorio ( cursor.getInt (index_id), cursor.getString (INDEX_CONTENT), cursor.getInt (INDEX_IMPORTENT)); } Públicas fetchAllReminders cursor () { Cursor mCursor = mDb.query (TABLE_NAME, nuevo String [] {COL_ID, COL_CONTENT, COL_IMPORTENT}, nulo , nulo , nulo , nulo , nulo ); si (! mCursor = nula ) { mCursor.moveToFirst (); } Devolver mCursor; } // 更新数据库 pública vacío updataReminder (recordatorio Recordatorio) { ContentValues valores = nuevos ContentValues (); values.put (COL_CONTENT, reminder.getContent ()); values.put (COL_IMPORTENT, reminder.getImportent ()); mDb.update (TABLE_NAME valores, COL_ID + "=?", nuevo String [] {String.valueOf (reminder.getId ())}); } // 删除数据 pública vacío deleteReminderById ( int NID) { mDb.delete (TABLE_NAME COL_ID + "=?",nuevo String [] {String.valueOf (NID)}); } Públicos vacíos deleteAllReminders () { mDb.delete (TABLE_NAME nulo , nulo ); }
Es un datos de enlace, similar a una tabla hash, pares de valores clave se almacenan, pero ContentValues de Cadena de clave tipo y valor fue de tipos básicos (int, etc.), a través de su put () para poner la llave a
aproximadamente el cursor
del cursor cada fila es una colección, que utiliza moveToFirst () para localizar la primera fila, la necesidad de utilizar una consulta de base de datos en la definición de la función, los parámetros de la función de múltiples bits
Tipos de datos | nombre del parámetro | efecto |
Boole | distinto | Es cierto, que cada pieza de datos es único, y viceversa |
Cuerda | mesa | nombre de la tabla |
Cuerda[] | columnas | Para devolver el nombre de la columna de la matriz (nombre de campo), devuelva todas las columnas es nulo |
Cuerda | selección | La detección de la línea, similar a la WHERE de SQL |
Cuerda[] | selectionArg | La selección aparece para el reemplazo? |
Cuerda | agrupar por | La agrupación de la línea de retorno conjunto, un paquete nulo no es |
Cuerda | teniendo | Cursor determinar qué filas se colocan en el filtro (no llegar a conocer) |
Cuerda | OrdenarPor | Ordena, la clasificación predeterminado es nula de prensa |
Cuerda | límite | Limitar el número de filas devueltas |
CancellationSignal | cancellationsignal | Cuando la señal para cancelar la operación, no era nula, no serán arrojados en el OperationCanceledException cancelación |
El que un total de cuatro parámetros de la función de consulta diferentes, 10 parámetros incluyen todos los parámetros anteriores, nueve parámetro no se incluye cancellationsignal, 8 argumento no contiene un argumento distinto y 7 cancellationsignal no contiene una distinta, limitar y cancellationsignal
sensación I mientras la función de consulta apreciará que el código se encuentra en las operaciones CRUD es muy fácil de entender
CursorAdapter clase
esta parte todavía necesita para digerir lo que en muchas actualizaciones posteriores