ContentProvider-----一个完整的样例(一)

这篇博客介绍了Android的ContentProvider组件,用于处理复杂的DB数据。内容包括使用ContentProvider创建员工管理数据库,实现增删查改操作。文章提供了一个用户界面截图和四个关键代码文件:Employees.java, DBHelper.java, EmployeeProvider.java, ContentProviderFullDemoActivity.java,并给出了源码下载链接。" 95456290,5755489,RocketMQ消息发送详解:同步、异步与单向,"['消息队列', 'RocketMQ', '消息发送', '分布式']
摘要由CSDN通过智能技术生成

ContentProvider

    ContentProvider  是Android的四大组件之一,对于许多比较复杂的数据的处理,许多APP都是采用ContentProvider,来创建一个DB数据库,从而可以统一对DB数据进行处理。

   下面的这个样例,是创建一个员工管理的DB数据库,员工信息包括姓名,年龄,性别。我们可以对这个DB数据库进行基本的增,删,查,改操作。


用户界面如下图:




关键的代码:

1.Employees.java

public class Employees {

    public static final String AUTHORITY = "com.konka.provider.Employees";
    
    private Employees() {}
    
    // 内部类
    public static final class Employee implements BaseColumns {
        
    	// 构造方法
        private Employee() {}
        
        // 访问Uri
        public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/employee");
        
        // 内容类型
        public static final String CONTENT_TYPE = "vnd.android.cursor.dir/vnd.amaker.employees";
        public static final String CONTENT_ITEM_TYPE = "vnd.android.cursor.item/vnd.amaker.employees";
        
        // 默认排序常量
        public static final String DEFAULT_SORT_ORDER = "name DESC";// 按姓名排序
        
        // 表字段常量
        public static final String NAME = "name";                    // 姓名
        public static final String GENDER= "gender";                // 性别
        public static final String AGE = "age";                     // 年龄
    }		
}

2.DBHelper.java

/**
 * 
 * 数据库工具类
 */
public class DBHelper extends SQLiteOpenHelper{
    
	// 数据库名称常量
    private static final String DATABASE_NAME = "Employees.db";
    
    // 数据库版本常量
    private static final int DATABASE_VERSION = 1;
    
    // 表名称常量
    public static final String EMPLOYEES_TABLE_NAME = "employee";
    
    
    // 构造方法
    public DBHelper(Context context) {
        // 创建数据库
        super(context, DATABASE_NAME,null, DATABASE_VERSION);
    }

    
    // 创建时调用
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("CREATE TABLE " + EMPLOYEES_TABLE_NAME + " ("
                + Employee._ID + " INTEGER PRIMARY KEY,"
                + Employee.NAME + " TEXT,"
                + Employee.GENDER + " TEXT,"
                + Employee.AGE + " INTEGER"
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值