我正在尝试为我的用户提供数据库类型的Android,我希望在以下预先考虑以后的兼容性:使某些行/元素仅在应用程序的“X版本”之后可用。
该应用的所有版本都将查询条目并在查询中提供其版本代码。
现在,我可以使用以下方法成功检索当前版本支持的行:
query.whereLessThanOrEqualTo("sinceVersion", getCurrentAppVersionCode(this));
但是,这不会解释和检索“sinceVersion”具有空值的行。
答案 0 :(得分:1)
您可以使用compound query
解决问题ParseQuery<TestParse> queryLessEqual = ParseQuery.getQuery(TestParse.class);
queryLessEqual.whereLessThanOrEqualTo("sinceVersion", getCurrentAppVersionCode(this));
ParseQuery<TestParse> queryDoesNotExists = ParseQuery.getQuery(TestParse.class);
queryDoesNotExists.whereDoesNotExist("sinceVersion");
ParseQuery<TestParse> compoundQuery = ParseQuery.or(Arrays.asList(queryLessEqual, queryDoesNotExists));
List<TestParse> list = compoundQuery.find();
其中TestParse
是来自Parse.com的课程