小编Kav*_*Kav的帖子

从 Firestore 集合中检索文档 ID (Android)

我正在尝试提取文档下自动生成的 ID,以便我可以在其他地方使用它。

这是完整的代码:

mStartChatButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            final HashMap<String, Object> myChatFields = new HashMap<>();
            myChatFields.put("dateJoined", ServerValue.TIMESTAMP );
            myChatFields.put("status", "");
            myChatFields.put("snoozeUntil", "");
            myChatFields.put("myCharacter", "");
            myChatFields.put("requestedCustomChatCode", "");
            myChatFields.put("groupChatName", "");
            myChatFields.put("toInviteMembers", "");
            myChatFields.put("lastMessage", "");
            myChatFields.put("lastMessageTimeStamp", ServerValue.TIMESTAMP);

            mWhammyUsersCollection.document(mCurrentUserId).collection("my-chats")
                    .document().set(myChatFields)
                    .addOnSuccessListener(new OnSuccessListener<Void>() {
                @Override
                public void onSuccess(Void aVoid) {

                    String chatId = mWhammyUsersCollection.document(mCurrentUserId)
                            .collection("my-chats").document().getId();

                    Log.v("CHATS", chatId);

                    myChatFields.put("chatCardId", chatId);

                    Intent goToChatActivity = new Intent(UserProfileActivity.this,
                            ChatActivity.class);
                    startActivity(goToChatActivity);

                }
            });
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在使用下面所示的代码生成一个名为“my-chats”的集合,并且 .document() 正在创建自动生成的文档 ID。

mWhammyUsersCollection.document(mCurrentUserId).collection("my-chats")
                    .document().set(myChatFields)
                    .addOnSuccessListener(new OnSuccessListener<Void>() {
Run Code Online (Sandbox Code Playgroud)

然后我使用下面显示的代码行尝试从该文档获取 id。

String chatId …
Run Code Online (Sandbox Code Playgroud)

java android firebase google-cloud-firestore

5
推荐指数
1
解决办法
2万
查看次数

无法理解 Java 8 中的以下 Lambda 方法

这个 Lambda 8 方法出现在 leetcode.com 上的一个建议答案中:https ://leetcode.com/problems/merge-intervals/discuss/21222/A-simple-Java-solution

以下是我似乎无法理解的方法:

int[][] intervals = {{8,10}, {1,3},{2,6},{15,18}};

Arrays.sort(intervals, (i1, i2) -> Integer.compare(i1[0], i2[0]));
Run Code Online (Sandbox Code Playgroud)

我知道Arrays.sort()按升序对数组进行排序,第二个参数应该是它对数组进行排序的范围。

我不明白的是 i1 和 i2 参数以及后面的Integer.compare()方法。

究竟是什么i1i2这里?它们是数组还是整数?

我们怎么不写了(int i1, int i2)?这是因为我们后来已经提到了Integer吗?

java lambda

0
推荐指数
1
解决办法
89
查看次数

标签 统计

java ×2

android ×1

firebase ×1

google-cloud-firestore ×1

lambda ×1