创建选择字符串作为游标构造函数的参数

时间:2014-04-30 13:09:26

标签: java android android-cursor android-cursorloader

我在我正在开发的项目中得到了这段代码,在 public Loader onCreateLoader(int id,Bundle args)的实现中

Uri baseUri=Events.CONTENT_URI;
final String[] EVENT_PROJECTION = new String[] {Events.CALENDAR_ID, 
                                                Events.ORGANIZER, 
                                                Events.TITLE, 
                                                Events.EVENT_LOCATION, 
                                                Events.DTSTART, 
                                                Events.DTEND, 
                                                Events.EVENT_TIMEZONE,
                                                Events.EVENT_END_TIMEZONE,
                                                Events.DURATION,
                                                Events.ALL_DAY,
                                                Events.RRULE,
                                                Events.RDATE,
                                                };
String selection = "((" + "this.isCalendarAvailable("+Events.CALENDAR_ID+") = ?)) AND ("
                        + "TimeUnit.MILLISECONDS.toDays(Long.parseLong("+Events.DTSTART+",10)) = ?))";
String[] selectionArgs = new String[]{"true",String.valueOf(selectedDate.getTimeInMillis())};
return new CursorLoader(this,baseUri,EVENT_PROJECTION, selection, selectionArgs, Events.DTSTART);

我想获取在可用日历上找到的所有事件的详细信息(在EVENT_PROJECTION中指定)(根据布尔方法isCalendarAvailable)并从selectedDate开始。

我尝试通过如上所述初始化字符串选择来做到这一点,但似乎由于误解了应该写入该字符串的方式而无法实现。

我已经知道我可以使用“AND”,“OR”和“=?”。 但是有没有其他语法规则可以将字符串用作cursorLoader构造函数的参数? 如果没有,是否有任何方法可以根据某些方法从Uri中选择我需要的东西(如上所述)?

提前多多感谢

0 个答案:

没有答案