Android中應用contentprovider來建立數據庫的一些步驟

http://blog.csdn.net/xiaodongvtion/article/details/7865669數據庫

 

1:首先建立一個xxproviderclass,它是extendscontentprovider的。數組

2:在這個xxprovider中首選定義要建立的數據庫的databasename,以及databaseversionide

3:很是重要的是:創建databaseauthority。值得注意的是這個authority必須和配置文件中的authority必須是一致的函數

4:建立這個數據庫的要建立的數據表的名字tablenameurl

5:建立外部經過訪問數據表的Uri。(public static final Uri PENDINGLIST_CONTENT_URI = Uri.parse("content://"spa

           + BrowserProvider.AUTHORITY + "/".net

           +BrowserProvider.PENDINGLIST_TABLE_NAME);)值得注意的是這裏必須是Uri而不是url。這個Uri是由三部分來組成。Content//authority以及數據表。對象

6:定義須要建立數據表的一些屬性列。而後能夠用一個數組將這些屬性列來封裝起來blog

7:定義一個UriMacther,它的做用是當有多個數據表的時候,用來匹配當前操做的是哪一個數據表的Uri繼承

private static final UriMatcher sUriMatcher;

    static {

       sUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);

       sUriMatcher.addURI(AUTHORITYBOOKMARK_TABLE_NAMEBOOKMARK_URI);

       sUriMatcher.addURI(AUTHORITYPENDINGLIST_TABLE_NAMEPENDINGLIST_URI);

       sUriMatcher.addURI(AUTHORITYFOLDER_TABLE_NAMEFOLDER_URI);

    }

8:在這個xxprovider中須要定義一個內部類

   Databasehleper它是繼承了SQLiteOpenHelper,這個內部類有一個構造函數,已經重寫了兩個方法。

DatabaseHelper(Context context){

           super(context, DATABASE_NAMEnullDATABASE_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等方法

相關文章
相關標籤/搜索