Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android編程入門 >> Android 創建內容提供器

Android 創建內容提供器

編輯:Android編程入門

如果想要實現跨程序共享數據的功能,官方推薦的方式就是使用內容提供器,可以通過新建一個類去繼承 ContentProvider 的方式來創建一個自己的內容提供器。

ContentProvider 類中有六個抽象方法,使用子類繼承它的時候,需要將這六個方法全部重寫。

public class MyProvider extends ContentProvider {
    @Override
    public boolean onCreate() {
        /**
         * 初始化內容提供器的時候調用。
         * 通常會在這裡完成對數據庫的創建和升級等操作
         * 返回值表示初始化是否成功。
         * 只有當存在 ContentResolver嘗試訪問程序中的數據時,內容提供器才會被初始化
         */
        return false;
    }

    @Nullable
    @Override
    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
        /**
         * 從內容提供器中查詢數據。
         * 使用uri參數來確定查詢哪張表,projection參數用於確定查詢哪些列
         * selection和selectionArgs參數用於約束查詢哪些行,sortOrder參數用於對結果進行排序
         * 查詢的結果存放在Cursor對象中返回
         */
        return null;
    }

    @Nullable
    @Override
    public String getType(Uri uri) {
        /**
         * 根據傳入的內容URI來返回相應的MIME類型
         */
        return null;
    }

    @Nullable
    @Override
    public Uri insert(Uri uri, ContentValues values) {
        /**
         * 向內容提供器中添加一條數據。
         * 使用uri參數來確定要添加到的表,待添加的數據保存在values參數中
         * 添加完成後,返回一個用於表示這條新記錄的URI
         */
        return null;
    }

    @Override
    public int delete(Uri uri, String selection, String[] selectionArgs) {
        /**
         * 從內容提供器中刪除數據。
         * 使用uri參數來確定刪除哪一張表中的數據,selection和selectionArgs參數用於約束更新哪些行
         * 被刪除的行數將作為返回值返回
         */
        return 0;
    }

    @Override
    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
        /**
         * 更新內容提供器中已有的數據。
         * 使用uri參數來確定更新哪一張表中的數據,新數據保存在values參數中
         * 受影響的行數將作為返回值返回
         */
        return 0;
    }
}

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved