Android的文档提供了一个如何从Loader填充列表的示例,特别是从联系人数据库填写列表。他们使用这个电话:
// Called when a new Loader needs to be created
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
return new CursorLoader(this, ContactsContract.Data.CONTENT_URI,
PROJECTION, SELECTION, null, null);
}
我已经编写了自己的自定义PeerDatabaseContract
:
public class PeerDatabaseContract {
private PeerDatabaseContract() {}
public static abstract class PeerEntry implements BaseColumns {
public static final String TABLE_NAME = "peers";
public static final Uri CONTENT_URI; // Instantiation?
public static final String COLUMN_NAME_PEER_ID = "userid";
public static final String COLUMN_NAME_PEER_NAME = "name";
}
}
我想以与ContactsContract
类似的方式使用它,并在列表中使用它。假设我的内容提供商的权限是com.thirtythreeforty.peerapp.authority
。
如何定义CONTENT_URI
以便我可以简单地从中构建CursorLoader
,如示例所示?
答案 0 :(得分:1)
选项#1:使用Uri.parse("content://com.thirtythreeforty.peerapp.authority/whatever/else/you/need")
选项#2:使用Uri.Builder
从组件
Uri