【问题标题】:Is there a way to setResources to XML file from firestore?有没有办法从firestore将资源设置为XML文件?
【发布时间】:2021-11-15 03:20:11
【问题描述】:

我发现应用程序可以通过 getResource().getStringArray() 方法获取 XML 文件中的字符串数组值,但是我有什么方法可以从 Firestore 本身获取字符串数组值并将其设置到XML 文件?我想从“eventRole”获取数据并将其设置为 XML 文件。希望能找到答案,谢谢。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name = "Roles">
        <item> </item>
    </string-array>

</resources>

【问题讨论】:

  • 当然可以。向我们展示您需要的 Firestore 的确切值。
  • @AlexMamo 我已经附加了 Firestore 结构。
  • 那么你需要在Java代码中获取你的eventRole数组的内容吗?
  • @AlexMamo 是的,我想获取数组并将其填充到我的 XML 资源文件中,如上所示。

标签: java android firebase google-cloud-platform google-cloud-firestore


【解决方案1】:

是的,我想获取数组并将其填充到我的 XML 资源文件中,如上所示。

您不能也不应该将数据写入您的 XML 资源文件。如果您想在文件中显式执行此操作,则应考虑在设备上使用external storage

如果您只需要从 Firestore 读取数据以将其显示在视图中,只需使用以下代码行:

FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
CollectionReference eventRef = rootRef.collection("event");
eventRef.document("8B1shfn8Nwkvh39aRnEK").get().addOnCompleteListener(new OnCompleteListener<DocumentSnapshot>() {
    @Override
    public void onComplete(@NonNull Task<DocumentSnapshot> task) {
        if (task.isSuccessful()) {
            DocumentSnapshot document = task.getResult();
            if (document.exists()) {
                List<String> eventRole = (List<String>) document.get("eventRole");
                for (String e : eventRole) {
                    Log.d("TAG", e);
                }
            } else {
                Log.d(TAG, "No such document");
            }
        } else {
            Log.d(TAG, "get failed with ", task.getException());
        }
    }
});

logcat 中的结果将是:

event leader
event helper
site supervisor

如果您需要在整个应用程序中保留这些数据,那么您还应该考虑使用SharedPreferences

【讨论】:

    猜你喜欢
    • 2011-04-29
    • 1970-01-01
    • 2023-01-13
    • 2021-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    相关资源
    最近更新 更多