当前位置 : 主页 > 编程语言 > java >

内容提供者

来源:互联网 收集:自由互联 发布时间:2021-06-28
MainActivity.java package com.example.contentproviderdemo;import android.content.pm.PackageManager;import android.database.Cursor;import android.provider.ContactsContract;import android.support.annotation.NonNull;import android.support.v4.a
MainActivity.java
package com.example.contentproviderdemo;

import android.content.pm.PackageManager;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;
import java.util.jar.Manifest;

public class MainActivity extends AppCompatActivity {

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

    }
}
AndroidManifest.xml
 

 

  
    
  
    
   
    
     
      
      
     
    
  


 
MyProvider.java
package com.example.contentproviderdemo;

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;
import android.util.Log;


public class MyProvider extends ContentProvider {
    public static final int SUCCESS = 1;
    /**
     * 创建一个匹配器matcher,检查uri的匹配规则,如果uri匹配失败返回-1
     */

    static UriMatcher uriMatcher = new UriMatcher(UriMatcher.NO_MATCH);

    static {
        uriMatcher.addURI("com.example.contentproviderdemo", "account", SUCCESS);
    }

    @Override
    public boolean onCreate() {
        return false;
    }


    @Override
    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
        int code = uriMatcher.match(uri);
        if (code == SUCCESS) {

            MyDBOpenHelper helper = new MyDBOpenHelper(getContext());
            SQLiteDatabase db = helper.getWritableDatabase();
            Log.d("Myprovider", "query,查询一条数据");
            return db.query("account", projection, selection, selectionArgs, null, null, sortOrder);

        } else {
            throw new IllegalArgumentException("匹配失败");
        }
    }
    @Override
    public String getType(Uri uri) {
        return null;
    }

    @Override
    public Uri insert(Uri uri, ContentValues values) {
        int code = uriMatcher.match(uri);
        if (code == SUCCESS) {
            MyDBOpenHelper helper = new MyDBOpenHelper(getContext());
            SQLiteDatabase db = helper.getWritableDatabase();
            db.insert("account", null, values);
            Log.d("Myprovider", "insert,添加一条数据");
        } else {
            throw new IllegalArgumentException("匹配失败");
        }
        return null;
    }

    @Override
    public int delete(Uri uri, String selection, String[] selectionArgs) {
        int code = uriMatcher.match(uri);
        if (code == SUCCESS) {
            MyDBOpenHelper helper = new MyDBOpenHelper(getContext());
            SQLiteDatabase db = helper.getWritableDatabase();
            db.delete("account", selection, selectionArgs);
            Log.d("Myprovider", "delete,删除一条数据");
        } else {
            throw new IllegalArgumentException("匹配失败");
        }
        return 0;
    }

    @Override
    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
        int code = uriMatcher.match(uri);
        if (code == SUCCESS) {
            MyDBOpenHelper helper = new MyDBOpenHelper(getContext());
            SQLiteDatabase db = helper.getWritableDatabase();
            db.update("account", values, selection, selectionArgs);
            Log.d("Myprovider", "updata,更新一条数据");
        } else {
            throw new IllegalArgumentException("匹配失败");
        }
        return 0;
    }
}
MainActivity1.java
package com.example.contentproviderdemo;

import android.content.pm.PackageManager;
import android.database.Cursor;
import android.provider.ContactsContract;
import android.support.annotation.NonNull;
import android.support.v4.app.ActivityCompat;
import android.support.v4.content.ContextCompat;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.ArrayList;
import java.util.List;
import java.util.jar.Manifest;

public class MainActivity extends AppCompatActivity {

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

    }
}
网友评论