hellocontentprovider

package com.example.hellocontentprovider;

import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.UriMatcher;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;

public class HelloContentProvider extends ContentProvider{

	private static final UriMatcher um = new UriMatcher(UriMatcher.NO_MATCH); // match:匹配
	private SQLiteDatabase sqLite;  //成员变量  数据库
	
	@Override
	public int delete(Uri arg0, String arg1, String[] arg2) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public String getType(Uri arg0) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Uri insert(Uri arg0, ContentValues arg1) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public boolean onCreate() {
		//设置匹配字符串
		um.addURI("com.example.hellocontentprovider.provider.books", "book", 1);
		//创建数据库 数据库名为 shenshendb
		sqLite = SQLiteDatabase.openDatabase("/data/data/com.example.hellocontentprovider/shenshendb", null, 
				SQLiteDatabase.OPEN_READWRITE|SQLiteDatabase.CREATE_IF_NECESSARY);
							 //打开 读写                       创建必须的
		//创建名称为“books”表 并创建了id(自增长)和 bookname 两列;
		sqLite.execSQL("create table books ([id] integer primary key autoincrement not null, [bookname] varchar(30) not null)");
					//创建名字为 books 的表,它的id为整数并且主要关键key自动增量,  varchar:字符数据
		ContentValues cv = new ContentValues(); //键值对实例
		cv.put("bookname", "第一本书的名字");
		sqLite.insert("books", null, cv);
					 //表名称	     
		return false;
	}

	@Override
	public Cursor query(Uri arg0, String[] arg1, String arg2, String[] arg3,
			String arg4) {

		if(um.match(arg0) == 1){   //当匹配的第一个参数等于1时 执行下面
			Cursor cursor = sqLite.query("books", null, null, null, null, null, null);//第一个参数是表名,后面的参数都是关于筛选条件以及排序等
			return cursor;
		}else{
			return null;
		}
		
	}

	@Override
	public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
		// TODO Auto-generated method stub
		if(um.match(uri) == 1){
			int result = sqLite.update("book", values, null, null);
			return result;
		}
		return 0;
	}

}

在AndroidManifest.xml

<provider 
<span style="white-space:pre">	</span>android:name=".HelloContentProvider"
        android:authorities="com.example.hellocontentprovider.provider.books" >
</provider>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值