//创建数据库类

package com.baiwei.sqlite;


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;


public class MySQLiteOpenHelper extends SQLiteOpenHelper {


public MySQLiteOpenHelper(Context context) {
super(context, "1408f.db", null, 1);
// TODO Auto-generated constructor stub
}


@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person(_id integer primary key autoincrement,name varchar(10),age integer)");


}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub


}


}



//ContentProvider的添加与查询的方法


package com.bawei.contentprovider;


import com.baiwei.sqlite.MySQLiteOpenHelper;


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 MyContentProvider extends ContentProvider {


private MySQLiteOpenHelper helper;
//private UriMatcher matcher;
   private static final int YES=1;
   
   static UriMatcher matcher=new UriMatcher(UriMatcher.NO_MATCH);
private SQLiteDatabase db;
private Cursor cursor;
   
   static{
    matcher.addURI("aaa", "lianjie", YES);
   }
   
   
@Override
public boolean onCreate() {
helper = new MySQLiteOpenHelper(getContext());

return true;
}
//查询数据
@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
if(matcher.match(uri)==YES){
db=helper.getWritableDatabase();
cursor = db.query("person", projection, selection, selectionArgs, null, null, sortOrder);
}

return cursor;
}


@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
return null;
}
//添加数据
@Override
public Uri insert(Uri uri, ContentValues values) {
if(matcher.match(uri)==YES){

db = helper.getWritableDatabase();

db.insert("person", null, values);
System.out.println("添加成功");
}
db.close();
return null;
}
//删除数据
@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
if(matcher.match(uri)==YES){

db=helper.getWritableDatabase();
db.delete("person", selection, selectionArgs);
System.out.println("删除成功");
}
db.close();
return 0;
}
//修改数据
@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
if(matcher.match(uri)==YES){
db=helper.getWritableDatabase();
db.update("person", values, selection, selectionArgs);
}
db.close();
return 0;
}


}


//Activity中的操作

package com.bawei.contentprovider;


import com.baiwei.sqlite.MySQLiteOpenHelper;


import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;


public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MySQLiteOpenHelper helper=new MySQLiteOpenHelper(this);
helper.getWritableDatabase();

}



}

更多相关文章

  1. 一句话锁定MySQL数据占用元凶
  2. Android中的数据存储方式
  3. ViewPager初步用法(二)
  4. RecyclerView添加行间距
  5. android路径获取
  6. 异常ExceptionInInitializerError解决方案
  7. Android(安卓)程序奔溃常见问题汇总
  8. 解析json格式数据
  9. android EditText增加删除事件

随机推荐

  1. Android安卓51个开源代码
  2. android 问题总结
  3. Android(安卓)总结
  4. 上百个Android开源项目分享
  5. android之组件1
  6. android 环境搭建 windows 和linux 环境
  7. 自定义ListView中的分割线
  8. actionbar设置menu以及获取item实例
  9. Android学习笔记之mainfest文件中android
  10. 另一个更简单的Android应用程序全屏的方