MyProvider项目中的MyProvider.java
package practise.lxm.myprodiver; import android.content.ContentProvider; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; /** * Created by Administrator on 2015/4/9. * 提供Provider给其它程序调用 */ public class MyProvider extends ContentProvider { @Override public boolean onCreate() { System.out.println("onCreate"); return true; } @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { System.out.println("查询uri:" + uri.toString()); return null; } @Override public String getType(Uri uri) { return null; } @Override public Uri insert(Uri uri, ContentValues values) { System.out.println("插入uri:" + uri.toString() + ";contentValue:" + values.getAsString("value")); return Uri.parse("content://testInsert"); } @Override public int delete(Uri uri, String selection, String[] selectionArgs) { System.out.println("删除uri:" + uri.toString() + ";删除条件" + selection ); return 0; } @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { System.out.println("更新uri:" + uri.toString() + ";contentValue:" + values.getAsString("value")); return 0; } }
MyProvider项目中的AndroidManifest.xml中添加
<provider android:authorities="lxm.practise.provider" android:name=".MyProvider" android:exported="true"/>
MyResolver中的MainActivity.java
package practise.lxm.hello; import android.app.Activity; import android.content.ContentResolver; import android.content.ContentValues; import android.database.Cursor; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.widget.Toast; /** * 使用ContentResolver间接调用ContentProvider */ public class MainActivity extends Activity{ ContentResolver contentResolver; Uri uri; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); contentResolver = getContentResolver(); uri = Uri.parse("content://lxm.practise.provider"); } //新增 public void insert(View v){ ContentValues contentValues = new ContentValues(); contentValues.put("value","insertValue"); Uri insertUri = contentResolver.insert(uri,contentValues); Toast.makeText(MainActivity.this,"新加记录的Uri为:" + insertUri.toString(),Toast.LENGTH_LONG).show(); } //删除 public void delete(View v){ int delCount = contentResolver.delete(uri,"delete where",null); Toast.makeText(MainActivity.this,"删除数量为:" + delCount ,Toast.LENGTH_LONG).show(); } //修改 public void update(View v){ ContentValues contentValues = new ContentValues(); contentValues.put("value","updateValue"); int updateCount = contentResolver.update(uri,contentValues,"update where",null); Toast.makeText(MainActivity.this,"更新数量为:" + updateCount, Toast.LENGTH_LONG).show(); } //查询 public void query(View v){ Cursor cursor = contentResolver.query(uri,null,"select where",null,null); Toast.makeText(MainActivity.this,"查询结果为:" + cursor,Toast.LENGTH_LONG).show(); } }
时间: 2024-10-29 05:50:05