- <1>新建一个内容提供者类>
- public class MyProvider extends ContentProvider{
- private SQLiteDatabase sqLiteDatabase;
- @Override
- public boolean onCreate() {
- Log.i("test","onCreate");
- return false;
- }
- @Nullable
- @Override
- public Cursor query(@NonNull Uri uri, @Nullable String[] strings, @Nullable String s, @Nullable String[] strings1, @Nullable String s1) {
- Log.i("test","query");
- DBHelper dbHelper=new DBHelper(getContext(),"jiaokaobaodian.db",null,3);
- sqLiteDatabase = dbHelper.getReadableDatabase();
- return sqLiteDatabase.rawQuery("select * from jiaokaobaodian",null);
- }
- @Nullable
- @Override
- public String getType(@NonNull Uri uri) {
- Log.i("test","getType");
- return null;
- }
- @Nullable
- @Override
- public Uri insert(@NonNull Uri uri, @Nullable ContentValues contentValues) {
- Log.i("test","insert");
- return null;
- }
- @Override
- public int delete(@NonNull Uri uri, @Nullable String s, @Nullable String[] strings) {
- Log.i("test","delete");
- return 0;
- }
- @Override
- public int update(@NonNull Uri uri, @Nullable ContentValues contentValues, @Nullable String s, @Nullable String[] strings) {
- Log.i("test","update");
- return 0;
- }
- }
- <二>配置
- <?xml version="1.0" encoding="utf-8"?>
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="com.zking.y2_android16_sqlite">
- <application android:allowBackup="true" android:icon="@mipmap/ic_launcher"
- android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round"
- android:supportsRtl="true" android:theme="@style/AppTheme">
- <activity android:name=".MainActivity">
- <intent-filter>
- <action android:name="android.intent.action.MAIN" />
- <category android:name="android.intent.category.LAUNCHER" />
- </intent-filter>
- </activity>
- <provider
- android:authorities="com.zking.y2_android16_sqlite.MY"
- android:name="com.zking.provider.MyProvider"
- android:exported="true"
- android:enabled="true"
- ></provider>
- </application>
- </manifest>
<三>再新建一个程序,得到内容的访问者
- public class MainActivity extends AppCompatActivity {
- private ContentResolver contentResolver;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //得到内容访问者
- contentResolver = getContentResolver();
- }
- public void query(View view){
- //查询`
- Uri uri=Uri.parse("content://com.zking.y2_android16_sqlite.MY");
- Cursor cursor=contentResolver.query(uri,null,null,null,null);
- while(cursor.moveToNext()){
- int uid=cursor.getInt(cursor.getColumnIndex("uid"));
- Log.i("test",""+uid);
- }
- }
- }