当前位置: 首页>>代码示例>>Java>>正文


Java DocumentChange.getType方法代码示例

本文整理汇总了Java中com.google.firebase.firestore.DocumentChange.getType方法的典型用法代码示例。如果您正苦于以下问题:Java DocumentChange.getType方法的具体用法?Java DocumentChange.getType怎么用?Java DocumentChange.getType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在com.google.firebase.firestore.DocumentChange的用法示例。


在下文中一共展示了DocumentChange.getType方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onEvent

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
    for (DocumentChange change : documentSnapshots.getDocumentChanges()) {
        switch (change.getType()) {
            case ADDED: {
                String groupId = change.getDocument().getId();
                FirebaseFirestore.getInstance()
                        .collection("groups")
                        .document(groupId)
                        .collection("items")
                        .addSnapshotListener(new GroupItemsChangeListener(groupId));
            }
            break;
        }
    }
}
 
开发者ID:whirlwind-studios,项目名称:School1-Android,代码行数:17,代码来源:DashboardAdapter.java

示例2: deliverUpdate

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
/**
 * Delivers the entity state update represented by the given {@link DocumentChange} to
 * the observers of the given {@link LiveData}.
 *
 * @param change      the Firestore document change
 * @param destination the {@link LiveData} publishing the update
 * @param parser      the {@link Parser} for the target entity state type
 * @param <T>         the entity state type
 */
private static <T extends Message>
void deliverUpdate(DocumentChange change,
                   MutableLiveData<Map<String, T>> destination,
                   Parser<T> parser) {
    final DocumentChange.Type type = change.getType();
    final Map<String, T> currentData = destination.getValue();
    final Map<String, T> newData = currentData == null
                                   ? newHashMap()
                                   : newHashMap(currentData);
    final DocumentSnapshot doc = change.getDocument();
    final String id = parseMessageId(doc);
    final T newMessage = parseMessage(doc, parser);

    if (type == ADDED || type == MODIFIED) {
        newData.put(id, newMessage);
    } else {
        throw newIllegalArgumentException("Unexpected document change: %s", type.toString());
    }
    destination.postValue(newData);
}
 
开发者ID:SpineEventEngine,项目名称:todo-list,代码行数:30,代码来源:FirebaseSubscriber.java

示例3: onEvent

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
    if (e != null) {
        Log.w(TAG, "onEvent:error", e);
        onError(e);
        return;
    }

    // Dispatch the event
    Log.d(TAG, "onEvent:numChanges:" + documentSnapshots.getDocumentChanges().size());
    for (DocumentChange change : documentSnapshots.getDocumentChanges()) {
        switch (change.getType()) {
            case ADDED:
                onDocumentAdded(change);
                break;
            case MODIFIED:
                onDocumentModified(change);
                break;
            case REMOVED:
                onDocumentRemoved(change);
                break;
        }
    }

    onDataChanged();
}
 
开发者ID:firebase,项目名称:quickstart-android,代码行数:27,代码来源:FirestoreAdapter.java

示例4: onEvent

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
@Override
public void onEvent(QuerySnapshot snapshots, FirebaseFirestoreException e) {
    if (e != null) {
        notifyOnError(e);
        return;
    }

    // Break down each document event
    List<DocumentChange> changes = snapshots.getDocumentChanges();
    for (DocumentChange change : changes) {
        switch (change.getType()) {
            case ADDED:
                onDocumentAdded(change);
                break;
            case REMOVED:
                onDocumentRemoved(change);
                break;
            case MODIFIED:
                onDocumentModified(change);
                break;
        }
    }

    notifyOnDataChanged();
}
 
开发者ID:firebase,项目名称:FirebaseUI-Android,代码行数:26,代码来源:FirestoreArray.java

示例5: onEvent

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
@Override
public void onEvent(QuerySnapshot documentSnapshots, FirebaseFirestoreException e) {
    for (DocumentChange change : documentSnapshots.getDocumentChanges()) {
        switch (change.getType()) {
            case ADDED: {
                Group group = new Group();
                group.setId(change.getDocument().getId());
                userGroups.add(group);
                adapter.setUserGroups(userGroups);

                FirebaseFirestore.getInstance()
                        .collection("groups")
                        .whereEqualTo("parentGroup", change.getDocument().getId())
                        .addSnapshotListener(CoursesFragment.this);
            }
            break;
            case REMOVED: {
                for (int i = 0; i < userGroups.size(); i++)
                    if (userGroups.get(i).getId().equals(change.getDocument().getId())) {
                        userGroups.remove(i);
                        adapter.notifyDataSetChanged();
                        return;
                    }
            }
            break;
        }
    }
}
 
开发者ID:whirlwind-studios,项目名称:School1-Android,代码行数:29,代码来源:CoursesFragment.java

示例6: onEvent

import com.google.firebase.firestore.DocumentChange; //导入方法依赖的package包/类
@Override
public void onEvent(QuerySnapshot documentSnapshots,
                    FirebaseFirestoreException e) {

    // Handle errors
    if (e != null) {
        Log.w(TAG, "onEvent:error", e);
        return;
    }

    // Dispatch the event
    for (DocumentChange change : documentSnapshots.getDocumentChanges()) {
        // Snapshot of the changed document
        DocumentSnapshot snapshot = change.getDocument();

        switch (change.getType()) {
            case ADDED:
                onDocumentAdded(change);
                break;
            case MODIFIED:
                onDocumentModified(change);
                break;
            case REMOVED:
                onDocumentRemoved(change);
                break;
        }
    }

    onDataChanged();
}
 
开发者ID:chauhan-abhi,项目名称:CloudFirestore,代码行数:31,代码来源:FirestoreAdapter.java


注:本文中的com.google.firebase.firestore.DocumentChange.getType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。