gpt4 book ai didi

java - 解析 : How can I get Relation from a local data store (. ..fromLocalDatastore())?

转载 作者:太空宇宙 更新时间:2023-11-03 11:09:06 27 4
gpt4 key购买 nike

我正在开发一个应用程序作为学习,我正在使用 Parse (parse.com) 作为数据源。

我在解析中下载我的类的所有对象并保存到具有解析的本地存储。以下代码 fragment 执行其中一项下载:

public void noticia_getOrUpdate(boolean isUpdate) throws ParseException {
ParseQuery<Noticia> query = new ParseQuery(Noticia.class);
query.orderByDescending("createdAt");
List<Noticia> lNoticias = null;

try {
if (isUpdate) {
lNoticias = query.whereGreaterThan("updatedAt", this.sPref.ultimaAtualizacao_noticia()).find();
if (!lNoticias.isEmpty())
ParseObject.pinAllInBackground(lNoticias);
} else {
query.whereEqualTo("ativo", true);
lNoticias = query.find();

for (Noticia noticia : lNoticias) {
if (noticia.getUpdatedAt().getTime() > this.sPref.ultimaAtualizacao_noticia().getTime())
this.sPref.atualiza_noticia(noticia.getUpdatedAt());
}

ParseObject.pinAllInBackground(lNoticias);
this.sPref.atualiza_isUpdate(true);
}
} catch (ParseException e) {
e.printStackTrace();
}
}

问题是我正在下载我所有的类,一个是文件类型,是一个用作我的新闻图像的文件(“Noticia”)。我可以下载并存储所有现场数据存储,但无法使用以下代码恢复:

public static byte[] NoticiaMidiaRelation(Noticia noticia) {
try {
ParseRelation<Midia> relation = noticia.getImagem();
Midia midia = relation.getQuery().fromLocalDatastore.whereEqualTo("ativo", true).getFirst();

if (midia != null && midia.getFileData() != null)
return midia.getFileData();
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}

如果撤回“fromLocalDatastore”查询,他会寻找服务器并正确带入文件,但不想再次追查,因为如前所述,本地数据存储中已经存储了相同的图像。

另一种方法是获取媒体 Id 的关系,然后执行搜索以比较本地存储中的 ObjectId,但我认为属性“parent”是不可能的。但如果有的话,可以作为解决方案。

最佳答案

你不能根据文档:

By default, when fetching an obj ect, related ParseObjects are not fetched

有变通办法,但它们可能不实用,因为据我了解,当您调用 getFirst() 时,您的“Notica”类中的每个 ParseObject 关系中只有一个图像。在这种情况下,使用 Pointer将是一个更好的决定,但默认情况下也不会获取它们,但它们会缓存到 LocalDatastore。您需要将以下代码添加到您的查询 以获取 Pointer 对象。

query.include("your_column_key");

关于java - 解析 : How can I get Relation from a local data store (. ..fromLocalDatastore())?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29264112/

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