Android 我可以在媒体存储查询中使用 JOIN 吗

发布于 2024-11-17 22:05:04 字数 86 浏览 5 评论 0原文

有没有任何方法可以在媒体存储数据的查询中使用联接?

或者还有什么方法可以通过数据库而不是内容提供商来访问媒体存储数据?

谢谢。

is there any method to use join in a query at mediastore data?

Or also is there any method to access the mediastore data through a database and not with the content provider?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

相权↑美人 2024-11-24 22:05:04

但我认为您可以使用与内容提供商的联接。如果进行两个查询,可以使用 CursorJoiner 将它们连接起来。我正在使用它并且效果很好。

Android 文档的片段:

CursorJoiner joiner = new CursorJoiner(cursorA, keyColumnsofA, cursorB, keyColumnsofB);
 for (CursorJointer.Result joinerResult : joiner) {
     switch (joinerResult) {
         case LEFT:
             // handle case where a row in cursorA is unique
             break;
         case RIGHT:
             // handle case where a row in cursorB is unique
             break;
         case BOTH:
             // handle case where a row with the same key is in both cursors
             break;
     }
 }

它与 SQL join 不完全相同,但很有用。在每种“情况”中,您都可以使用指向已处理行的两个游标进行操作。

But I think that you can use joins with content providers. If you make two queries, you can join them by using CursorJoiner. I am using it and it works good.

Snippet from Android docs:

CursorJoiner joiner = new CursorJoiner(cursorA, keyColumnsofA, cursorB, keyColumnsofB);
 for (CursorJointer.Result joinerResult : joiner) {
     switch (joinerResult) {
         case LEFT:
             // handle case where a row in cursorA is unique
             break;
         case RIGHT:
             // handle case where a row in cursorB is unique
             break;
         case BOTH:
             // handle case where a row with the same key is in both cursors
             break;
     }
 }

it is not exactly the same as SQL join but its useful. In each "case" you can manipulate with both cursors which are pointing to processed row.

筱武穆 2024-11-24 22:05:04

是否有任何方法可以在媒体存储数据的查询中使用联接?

抱歉,内容提供商查询无法进行 JOIN。

或者还有什么方法可以通过数据库而不是内容提供商来访问媒体存储数据?

仅当您编写自己的固件时。

is there any method to use join in a query at mediastore data?

There are no JOINs possible with content provider queries, sorry.

Or also is there any method to access the mediastore data through a database and not with the content provider?

Only if you write your own firmware.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文