1 ContentResolver內(nèi)容訪問者就是通過Uri來訪問ContentPRovder中提供的數(shù)據(jù)。調(diào)用 ContentResolver對象的方法就能訪問內(nèi)容提供者。 代碼如下:
public class MainActivity extends AppCompatActivity { private ContentResolver cr; private EditText editText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editText = (EditText) findViewById(R.id.et_main_id); //獲取內(nèi)容訪問者 cr = getContentResolver(); } public void getData(View view){ //加安全協(xié)議 Uri uri=Uri.parse("content://com.zking.g150831_android16_sqlite.data"); Cursor cursor= cr.query(uri,null,null,null,null); while(cursor.moveToNext()){ int id=cursor.getInt(cursor.getColumnIndex("_id")); String name=cursor.getString(cursor.getColumnIndex("name")); int age=cursor.getInt(cursor.getColumnIndex("age")); } }}(題外話) 2操作Uri的工具類UriMatcher UriMatcher 類主要用于匹配Uri. 有三個參數(shù): authority:匹配的授權(quán)者。 path:路徑 code:返回代碼
第一步初始化:
UriMatcher matcher = new UriMatcher(UriMatcher.NO_MATCH);第二步注冊需要的Uri:
matcher.addURI("com.zking.android24", "people", PEOPLE); matcher.addURI("com.zking.android24", "person/#", PEOPLE_ID);第三步,與已經(jīng)注冊的Uri進行匹配:
[java] view plain copy print?Uri uri = Uri.parse("content://" + "com.zking.android24" + "/people"); int match = matcher.match(uri); switch (match) { case PEOPLE: return "vnd.android.cursor.dir/people"; case PEOPLE_ID: return "vnd.android.cursor.item/people"; default: return null; }新聞熱點
疑難解答