题目内容

内容URI“content://com.example.app.provider/table1/#”中#号含义是匹配table1表中_____________数据。

查看答案
更多问题

Android应用实现跨程序共享数据的标准方式是创建自己的内容提供器,自定义ContentProvider类时通常需要重写_____个抽象方法。

阅读并理解下面自定义ContentProvider类的程序片断,在代码后功能说明文字空白划线处填写合适内容。@Overridepublic Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,String sortOrder) {SQLiteDatabase db = dbHelper.getReadableDatabase();Cursor cursor = null;switch (uriMatcher.match(uri)) {case BOOK_DIR:cursor = db.query("Book", projection, selection, selectionArgs, null, null, sortOrder);break;case BOOK_ITEM:String bookId = uri.getPathSegments().get(1);cursor = db.query("Book", projection, "id = ?", new String[] { bookId }, null, null,sortOrder);break;case CATEGORY_DIR:cursor = db.query("Category", projection, selection, selectionArgs, null, null,sortOrder);break;case CATEGORY_ITEM:String categoryId = uri.getPathSegments().get(1);cursor = db.query("Category", projection, "id = ?", new String[] { categoryId }, null,null, sortOrder);break;default:break;}return cursor;}1)内容提供器的query()方法功能是查询数据。使用(1)__________参数来指定查询目标,(2)__________参数用于指定查询哪些列,(3)__________和(4)__________参数用于约束查询哪些行,(5)__________参数用于对结果进行排序,查询结果存放在(6)__________类对象中返回。2)访问单条记录时,调用了Uri对象的(7)__________方法,将内容URI字符串中路径部分以(8)“______”符号作为分隔符进行分割,并把分割结果放入到字符串列表中,这个列表的0号索引位置存放的是(9)__________,1号索引位置存放的是(10)__________。

阅读并理解下面代码,在代码后功能说明文字空白划线处填写合适内容。public static final int TABLE1_DIR = 0;public static final int TABLE1_ITEM = 1;private static UriMatcher uriMatcher;static {uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);uriMatcher.addURI("com.example.app.provider", "table1", TABLE1_DIR);uriMatcher.addURI("com.example.app.provider ", "table1/#", TABLE1_ITEM);}1)首先,定义2个整型(1)______,声明(2)____________类的静态对象后,创建该类实例;2)在uriMatcher实例中添加2条(3)____________的URI类型记录。其中,(4)________________________________________________语句建立的URI类型对应的是表格table1,而“uriMatcher.addURI("com.example.app.provider ", "table1/#", TABLE1_ITEM)”语句建立的URI类型对应的是(5)________________________。

阅读并理解下面代码,在代码后功能说明文字中空白划线处填写合适内容。public Uri insert(Uri uri, ContentValues values) {SQLiteDatabase db = dbHelper.getWritableDatabase();Uri uriReturn = null;switch (uriMatcher.match(uri)) {case BOOK_DIR:case BOOK_ITEM:long newBookId = db.insert("Book", null, values);uriReturn = Uri.parse("content://" + AUTHORITY + "/book/" + newBookId);break;case CATEGORY_DIR:case CATEGORY_ITEM:long newCategoryId = db.insert("Category", null, values);uriReturn = Uri.parse("content://" + AUTHORITY + "/category/" + newCategoryId);break;default:break;}return uriReturn;}1)insert()方法功能是向内容提供器中(1)________数据,该方法参数中,(2)________参数指定要添加数据的表,待添加数据在(3)________参数中。添加完成后,返回新记录的(4)________类对象。2)insert()方法中,先调用(5)________________方法获取(6)________________类实例,然后,根据(7)________参数判断往哪张表里添加数据,接着,调用SQLiteDatabase类实例的(8)________方法添加数据,并返回新添数据的记录号,最后,调用(9)________方法将新添数据记录号解析成(10)________类对象。

答案查题题库