91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android——ContentProvider (一)創建contentProvider

發布時間:2020-06-24 20:22:19 來源:網絡 閱讀:354 作者:just2012xia 欄目:移動開發

一、在AndroidManifest.xml文件中添加

 <provider
            android:name=".StudentProvider"
            android:authorities="com.example.android_contentprovider2.StudentProvider" >
  </provider>
二、創建數據庫SqliteOpenHelper
public class DbHelper extends SQLiteOpenHelper {

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

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);// 對數據庫的表的創建
}

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

}

}


三、創建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;// 影響數據庫的行數
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);// 插入當前行的行號
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
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

宁陕县| 东城区| 平果县| 曲水县| 五大连池市| 大埔区| 沈丘县| 甘孜| 广州市| 张家川| 唐山市| 都安| 营口市| 遂溪县| 县级市| 郯城县| 东兰县| 普定县| 车致| 祁门县| 南陵县| 同江市| 如东县| 吴桥县| 乌兰浩特市| 耒阳市| 六安市| 芜湖市| 邢台县| 合水县| 龙岩市| 阳泉市| 多伦县| 盐源县| 灵璧县| 正宁县| 宁乡县| 津南区| 成武县| 泾川县| 双鸭山市|