简述:

contentprovider:是安卓四大组件之一,是实现应用程序间数据共享最标准的方式。

若A提供数据给B,则A写contentprovider,B写resolver将数据释放出来。

本次实验将自建一个provider,然后在另一个app中使用resolver调用这个provider。

1.写resolver的app

主要代码

package com.example.appp1;import androidx.appcompat.app.AppCompatActivity;import android.content.ContentResolver;
import android.content.ContentValues;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;public class MainActivity extends AppCompatActivity {public Button button;private static final String AUTHORITY="lxy.Provider1";private  static final Uri NOTIFY_URI=Uri.parse("content://"+AUTHORITY+"/person");@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);button=findViewById(R.id.button);ContentResolver resolver=getContentResolver();Uri uri=Uri.parse("content://lxy.provider2/student");ContentValues values=new ContentValues();values.put("id",1);values.put("name","lxy");values.put("age","20");button.setOnClickListener(new View.OnClickListener(){@Overridepublic void onClick(View view) {resolver.insert(uri,values);}});}
}

界面

2.写provider的APP

主要代码

package com.example.provider;import android.content.ContentUris;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.net.Uri;public class MyDAO {
//操作数据对象的method方法private Context context;private SQLiteDatabase datebase;public MyDAO(Context context){this.context=context;MyDBhelper dBhelper=new MyDBhelper(context,"lxy",null,1);datebase=dBhelper.getWritableDatabase();}public Uri lxyInsert(ContentValues contentValues
){ContentValues values1 = new ContentValues();Uri uri=Uri.parse("content://lxy.provider2/student");Uri inserturi;long rowId=datebase.insert("student",null,values1);inserturi= ContentUris.withAppendedId(uri,rowId) ;context.getContentResolver().notifyChange(inserturi,null);return inserturi;}}

同时打开两个app,点击第一个app的button按钮,观察到app2新增加一条datebase记录

仓库地址

liuxinyi-monday/windows program - Gitee.com

安卓开发之利用contentprovider进行数据获取相关推荐

  1. Android安卓开发知识库汇总

    初级 Android 面试知识库 Android 面试题总结之Android 进阶(二) - fuchenxuan blog - 博客频道 - CSDN.NET 如何成为一名优秀的程序员 | Myst ...

  2. Android Studio安卓开发中使用json来作为网络数据传输格式

    如果你是在安卓开发中并且使用android studio,要使用json来作为数据传输的格式,那么下面是我的一些经验. 一开始我在android studio中导入那6个包,那6个包找了非常久,因为放 ...

  3. 安卓开发小知识 - 3

    内容来源:Android Development Tidbits // No. 3 这是第三次分享安卓开发中的一些小知识点.我们很高兴有这么多人知道了这个有趣的系列,并且对你们通过评论和邮件表达的支持 ...

  4. 安卓开发笔记(二十六):Splash实现首页快速开屏功能

    我们在进行安卓开发的时候,首页开有两种方式,一种是利用handler将一个活动进行延时,时间到达之后软件则会跳转到第二个活动当中.而另一种方法则是更加常用的方法,利用splash实现首页的快速开屏,这 ...

  5. 14天学会安卓开发(附PDF文档和全部示例代码)

    前言: 本人也是菜鸟,老鸟看了此文有哪里不好之处敬请指点,本书是根据<<Android应用开发揭秘>>攒写的,如何把一本书读薄,是一件值得思考的问题.相信看过那本书的都知道有5 ...

  6. 安卓开发实现俄罗斯方块游戏

    1.实现方式 *使用安卓开发实现 *使用开发工具:AndroidStudio 2.样例展示 1.游戏开始样例 2.游戏进行中 3.游戏暂停 4.游戏结束 3.代码展示 * 1.结构说明:控制显示的xm ...

  7. java安卓开发 快速入门_安卓程序员如何快速入门后端开发常识

    首先,对于安卓开发人员来说,学习一下后端开发知识是有必要的,一方面可以拓展自身的知识面,另一方面也可以推动自己走向全栈程序员发展路线,在云计算时代,全栈程序员的发展空间会更大一些. 相对来说,安卓程序 ...

  8. 最新《微专业Android安卓开发工程师课程》

    1.Android应用界面开发 资源下载 001 Android开发简介.flv 002 开始第一个应用.flv 003 Activity你必须知道的那些事(上).flv 004 Activity你必 ...

  9. 【安卓开发系列 -- APP】APP 开发基础技术整理

    [安卓开发系列 -- APP]APP 开发基础技术整理 [1]Android Studio APP 项目目录布局  [2]活动的生命周期 活动的状态 : 1. 运行状态,一个活动位于返回栈栈顶时,活动 ...

最新文章

  1. Servicehot和你说说运维自动化的那些事儿
  2. 安装mysql.dox_linux虚拟机上装mysql数据库-Go语言中文社区
  3. Spring Validation 校验
  4. boost::mp11::mp_same相关用法的测试程序
  5. js判断只能输入数字或小数点
  6. 针对SAP OData 模型Addresssable属性的不同处理
  7. laravel mysql视图,在 Laravel 视图文件中引入 bootstrap
  8. uboot的常用命令详解
  9. Windows 编程[20] - 改变菜单项并换行
  10. FPGA BCD计数器(多位)
  11. linux下运行二进制文件
  12. python 微信小程序签到系统_简易微信小程序签到功能
  13. 小程序uv访客怎么刷_免费小程序模板怎么选择?
  14. 金融×科技,成就大未来!
  15. 新体制SAR——BiDi SAR
  16. iOS weak和assign修饰OC对象的区别
  17. c语言去掉文件中重复单词,awk脚本 使用awk去掉重复的单词
  18. [电路]10-支路电流法
  19. 你所不知道的ndJSON:序列化与管道流
  20. 微信官方提供的生成二维码接口得到的是当前公众号的二维码

热门文章

  1. CSV乱码 - UTF-8 Unicode (with BOM)
  2. 为什么必须执行前端测试?
  3. dpkg: 处理软件包 xxx 出错时,解决办法
  4. sox进行音频文件的格式转化
  5. 关于pyautogui在游戏窗口不工作解决办法
  6. js百度地图计算点与折线最短距离
  7. 微信小程序-插件使用
  8. 答案原文及解释《二五鱼水八情深,四六相约二定来》指什么意思是什么含义怎么理解解答!!
  9. 全球卫星导航 看中国“北斗”
  10. 计算机无法使用标准账号,win10标准账户为何打不开其他应用