一、职位要求
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移动开发作业三——