次のコードの特定の概念を理解できません。
1) なぜ.arg0.getPathSegments().get(1) を使用しているのか?
2) get(1) の値は?
3) (!TextUtils.isEmpty(arg1) ? " AND (" + arg1 + ')' : ""), arg2); の機能は何ですか?
public int delete(Uri arg0, String arg1, String[] arg2) {
int count=0;
switch (uriMatcher.match(arg0)){
case BOOKS:
count = booksDB.delete(
DATABASE_TABLE,
arg1,
arg2);
break;
case BOOK_ID:
String id = arg0.getPathSegments().get(1);
count = booksDB.delete(
DATABASE_TABLE,
_ID + " = " + id +
(!TextUtils.isEmpty(arg1) ? " AND (" +
arg1 + ')' : ""),
arg2);
break;
default: throw new IllegalArgumentException(
"Unknown URI " + arg0);
}
getContext().getContentResolver().notifyChange(arg0, null);
return count;