gpt4 book ai didi

android - (最佳)向自定义内容提供者传递控制消息的方法

转载 作者:行者123 更新时间:2023-11-30 04:49:42 26 4
gpt4 key购买 nike

android 内容提供者有针对一般嫌疑人的方法 {insert, delete, query, update} 但如果我想发送控制消息,则没有明显的机制。假设由 管理的其中一个表需要重置、清除和重新加载。如何才能做到这一点?我有几种方法,每种方法似乎都有些老套。

1) 为作业创建一个 Activity (或服务/接收器)。该 Activity 执行批量删除和插入。这似乎是最简单的,但是当内容提供者启动时,数据库助手会创建表并对其进行初始化。
在内容提供者的数据库助手和单独的 Activity 中复制初始化代码似乎效率低下。

2) 劫持内容提供者api。可以创建一个虚拟表,其中插入(或更新/查询/删除)方法将调用其他不可访问的方法。

3) 使用多重继承使内容提供者也是一个服务(或 Activity )。这可能最接近我想要的,但我不知道该怎么做。感觉很危险,尤其是当它是一项 Activity 时。

4) 有一个服务内容提供者对与 (3) 类似,但希望没有缺点。该服务将有助于完成所有控制类型的事情。例如,加载查找表,清除表,清除过期的元组,......如果这样做了,该服务将如何启动?由内容提供商?

最佳答案

3) 在 Java 中是不可能的。

4) 将简单地转储 ContentProvider 并使用服务提供的 API。

可能还有:

5) 让 ContentProvider 通过 getContext().registerReceiver() 注册一个 BroadcastReceiver,并为不同的操作发送广播给它

我还没有尝试过,但假设 getContext() 返回的 Context 支持它,它应该可以工作。

关于android - (最佳)向自定义内容提供者传递控制消息的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3873214/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com