http://blog.csdn.net/xiaodongvtion/article/details/7865669

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(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等方法

Android中应用contentprovider来创建数据库的一些步骤的更多相关文章

  1. Android中多表的SQLite数据库(译)

    原文: Android SQLite Database with Multiple Tables 在上一篇教程Android SQLite Database Tutorial中,解释了如何在你的And ...

  2. Android中使用ContentProvider进行跨进程方法调用

    原文同一时候发表在我的博客 点我进入还能看到很多其它 需求背景 近期接到这样一个需求,须要和别的 App 进行联动交互,比方下载器 App 和桌面 App 进行联动.桌面的 App 能直接显示下载器 ...

  3. Android中的GreenDao框架修改数据库的存储路径

    目前android中比较热门的数据库框架有greenDAO.OrmLite.AndrORM,其中我比较喜欢用GreenDao,其运行效率最高,内存消耗最少,性能最佳.具体怎么使用GreenDao,网上 ...

  4. Android中使用LitePal操控SQLite数据库

    <第一行代码>读书手札 (一)什么是LitePal数据库 LitePal数据库是安卓的一个开源库,我们在以后的开发中,将会遇到许许多多的开源库,感谢开源社 区:因为开源社区的存在,一些我们 ...

  5. android中的ContentProvider实现数据共享

    为了在应用程序之间交换数据,android中提供了ContentProvider,ContentProvider是不同应用程序之间进行数据交换的标准API.当一个应用程序需要把自己的数据暴露给其他程序 ...

  6. 在Android中查看和管理sqlite数据库

    在Android中可以使用Eclipse插件DDMS来查看,也可以使用Android工具包中的adb工具来查看.android项目中的sqlite数据库位于/data/data/项目包/databas ...

  7. C# 读取文件中的sql语句 创建数据库以及表结构

    大概思路是: 读取文件 根据文件中行内容为GO 作为分割  一条条放到list中 然后在程序中逐条执行sql语句; 值得一提的是 创建数据库的语句是不允许放到程序事务中执行的 所以目前我是分了两个文本 ...

  8. mysql数据库中,通过mysqladmin工具,创建数据库

    需求描述: 今天接触到了mysqladmin工具,主要是一个客户端工具,用来管理mysql server的 可以通过mysqladmin直接创建数据库,而不需要登录到mysql控制台中,在此记录下. ...

  9. Android中在sdcard上创建文件夹

    //在SD卡上创建一个文件夹    public void createSDCardDir(){     if(Environment.MEDIA_MOUNTED.equals(Environment ...

随机推荐

  1. Python glob.md

    glob 即使glob API非常简单, 但这个模块包含了很多的功能. 在很多情况下, 尤其是你的程序需要寻找出文件系统中, 文件名匹配特定模式的文件时, 是非常有用的. 如果你需要包含一个特定扩展名 ...

  2. BZOJ4236:JOIOJI(乱搞)

    Description JOIOJI桑是JOI君的叔叔.“JOIOJI”这个名字是由“J.O.I”三个字母各两个构成的. 最近,JOIOJI桑有了一个孩子.JOIOJI桑想让自己孩子的名字和自己一样由 ...

  3. 三、并行编程 - Task同步机制。TreadLocal类、Lock、Interlocked、Synchronization、ConcurrentQueue以及Barrier等

    在并行计算中,不可避免的会碰到多个任务共享变量,实例,集合.虽然task自带了两个方法:task.ContinueWith()和Task.Factory.ContinueWhenAll()来实现任务串 ...

  4. docker swarm英文文档学习-6-添加节点到集群

    Join nodes to a swarm添加节点到集群 当你第一次创建集群时,你将单个Docker引擎置于集群模式中.为了充分利用群体模式,可以在集群中添加节点: 添加工作节点可以增加容量.当你将服 ...

  5. ethereum/EIPs-170 Contract code size limit

    eip title author type category status created 170 Contract code size limit Vitalik Buterin Standards ...

  6. leetcode322—Coin Change

    You are given coins of different denominations and a total amount of money amount. Write a function ...

  7. Vue复选框的全选

    <!DOCTYPE html><html>    <head>        <meta charset="utf-8">      ...

  8. 【hdu4405】AeroplaneChess

    题目大意:问从0到n所花费时间平均时间.每次有投骰子,投到几就走几步.原题还有坐飞机 #include<iostream> #include<cmath> #include&l ...

  9. Linux系统扫描技术及安全防范

    1.概述 一.主机扫描 二.路由扫描 三.批量服务扫描 四.linux防范恶意扫描安全策略 一个典型的网络安全事件 ·案例:通过网络扫描方式获取某运营商核心设备管理权限 step01:通过tracer ...

  10. 20155330 《网络对抗》 Exp2 后门原理与实践

    20155330 <网络对抗> 实验二 后门原理与实践 基础问题回答 例举你能想到的一个后门进入到你系统中的可能方式? 在网站上下载非官方软件,所下载的软件中携带伪装过的后门程序. 例举你 ...