1、SQLiteProvider
package com.njupt.mycontentprovider;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.net.Uri;
public class SQLiteProvider extends ContentProvider{
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
System.out.println("删除");
return 0;
}
@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
return null;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
System.out.println("增加");
return null;
}
@Override
public boolean onCreate() {
return false;
}
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
System.out.println("查询");
return null;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
System.out.println("修改");
return 0;
}
}
2、AdnroidManifest.xml
在AdnroidManifest.xml中的<application>中加上以下代码
<provider android:name="com.njupt.mycontentprovider.SQLiteProvider"
android:authorities="com.njupt.sqlite.provider"/>
3、新建一个项目(这里取名为other)
在MainActivity中写上一下代码:
package com.njupt.mycontentproviderother;
import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentResolver;
import android.content.ContentValues;
import android.view.Menu;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ContentResolver resolver = getContentResolver();
ContentValues values = new ContentValues();
Uri uri = Uri.parse("content://com.njupt.sqlite.provider");
resolver.insert(uri, values);
resolver.delete(uri, null, null);
resolver.update(uri, values, null, null);
resolver.query(uri, null, null, null, null);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}