我们的应用借助ContentResolver来操作其他应用通过ContentProvider暴露给我们的数据。
我们通过getContentResolver()来获取到ContentResolver的实例,ContentResolver提供了一系列方法来操作数据。
参数说明:
insert()
用于添加数据
update()
用于更新数据
delete()
用于删除数据
query()
用于查询数据
可以看到和SQLite的操作方法类似,不同点在于ContentResolver是不接收表名参数的,我们通过URI来确定要操作的数据。
public class MainActivity extends Activity {
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
bt = (Button) findViewById(R.id.bt);
bt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://sms");
Cursor cursor = resolver.query(uri, null, null, null, null);
while (cursor.moveToNext()) {
Log.d("TTTT", cursor.getString(cursor.getColumnIndex("body")));
}
}
});
}
}