安卓移动开发作业三--contentprovider

安卓移动开发作业三--contentprovider

一、职位要求

1、contentprovider是Android四大组件之一技能特效,数据获取请使用其方法类;

2.请自己搭建一个provider,然后在其他app中使用resolver调用这个provider。

二、工作内容 1、职能描述

Android提供了ContentProvider,一个程序可以通过实现ContentProvider的一个抽象接口来充分暴露自己的数据。ContentProvider主要用于实现不同应用之间数据共享的功能。它有一整套机制,允许一个程序访问另一个程序中的数据,同时保证访问数据的安全性。本次实验中的效果如下材质材料,在contentprovide中可以访问到resolver安卓游戏开发安卓游戏开发,resolver可以调用contentprovider实现对SQLite数据库的操作。

2.核心代码

定义按钮:

Button button=findViewById(R.id.button);
        ContentResolver resolver=getContentResolver();
        Uri uri=Uri.parse("content://dsy.provider/student");
        ContentValues values=new ContentValues();
        values.put("name","dsy");
        values.put("age",18);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                resolver.insert(uri,values);
            }
        });

主要活动。Java代码:

package com.example.provider;
 
import androidx.appcompat.app.AppCompatActivity;
 
import android.os.Bundle;
 
public class MainActivity extends AppCompatActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        MyDao myDAO=new MyDao(this);
    }
}

我的内容提供者。Java代码:

package com.example.provider;
 
import android.content.ContentProvider;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
 
public class MyContentProvider extends ContentProvider {
    private MyDao myDAO;
    public MyContentProvider() {
 
    }
 
    @Override
    public int delete(Uri uri, String selection, String[] selectionArgs) {
        // Implement this to handle requests to delete one or more rows.
        throw new UnsupportedOperationException("Not yet implemented");
    }
 
    @Override
    public String getType(Uri uri) {
        // TODO: Implement this to handle requests for the MIME type of the data
        // at the given URI.
        throw new UnsupportedOperationException("Not yet implemented");
    }
 
    @Override
    public Uri insert(Uri uri, ContentValues values) {
        // TODO: Implement this to handle requests to insert a new row.
 
        //getContext().getContentResolver().insert(uri, values);
        return  myDAO.Daoinsert(values);
    }
 
    @Override
    public boolean onCreate() {
        // TODO: Implement this to initialize your content provider on startup.
        Context context=getContext();
        myDAO=new MyDao(context);
        return false;
    }
 
    @Override
    public Cursor query(Uri uri, String[] projection, String selection,
                        String[] selectionArgs, String sortOrder) {
        // TODO: Implement this to handle query requests from clients.
        throw new UnsupportedOperationException("Not yet implemented");
    }
 
    @Override
    public int update(Uri uri, ContentValues values, String selection,
                      String[] selectionArgs) {
        // TODO: Implement this to handle requests to update one or more rows.
        throw new UnsupportedOperationException("Not yet implemented");
    }
}

3、结果展示

制作开发类似小黑屋安卓游戏_安卓游戏开发_安卓游戏开发大型游戏

4.仓库地址

contentprovider:Android移动开发作业三——