真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android——ContentProvider(一)創(chuàng)建contentProvider

一、在AndroidManifest.xml文件中添加

成都創(chuàng)新互聯(lián)成立與2013年,先為濮陽縣等服務(wù)建站,濮陽縣等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為濮陽縣企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

 
  
二、創(chuàng)建數(shù)據(jù)庫SqliteOpenHelper
public class DbHelper extends SQLiteOpenHelper {

private static String name = "mydb.db";
private static int version = 1;// 初始的版本號(hào)是一

public DbHelper(Context context) {
super(context, name, null, version);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase database) {
// TODO Auto-generated method stub
String sql = "create table student (id integer primary key autoincrement ,name varchar(64) ,address varchar(64))";
database.execSQL(sql);// 對數(shù)據(jù)庫的表的創(chuàng)建
}

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

}

}

三、創(chuàng)建ContentProvider

public class StudentProvider extends ContentProvider {

private final String TAG = "StudentProvider";

private DbHelper helper = null;

private static final UriMatcher URI_MATCHER = new UriMatcher(
UriMatcher.NO_MATCH);
private static final int STUDENT = 1;// 操作單條記錄
private static final int STUDENTS = 2;// 操作多條記錄
static {
URI_MATCHER.addURI(
"com.example.android_contentprovider2.StudentProvider",
"student", STUDENTS);

URI_MATCHER.addURI(
"com.example.android_contentprovider2.StudentProvider",
"student/#", STUDENT);
}

public StudentProvider() {
// TODO Auto-generated constructor stub
}

@Override
public int delete(Uri uri, String selection, String[] selectionArgs) {
// TODO Auto-generated method stub
int count = -1;// 影響數(shù)據(jù)庫的行數(shù)
try {
int flag = URI_MATCHER.match(uri);
SQLiteDatabase database = helper.getWritableDatabase();
switch (flag) {
case STUDENT:
// content://com.example.android_contentprovider2.StudentProvider/student/1
// delete from student where id = ? //id 通過客戶端傳遞過來的
long id = ContentUris.parseId(uri);
String where_value = " id = " + id;
if (selection != null && !selection.equals("")) {
where_value += " and " + selection;
}
count = database.delete("student", where_value, selectionArgs);
break;
case STUDENTS:
count = database.delete("student", selection, selectionArgs);
break;
}
} catch (Exception e) {
// TODO: handle exception
}
return count;
}

@Override
public String getType(Uri uri) {
// TODO Auto-generated method stub
int flag = URI_MATCHER.match(uri);
switch (flag) {
case STUDENT:
return "vnd.android.cursor.item/student";
case STUDENTS:
return "vnd.android.cursor.dir/students";
}
return null;
}

@Override
public Uri insert(Uri uri, ContentValues values) {
// TODO Auto-generated method stub
// insert into student () (?,?);
Uri resultUri = null;
int flag = URI_MATCHER.match(uri);
switch (flag) {
case STUDENTS:
SQLiteDatabase database = helper.getWritableDatabase();
long id = database.insert("student", null, values);// 插入當(dāng)前行的行號(hào)
resultUri = ContentUris.withAppendedId(uri, id);
break;
}
Log.i(TAG, "---->>" + resultUri.toString());
return resultUri;
}

@Override
public boolean onCreate() {
// TODO Auto-generated method stub
helper = new DbHelper(getContext());
return true;
}

@Override
public Cursor query(Uri uri, String[] projection, String selection,
String[] selectionArgs, String sortOrder) {
// TODO Auto-generated method stub
Cursor cursor = null;
try {
SQLiteDatabase database = helper.getReadableDatabase();
int flag = URI_MATCHER.match(uri);
switch (flag) {
case STUDENT:
long id = ContentUris.parseId(uri);
String where_value = " id = " + id;
if (selection != null && !selection.equals("")) {
where_value += " and " + selection;
}
cursor = database.query("student", null, where_value,
selectionArgs, null, null, null, null);
break;
case STUDENTS:
cursor = database.query("student", null, selection,
selectionArgs, null, null, null);
break;
}
} catch (Exception e) {
// TODO: handle exception
}
return cursor;
}

@Override
public int update(Uri uri, ContentValues values, String selection,
String[] selectionArgs) {
// TODO Auto-generated method stub
int count = -1;
try {
// update table set name = ? ,address = ? where id = ?
SQLiteDatabase database = helper.getWritableDatabase();
long id = ContentUris.parseId(uri);
int flag = URI_MATCHER.match(uri);
switch (flag) {
case STUDENT:
String where_value = " id = " + id;
if (selection != null && !selection.equals("")) {
where_value += " and " + selection;
}
count = database.update("student", values, where_value,
selectionArgs);
break;

}
} catch (Exception e) {
// TODO: handle exception
}
return count;
}

}

附件:http://down.51cto.com/data/2364447

分享文章:Android——ContentProvider(一)創(chuàng)建contentProvider
文章路徑:http://weahome.cn/article/ijhihs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部