配置
<provider
//类名 android:name=".ProContent"
//标志 android:authorities="aaa"
//设置可向外输出 android:exported="true"></provider>
1.内容提供者提供openhelper类
public class OpenHelper extends SQLiteOpenHelper{ public OpenHelper(Context context) { super(context, "A.db",null,1); } @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { sqLiteDatabase.execSQL("create table a(id integer primary key,name varchar(20),age varchar(20))"); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) { } }2.1.内容提供者提供procontent类,相当于dao类,提供增删改查的方法
private OpenHelper openHelper; @Override public boolean onCreate() { openHelper = new OpenHelper(getContext()); return false; } @Nullable @Override public Cursor query(@NonNull Uri uri, @Nullable String[] strings, @Nullable String s, @Nullable String[] strings1, @Nullable String s1) { SQLiteDatabase readableDatabase= openHelper.getReadableDatabase(); Cursor a = readableDatabase.query("a", null, null, null, null, null, null); return a; } @Nullable @Override public String getType(@NonNull Uri uri) { return null; } @Nullable @Override public Uri insert(@NonNull Uri uri, @Nullable ContentValues contentValues) { //openHelper.getWritableDatabase().execSQL("insert into a(name,age)values(?,?)",new Object[]{contentValues.get("name"),contentValues.get("age")
});openHelper.getWritableDatabase().insert("a",null,contentValues);
return null; } @Override public int delete(@NonNull Uri uri, @Nullable String s, @Nullable String[] strings) { return 0; } @Override public int update(@NonNull Uri uri, @Nullable ContentValues contentValues, @Nullable String s, @Nullable String[] strings) { return 0; }
3.添加
ContentResolver contentResolver= getContentResolver(); Uri uri=Uri.parse("content://aaa"); ContentValues c=new ContentValues(); c.put("name","张三"); c.put("age","13"); contentResolver.insert(uri,c);
4.查找
TextView t= (TextView) findViewById(R.id.t);
ContentResolver contentResolver= getContentResolver();
//格式:content://标志//表名 Uri uri=Uri.parse("content://aaa"); Cursor query= contentResolver.query(uri, null, null, null, null); while (query.moveToNext()){ t.setText(query.getString(1)+query.getString(2)); }