public class MyProvider extends ContentProvider {
final static String TABLE_NAME = "test";
@Override
public int delete(Uri arg0, String arg1, String[] arg2) {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getType(Uri arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public Uri insert(Uri arg0, ContentValues arg1) {
// TODO Auto-generated method stub
return null;
}
@Override
public boolean onCreate() {
// TODO Auto-generated method stub
return false;
}
@Override
public Cursor query(Uri arg0, String[] arg1, String arg2, String[] arg3,
String arg4) {
// TODO Auto-generated method stub
//Cursor cur = mdbHelper.getWritableDatabase().rawQuery("select * from todo_table", null);
ToDoDB mdbHelper;
//Cursor cur2 = mdbHelper.test();
//return cur2;
//////////////////////////////////////
String content;
try {
/*
File file= new File("/sdcard/qq.txt");
FileInputStream in = new FileInputStream(file);
int length = (int) file.length();
byte[] buffer = new byte[length];
in.read(buffer, 0, length);
content = EncodingUtils.getString(buffer, "UTF-8");
in.close();*/
String[] columns = new String[] { "MyUser.User._ID", "MyUser.User.USER_NAME" };
MatrixCursor cur = new MatrixCursor(columns);
String[] values = new String[] { "0", "content" };
cur.moveToFirst();
cur.addRow(values);
return cur;
} catch (Exception e) {
return null;
}
}
@Override
public int update(Uri arg0, ContentValues arg1, String arg2, String[] arg3) {
// TODO Auto-generated method stub
return 0;
}
}
分享到:
相关推荐
3. **创建 Contract 类**:定义数据模型和常量,包括 Uri 构造、列名等。 4. **注册 ContentProvider**:在 AndroidManifest.xml 文件中注册你的 ContentProvider,指定其对应的 Uri 和对应的类。 5. **访问 ...
1. **获取ContentResolver实例**:在任何Activity或Service中,可以通过`getApplicationContext().getContentResolver()`来获取ContentResolver实例。 2. **构造ContentResolver操作**:使用`ContentResolver`提供...
在其他应用中,无需直接实例化ContentProvider,而是通过Context的`getContentResolver()`方法获取ContentResolver对象。然后,使用ContentResolver调用类似于ContentProvider方法的API,如`query()`, `insert()`, `...
然后,创建ContentResolver实例并构造出查询Uri,用于查询联系人: ```java ContentResolver resolver = getContentResolver(); Uri uri = Uri.parse("content://com.android.contacts/contacts"); ``` 步骤四:...
4. **增删改查操作**:在ContentProvider的insert()、update()、delete()方法中,我们将解析Uri获取需要操作的数据,然后构造相应的SQL语句,通过SQLiteDatabase对象执行。例如,insert()方法通常会调用...
2. 构造一个Uri对象,表示我们要访问的ContentProvider的路径,如:Uri uri = Uri.parse("content://com.example.sharedprovider/contacts"); 3. 使用ContentResolver的query()方法发起查询请求,传入Uri和可能的...
你需要创建一个`UriMatcher`实例,为每种类型的请求分配一个唯一的代码,然后在`match()`方法中使用它来解析传入的URI。 3. **数据存储**:选择合适的数据存储方式,如SQLite数据库、文件系统或网络。...
3. **Cursor**:ContentProvider返回给客户端的数据通常是Cursor对象,它是一个游标,可以用来遍历查询结果。Cursor提供了移动、读取数据等方法,使得开发者能够方便地处理查询结果。 4. **Provider**:这是...
通过创建AsyncQueryHandler实例,启动异步操作,并重写相关回调方法,我们可以方便地在后台执行ContentProvider的查询、插入、更新和删除操作。在实际开发中,正确使用AsyncQueryHandler对于提升应用性能和用户体验...
1. **获取ContentResolver对象**:在任何Android组件中,我们可以通过`getApplicationContext().getContentResolver()`获取ContentResolver实例。 2. **构造查询Uri**:为了查询联系人,我们需要构建指向联系人数据...
`ContentUris`是与ContentProvider相关的辅助类,用于处理与内容URI相关的操作,如添加、删除和更新数据时的URI构造。 3. **ContentValues**:这是一个键值对的集合,用于存储要插入或更新的数据。在上述代码中,...
应用程序可以通过ContentResolver调用ContentProvider的方法,无需直接实例化ContentProvider。ContentResolver的主要方法与ContentProvider对应: 1. `query(Uri uri, String[] projection, String selection, ...
下面我们将详细探讨Android系统中SQLite数据库的开发实例,包括如何进行常见的数据库操作。 1. **创建数据库和表** 在Android中,SQLite数据库通常通过`SQLiteOpenHelper`类来创建和管理。首先,我们需要创建一个...
`SQLiteQueryBuilder`允许动态构造SQL查询,而`ContentProvider`是Android框架的一部分,可以提供统一的数据访问接口,方便与其他应用程序共享数据。 此外,对于更复杂的数据操作,你可能需要了解事务处理。在...
在这段代码中,我们首先获取ContentResolver实例,然后构造一个指向特定数据集的Uri。接下来,调用query方法执行查询。这个方法接受四个参数:要查询的Uri、选择列、选择条件、分组列和排序顺序。 查询结果会返回一...
在构造函数中指定初始版本号,如`public MyDatabaseHelper(Context context, String name, CursorFactory factory, int version) {...}`。 2. **重写方法**:你需要重写`onCreate()`和`onUpgrade()`方法。`onCreate...
5. **SQLiteCursor**:当你执行查询操作后,结果会被返回为SQLiteCursor对象,它是一个可以遍历的游标,允许你逐行读取查询结果。 6. **异步操作**:考虑到UI线程不应被长时间阻塞,数据库操作通常在子线程中进行。...
- 创建 CursorAdapter 实例: 使用 Context 和 Cursor 构造 CursorAdapter,并可以选择自定义的布局文件。 - 设置 ListView: 将 CursorAdapter 设置为 ListView 的 adapter,ListView 将自动根据 Cursor 的内容更新...
- **启动机制**:ContentProvider的实例化是在首次被应用程序请求访问时由系统自动完成的。一旦创建,ContentProvider会一直运行直到应用程序或系统显式地销毁它。 ##### 1.2 SQLite相关知识点 - **SQLite简介**:...