ContentProvider,多媒体和Service——客户端开发学习| 青训营笔记

83 阅读1分钟

image.png

这是我参与「第四届青训营 」笔记创作活动的的第6天

我使用的教材是《第一行代码》,感谢开放的互联网。

本篇内容包含:ContentProvider,多媒体和Service


ContentProvider

创建自己的~

创建子类继承ContentProvider,6个子方法需要重写

  • override fun onCreate()
  • query
  • insert
  • update
  • delete
  • getType
    • 返回MIME对象:
    • vnd + android.cursor.dir/andriod.cursor.item + vnd..

URL写法中:

.../fileName/id:可指定数据表中的某一数据

匹配用*(任意长度字符=任意表)和#(任意长度数字=任意一行内容)

UriMatcher:判断访问什么数据

传入三个参数:authority, path, 自定义代码

kotlin

  • 泛型:对变量不指定具体类型

    类似于cpp中的模板,需要在实例中指定类型 可以对模板变量进行限制

  • 委托:逻辑的实现交给另一个类来实现

    功能分类:

    • 类委托
    • 委托属性

关键字:by

【多媒体

通知

通知渠道:不同重要程度的通知

创建渠道需要:渠道id,渠道名称,重要等级 通知中放入长文本,图片...

调用摄像头和打开相册

播放多媒体

kotlin

infix函数:增强可读性

Git教学

  • 撤销未提交修改
  • 查看提交日志
  • 忽略文件

【Service

程序后台运行的解决方案

多线程


修改bug: 上一期中的问题,将修改条件由:

grantResults.isEmpty()&& grantResults[0] == PackageManager.PERMISSION_GRANTED

改为:

grantResults[0] == PackageManager.PERMISSION_GRANTED