您的位置:首页 > 数据库

Android中应用contentprovider来创建数据库的一些步骤:

2012-08-14 16:39 429 查看
1:首先创建一个xxprovider的class,它是extendscontentprovider的。

2:在这个xxprovider中首选定义要创建的数据库的databasename,以及databaseversion

3:非常重要的是:建立database的authority。值得注意的是这个authority必须和配置文件中的authority必须是一致的

4:创建这个数据库的要创建的数据表的名字tablename

5:创建外部通过访问数据表的Uri。(public
static
final Uri
PENDINGLIST_CONTENT_URI = Uri.parse("content://"
          
+ BrowserProvider.AUTHORITY +
"/"
          
+BrowserProvider.PENDINGLIST_TABLE_NAME);)值得注意的是这里必须是Uri而不是url。这个Uri是由三部分来组成。Content://和authority以及数据表。

6:定义需要创建数据表的一些属性列。然后可以用一个数组将这些属性列来封装起来

7:定义一个UriMacther,它的作用是当有多个数据表的时候,用来匹配当前操作的是哪个数据表的Uri

private
static
final UriMatcher
sUriMatcher;
   
static {
      
sUriMatcher =
new UriMatcher(UriMatcher.NO_MATCH);
      
sUriMatcher.addURI(AUTHORITY,
BOOKMARK_TABLE_NAME,
BOOKMARK_URI);
      
sUriMatcher.addURI(AUTHORITY,
PENDINGLIST_TABLE_NAME,
PENDINGLIST_URI);
      
sUriMatcher.addURI(AUTHORITY,
FOLDER_TABLE_NAME,
FOLDER_URI);
   
}

8:在这个xxprovider中需要定义一个内部类

  
Databasehleper它是继承了SQLiteOpenHelper,这个内部类有一个构造函数,已经重写了两个方法。

DatabaseHelper(Context context){
          
super(context,
DATABASE_NAME,
null,
DATABASE_VERSION);
      
}
@Override
      
public
void onCreate(SQLiteDatabase db) {
 
          
db.execSQL(“创建数据表的语句”
             

);
      
}
 
      
@Override
      
public
void onUpgrade(SQLiteDatabase db,
int oldVersion,
int newVersion) {
          

          
db.execSQL("DROP TABLEIF EXISTS " +
FOLDER_TABLE_NAME);
          
onCreate(db);
      
}

 

9:定义databasehleper这个类的一个对象,用于xxprovider来操作

10:重写xxprovider的几个方法

Delete insert oncreate query以及update等方法

 

这些步骤就是如何使用contentprovider来创建数据库
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐