1.知识图谱
制作一个简易的获取内容提供者和访问者
在你的创建数据库的那个项目里,在新建一个MyProvider.java
package com.example.cookie.android0625sqlite;
import android.content.ContentProvider;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.util.Log;
import com.yindan.db.DbHelper;
/**
* Created by Administrator on 2017/7/17 0017.
*/
public class MyProvider extends ContentProvider {
@Override
public boolean onCreate() {
Log.i("test","onCreate");
return false;
}
@Nullable
@Override
public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) {
Log.i("test","query");
//把数据查询出来
DbHelper dbHelper=new DbHelper(getContext(),"CookieOne.db",null,1);
SQLiteDatabase sqLiteDatabase=dbHelper.getReadableDatabase();
return sqLiteDatabase.rawQuery("select * from login",null);
}
@Nullable
@Override
public String getType(@NonNull Uri uri) {
Log.i("test","getType");
return null;
}
@Nullable
@Override
public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {
Log.i("test","insert");
return null;
}
@Override
public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {
Log.i("test","delete");
return 0;
}
@Override
public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) {
Log.i("test","update");
return 0;
}
}
在该项目里面进行配置
<provider
android:authorities="com.example.cookie.android0625sqlite.LOGIN"
android:name="com.example.cookie.android0625sqlite.MyProvider"
android:exported="true"
></provider>
再new一个项目
package com.example.cookie.android0717contentresolver;
import android.content.ContentProvider;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取16次课的数据
//获取内容访问者
ContentResolver cr=getContentResolver();
Uri uri=Uri.parse("content://com.example.cookie.android0625sqlite.LOGIN");
Cursor cursor=cr.query(uri,null,null,null,null);
while(cursor.moveToNext()){
int uid=cursor.getInt(cursor.getColumnIndex("uid"));
String uname=cursor.getString(cursor.getColumnIndex("uname"));
String upass=cursor.getString(cursor.getColumnIndex("upass"));
Log.i("test",uid+" "+uname+" "+upass);
}
}
}