Android移动应用基础教程【使用内容提供者共享数据】

编程之家收集整理的这篇文章主要介绍了Android移动应用基础教程【使用内容提供者共享数据】编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

一、内容提供者概述

在这里插入图片描述


在这里插入图片描述


在这里插入图片描述

二、创建内容提供者

在这里插入图片描述


在这里插入图片描述

三、访问其他应用程序

1、查询其他程序的数据

	//获取相应操作的Uri,Uri.parse()方法是将字符串转化成Uri对象。
	Uri uri = Uri.parse("content://cn.itcast.mycontentprovider/person"); 
	//获取ContentResolver对象
    ContentResolver resolver = context.getContentResolver();
    //通过ContentResolver对象查询数据
    Cursor cursor = resolver.query(Uri uri, String[] projection, String selection,
                                     String[] selectionArgs, String sortOrder);
    while (cursor.moveToNext()) {
        String address = cursor.getString(0); 
        long date = cursor.getLong(1);
        int type = cursor.getInt(2);
   }
    cursor.close();

在这里插入图片描述


在这里插入图片描述

2 、查询系统短信

在这里插入图片描述

四、内容观察者

1、什么是内容观察者

在这里插入图片描述


在这里插入图片描述

 //创建内容观察者
 private class MyObserver extends ContentObserver{
        public MyObserver(Handler handler) {
            super(handler);
        }
        //当观察到Uri代表的数据发生变化时调用方法,程序会回调onChange()方法
        //并在该方法中处理相关逻辑
        public void onChange(boolean selfChange) {
            super.onChange(selfChange);
          }
    }
  ContentResolver resolver = getContentResolver();
    Uri uri = Uri.parse("content://aaa.bbb.ccc");
    //注册内容观察者
    resolver.registerContentObserver(uri, true, new MyObserver(new Handler()));

在这里插入图片描述

 @Override
protected void onDestroy() {
     super.onDestroy();
     //取消注册内容观察者
     getContentResolver().unregisterContentObserver(new MyObserver(       
     											new Handler()));
}

在这里插入图片描述

2、监测数据变化

在这里插入图片描述

五、本章小结

本章详细地讲解了内容提供者的相关知识,首先简单地介绍了内容提供者,然后讲解了如何创建内容提供者以及如何使用内容提供者访问其他程序暴露的数据,最后讲解内容观察者,通过内容观察者观察数据的变化。本章所讲的ContentProvider是Android四大组件之一,在后续遇到程序之间需要共享数据时,会经常用到该组件,因此要求初学者一定要熟练掌握本章内容

为了记住你的笑容,我拼命按下心中的快门!——《美丽人生》

总结

以上是编程之家为你收集整理的Android移动应用基础教程【使用内容提供者共享数据】全部内容,希望文章能够帮你解决Android移动应用基础教程【使用内容提供者共享数据】所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您喜欢寻找一群志同道合、互帮互助的学习伙伴,可以点击下方链接加入:
编程之家官方1群
编程之家官方2群
编程之家官方3群
编程之家官方4群

相关文章

猜你在找的Android相关文章

*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不
基本概念: I frame :帧内编码帧 又称intra picture,I 帧通常是每个 GOP(MPEG 所使用的一种视频压缩技术)的第一个帧,经过适度地压缩,做为随机访问的参考点,可以当成图象。
*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不
*由于工作需要,需要利用MediaCodec实现Playback及Transcode等功能,故在学习过程中翻译了Google官方的MediaCodec API文档,由于作者水平限制,文中难免有错误和不
本文系作者自己学习之所用,文章内容仅出自作者拙劣之思考,问题之处烦请不吝指教。 在frameworksavmedialibmediamediaplayer.cpp中会有语句:const sp&
前言 最近Android对于文件的许多方法进行了修改,网络上又没有对Android4到Android11关于系统相机、系统相册和系统裁剪的适配方案,我花了几天事件总结了一下,先上源码 DEMO源码 先
1.使用内部存储 Android系统能够直接把文件存在设备的内部存储内。 默认情况下,保存在内部存储内的文件是应用程序私有的,其他应用程序(或用户)是无法访问的。 当用户卸载此应用程序时,内部存储的数
Android开发过程中,发现一个小问题,当我们点击屏幕下面的输入框时,我们的RadioGroup会跑到输入法的上面去,如下图 两种解决方法 1、Manifest.xml文件activity标签中添加
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注