什么是内容提供者?
contentprovider
有什么作用?
可以拿到其它服务的内容
@Override public boolean onCreate() { Log.i("test","onCreate"); return false; } @Nullable @Override public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) { Log.i("test","query"); DbHelper dbHelper=new DbHelper(getContext(),"G160628.db",null,1); SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase(); return sqLiteDatabase.rawQuery("select * from login",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 values) { Log.i("test","insert"); return null; } @Override public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) { Log.i("test","delete"); return 0; } @Override public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) { Log.i("test","update"); return 0; }
super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ContentResolver contentResolver=getContentResolver(); Uri uri=Uri.parse("content://com.example.g90020.login"); Cursor cursor=contentResolver.query(uri,null,null,null,null); while (cursor.moveToNext()){ int uid=cursor.getInt(cursor.getColumnIndex("uid")); String uname=cursor.getString(cursor.getColumnIndex("uname")); String upass=cursor.getString(cursor.getColumnIndex("upass")); Log.i("test",uname+""+upass+""+uid+"");
最后别忘了配置
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.g90020"> <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.example.g90020.login" android:name="com.zking.provider.Myprovider" android:exported="true" ></provider> </application> </manifest>