最近在看《第一行代码 Android 第三版》
众所周知,新手都是一个坑一个坑爬过来的。。。
在我学习到ProviderTest这个项目的时候,出现了一个奇怪的错误,在我点击Add To Book按钮的时候,程序崩溃了,但是我前面databasetest项目也创建好了,也写好了provider,在模拟器上运行过一遍了,但点击ProviderTest里的按钮的时候还是程序崩溃了,于是乎给按钮的操作加上了捕获异常的片段

 try{val newUri = contentResolver.insert(uri,values)bookId = newUri?.pathSegments?.get(1)}catch (e:Exception){e.printStackTrace()}

观察点击按钮之后的异常信息

E/ActivityThread: Failed to find provider info for com.example.databasetest.provider
W/System.err: java.lang.IllegalArgumentException: Unknown URL content://com.example.databasetest.provider/book
W/System.err:     at android.content.ContentResolver.insert(ContentResolver.java:1824)at com.example.providertest.MainActivity$onCreate$1.onClick(MainActivity.kt:24)
W/System.err:     at android.view.View.performClick(View.java:7125)at com.google.android.material.button.MaterialButton.performClick(MaterialButton.java:967)at android.view.View.performClickInternal(View.java:7102)at android.view.View.access$3500(View.java:801)at android.view.View$PerformClick.run(View.java:27336)at android.os.Handler.handleCallback(Handler.java:883)
W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:100)at android.os.Looper.loop(Looper.java:214)at android.app.ActivityThread.main(ActivityThread.java:7356)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:930)

看到最上面的一句,我疑惑了,找不到com.example.databasetest.provider这个provider,可是我明明写好了databasetest并且写好了provider了啊,一遍搜寻之后(到底还是我功力太浅了),最后终于发现在databasetest的AndroidManifest.xml文件里,注册的provider里的authorities属性写错了,所以导致provider找不到。

更改之后,重新运行一遍databasetest项目,然后关掉,最后再运行一遍providertest项目,点击按钮,没有报错,看样子问题解决了!

第一次写博客,可能写的不太好,后面我还会继续写我在android studio里爬过的坑,希望大家多多支持!

Android新手爬坑之路——Failed to find provider info for com.example.databasetest.provider相关推荐

  1. android局部动态刷新,RecyclerView的局部刷新爬坑之路简述

    RecyclerView的局部刷新爬坑之路简述,实际上RecyclerView做局部刷新是非常容易的,其实就是使用好带payload参数的这个notifyItemRangeChanged方法,以及ov ...

  2. Vue 爬坑之路(一)—— 使用 vue-cli 搭建项目

    Vue 爬坑之路(一)-- 使用 vue-cli 搭建项目 vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目,GitHub地址是:https: ...

  3. Vue 爬坑之路(六)—— 使用 Vuex + axios 发送请求

    Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-resource 目前主流的 Vue 项目,都选择 axios ...

  4. Django实现一个简单的中间件,不熟悉中间件的爬坑之路

    1.在之前,写过一篇文章,自定义一个简单的中间件,文章链接如下:https://blog.csdn.net/u012561176/article/details/84024073 后面,发现还是有问题 ...

  5. React爬坑之路二:Router+Redux

    上一篇写了Antd和Axios的基本操作 之前大标题到五了那么这篇从六开始 ST也是初学小白可能讲的完全不对 大家当做小说随便读读消遣一下就好 React官网:https://reactjs.org/ ...

  6. React爬坑之路三:Dva

    前两篇写了react各种基本操作和主要概念 但其实没必要那么复杂直接用框架就好啦 这年头前端框架真是一睁眼就多出好几个 傻瓜级教程写的不合理的地方请批评指正 React官网:https://react ...

  7. 低配服务器的个人建站爬坑之路

    @低配服务器的个人建站爬坑之路 低配服务器的个人建站爬坑之路 本文纯手打,转载请说明来源:https://blog.csdn.net/sqm1995/article/details/89374500 ...

  8. Espressif IDF for VSCode 爬坑之路二:ESP32 的 JTAG 调试(OpenOCD GDB)

    今天我们来探索如何在 Espressif IDF 插件里进行 JTAG 调试.如果还未成功安装与入门 Espressif IDF for VSCode,可以先参考 Espressif IDF for ...

  9. kotlin与java混合开发_使用kotlin和Java混合开发Android项目爬坑记录

    使用kotlin和Java混合开发Android项目爬坑记录 不定期将开发过程中遇到的问题添加在此处,加深记忆. 主要内容包括但不限于java与kotlin语言的一些区别,以及在使用android-s ...

最新文章

  1. Ubuntu 创建文件快捷方式 启动器
  2. RabbitMQ之RPC实现
  3. flutter-webview的坑用到第三方插件的
  4. Python的itertools.product 方法
  5. 运营商服务器系统,浪潮服务器助力运营商三大支撑系统上云
  6. TikTok是下一个流量蓝海吗?用户规模超抖音?
  7. 2022-03-23 转载C++中std::auto_ptr被废弃,由std::unique_ptr代替的原因
  8. 比较两个字符串相同的个数,并输出
  9. golang之web编程入门
  10. Visio流程图配色
  11. Android 权限的一个类型系统模型
  12. java clh_Java多线程编程CLH锁详解
  13. python_cv2_图片黑白操作
  14. 高级Magento模型 EAV
  15. 不可重现的bug如何处理
  16. Bonjour手把手搭建一:mDNS(apple multicastdns.org)
  17. 泰斗 GPS模块调试(1)
  18. 只是为了纪念机房颓废的日子
  19. 关于js中sort排序的用法
  20. 同一台 win10 服务器跑多个 wiki(包括 DokuWiki、django-wiki)

热门文章

  1. NC系统与一卡通集成解决方案(一)
  2. Fusion APP-添加检查软件更新功能
  3. 分水岭算法的理解和应用
  4. mybatis mybatis的resultType详解
  5. 微信朋友圈python广告评论_利用Python让你的微信朋友圈与众不同,更加高大上
  6. 【ZeloEngine】反射系统填坑小结
  7. X86与ARM平台下的参数传递机制
  8. 2021观澜二中高考成绩查询,深圳中学排名
  9. 如何评价一个新技术——以Docker为例
  10. 猪悟能论坛看贴工具(Discuz!7版) v1.0