android_ContentProvider

来源:互联网 发布:spss统计软件 编辑:程序博客网 时间:2024/06/03 09:16

第一步先到已有数据的module获取数据

     第一步:先写一个类:然后继承ContentProvider类

DBHelper dbHelper = new DBHelper(getContext(), "G160628.db", null, 1);SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();     查询数据return sqLiteDatabase.rawQuery("select*from login",null);  然后返回
//具体代码如下
package provider;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 DB.DBHelper;/** * Created by Administrator on 2017/7/17. */public class MyProvider extends ContentProvider{    @Override    public boolean onCreate() {        return false;    }    @Nullable    @Override    public Cursor query(@NonNull Uri uri, @Nullable String[] projection, @Nullable String selection, @Nullable String[] selectionArgs, @Nullable String sortOrder) {        DBHelper dbHelper = new DBHelper(getContext(), "G160628.db", null, 1);        SQLiteDatabase sqLiteDatabase = dbHelper.getWritableDatabase();        return sqLiteDatabase.rawQuery("select*from login",null);    }    @Nullable    @Override    public String getType(@NonNull Uri uri) {        return null;    }    @Nullable    @Override    public Uri insert(@NonNull Uri uri, @Nullable ContentValues values) {        return null;    }    @Override    public int delete(@NonNull Uri uri, @Nullable String selection, @Nullable String[] selectionArgs) {        return 0;    }    @Override    public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection, @Nullable String[] selectionArgs) {        return 0;    }}
第二步在xml里配置
<provider    android:authorities="com.example.aqliet.login"    android:name="provider.MyProvider"//如点不出请用包名点    android:exported="true"    ></provider>

第三步新建一个module
在里面查询数据并打印
package com.example.aqliet_cs;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);        //获取aqlist的数据        ContentResolver cr=getContentResolver();        Uri uri=Uri.parse("content://com.example.aqliet.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);        }    }}
效果如下: