In the code block, where the transferred values of values are checked for the presence of inserted data for certain columns, if there is no data, why put an empty value? If the columns in the database have a default value, are these lines still necessary?
@Override public Uri insert(Uri uri, ContentValues initialValues) { if ( sUriMatcher.match(uri) != STUDENTS && sUriMatcher.match(uri) != CLASSES ) { throw new IllegalArgumentException("Unknown URI " + uri); } SQLiteDatabase db = dbHelper.getWritableDatabase(); ContentValues values; if (initialValues != null) { values = new ContentValues(initialValues); } else { values = new ContentValues(); } long rowId = -1; Uri rowUri = Uri.EMPTY; switch (sUriMatcher.match(uri)) { case STUDENTS: if (values.containsKey(ContractClass.Students.COLUMN_NAME_FIRST_NAME) == false) { values.put(ContractClass.Students.COLUMN_NAME_FIRST_NAME, ""); } if (values.containsKey(ContractClass.Students.COLUMN_NAME_SECOND_NAME) == false) { values.put(ContractClass.Students.COLUMN_NAME_SECOND_NAME, ""); } if (values.containsKey(ContractClass.Students.COLUMN_NAME_AVERAGE_SCORE) == false) { values.put(ContractClass.Students.COLUMN_NAME_AVERAGE_SCORE, 0.0); } if (values.containsKey(ContractClass.Students.COLUMN_NAME_FK_CLASS_ID) == false) { values.put(ContractClass.Students.COLUMN_NAME_FK_CLASS_ID, -1); } rowId = db.insert(ContractClass.Students.TABLE_NAME, ContractClass.Students.COLUMN_NAME_FIRST_NAME, values); if (rowId > 0) { rowUri = ContentUris.withAppendedId(ContractClass.Students.CONTENT_ID_URI_BASE, rowId); getContext().getContentResolver().notifyChange(rowUri, null); } break; case CLASSES: if (values.containsKey(ContractClass.Classes.COLUMN_NAME_CLASS_NUMBER) == false) { values.put(ContractClass.Classes.COLUMN_NAME_CLASS_NUMBER, ""); } if (values.containsKey(ContractClass.Classes.COLUMN_NAME_CLASS_LETTER) == false) { values.put(ContractClass.Classes.COLUMN_NAME_CLASS_LETTER, ""); } rowId = db.insert(ContractClass.Classes.TABLE_NAME, ContractClass.Classes.COLUMN_NAME_CLASS_NUMBER, values); if (rowId > 0) { rowUri = ContentUris.withAppendedId(ContractClass.Classes.CONTENT_ID_URI_BASE, rowId); getContext().getContentResolver().notifyChange(rowUri, null); } break; } return rowUri; }