原理部分1-2
代码实现部分3-5
原理部分开始--------------------------------------------------------------------------------------------------------------------------------------------
1.ContentProvider是一个抽象类,不能直接使用,需要把它实例化,重新定义一个非抽象类继承ContentProvider。
需要重写以下几个方法:
public class MyProvider extends ContentProvider {
private SQLiteDatabase sqLiteDatabase;
@Override
public boolean onCreate() {
return false;
}
@Override
public String getType( Uri uri) {
return null;
}
@Override
public Uri insert( Uri uri, ContentValues values) {
return null;
}
@Override
public Cursor query( Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
String name ="name";
if(uri == null){
throw new IllegalArgumentException("Unsupported URI:" + uri);
}
return sqLiteDatabase.query(name, projection, selection, selectionArgs,null,null, sortOrder,null);
}
@Override
public int update( Uri uri, ContentValues values, String selection, String[] selectionArgs) {
return 0;
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
return 0;
}
}
并在AndroidManifest里注册
<provider
android:authorities="com.example.administrator.model.MyProvider"
android:name=".MyProvider"/>
2.从1中可以看到,query方法中使用到了sqLiteDatabase,而sqLiteDatabase是一个抽象方法,所以需要创建一个类来实现sqLiteDatabase.只需要重写oncreate方法。
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDat