Android我可以在媒体商店查询中使用JOIN

时间:2011-06-29 19:35:26

标签: java android join mediastore

有没有方法在mediastore数据的查询中使用join?

或者还有通过数据库而不是内容提供商访问mediastore数据的方法吗?

谢谢。

2 个答案:

答案 0 :(得分:3)

  

是否有任何方法可以在mediastore数据的查询中使用join?

内容提供商查询没有可能的JOIN,抱歉。

  

或者还有通过数据库而不是内容提供商访问mediastore数据的方法吗?

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

答案 1 :(得分:3)

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

来自Android文档的

Snippet:

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连接不完全相同,但它很有用。在每个“case”中,您可以使用指向已处理行的两个游标进行操作。