ContentProvider和app间传递数据
来源:互联网 发布:clock 算法 编辑:程序博客网 时间:2024/06/01 10:47
创建应用ContentWriter和CotentReader
在应用ContentWriter创建MyProvider继承ContentProvider
public class MyProviderextends ContentProvider {
publicstatic final Uri URI = Uri.parse("content://com.example.contentwriter");
privatestatic final StringTABLE = "t_person";
private SQLiteDatabasedatabase;
@Override
public boolean onCreate() {
// TODO Auto-generated method stub
database = getContext().openOrCreateDatabase("db_person.db", Context.MODE_PRIVATE,null);
String sql = "create table if not exists t_person(" +
"_id integer primary key autoincrement," +
"name text," +
"sex text" +
")";
database.execSQL(sql);
returntrue;
}
@SuppressLint("ShowToast")@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
// TODO Auto-generated method stub
Cursor cursor = database.query(TABLE, null, selection, selectionArgs, null, null, sortOrder);
return cursor;
}
@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
returnnull;
}
@Override
public Uri insert(Uri uri, ContentValues values) {
// TODO Auto-generated method stub
database.insert(TABLE,null, values);
returnnull;
}
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
// TODO Auto-generated method stub
int num =database.delete(TABLE, selection, selectionArgs);
return num;
}
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
// TODO Auto-generated method stub
int num =database.update(TABLE, values, selection, selectionArgs);
return num;
}
}
ContentWriter配置AndroidMainfest.xml,添加Provider,设置Provider属性Name为上面创建的类的名字MyProvider,Authorities为com.example.contentwriter,Exported为true
ContentWriter的MainActicity类的实现
public class MainActivityextends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button_insert).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentValues contentValues = new ContentValues();
contentValues.put("name","zmx");
contentValues.put("sex","女");
getContentResolver().insert(MyProvider.URI, contentValues);
}
});
findViewById(R.id.button_update).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
ContentValues contentValues = new ContentValues();
contentValues.put("name","lhl");
getContentResolver().update(MyProvider.URI, contentValues,"name=?", new String[] {"zmx"});
}
});
findViewById(R.id.button_delete).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
getContentResolver().delete(MyProvider.URI,"name=?", new String[] {"lhl"});
}
});
}
}
ContentReader的MainActivity类的实现
public class MainActivityextends ActionBarActivity {
privatestatic final Uri URI = Uri.parse("content://com.example.contentwriter");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Cursor cursor = getContentResolver().query(URI,null, "sex=?",new String[] {"女"},null);
cursor.moveToFirst();
for (int i = 0; i < cursor.getCount(); i++) {
String name = cursor.getString(cursor.getColumnIndex("name"));
String sex = cursor.getString(cursor.getColumnIndex("sex"));
Toast.makeText(getApplicationContext(), name + sex, Toast.LENGTH_SHORT).show();
cursor.moveToNext();
}
}
}
- ContentProvider和app间传递数据
- Android应用间数据传递:ContentProvider
- Android——使用ContentProvider在应用间传递数据
- android应用间数据传递(使用ContentProvider及SQLite在应用间传递数据)
- ContentProvider跨APP读取数据失败
- ContentProvider跨APP读取数据失败
- iOS两个APP之间的数据传递和跳转
- 数据共享ContentProvider和ContentResolver
- 使用ContentProvider和ContentResolver实现应用程序间的数据共享
- ContentProvider(2):分享自己APP的数据
- ContentProvider(3):分享自己APP的数据
- ContentProvider(4):怎样获取其他APP分享的数据
- ContentProvider和其他应用共享数据
- andoird---loadermanager和contentprovider结合,加载数据
- 分层和层间数据传递
- Activity间跳转和传递数据
- Activity间传递数据、生命周期和事件
- 如何在两个app 之间传递数据
- C++模板特化
- js window的使用
- HBASE+PHOENIX性能优化注解
- 冒泡法排序C++实现
- Android 学习资料收集
- ContentProvider和app间传递数据
- 搞懂php apache mysql tomcat
- java复习总结3
- 求解n皇后
- 开启Mysql远程访问权限
- uva10397 Connect the Campus
- MongoDB的c++封装api
- springAOP术语简介
- 集训队专题(9)1004 See you~