# What's difference between GroupChannelCollection and ChannelEventHandler when handling channel events?

**URL:** <https://community.sendbird.com/t/whats-difference-between-groupchannelcollection-and-channeleventhandler-when-handling-channel-events/5536>\
**Category:** Android\
**Tags:** group-channel, chatsdk\
**Created:** [September 7, 2022, 8:56am UTC](https://community.sendbird.com/t/whats-difference-between-groupchannelcollection-and-channeleventhandler-when-handling-channel-events/5536 "2022-09-07T08:56:21Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![XINHAOR](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/xinhaor/32/2977_2.png) [@XINHAOR](https://community.sendbird.com/u/XINHAOR)\
**Post date:** [September 7, 2022, 8:56am UTC](https://community.sendbird.com/t/whats-difference-between-groupchannelcollection-and-channeleventhandler-when-handling-channel-events/5536/1 "2022-09-07T08:56:21Z")

</div>

I see there are two ways to listener channel events. What’s difference between them?

For example, if I update a channel name, they onChannelChanged/onChannelsUpdated method will be triggered at same time?

What are their best scenarios?

> **[Group channel collection | Chat Android SDK | Sendbird Docs](https://sendbird.com/docs/chat/v4/android/local-caching/using-group-channel-collection/group-channel-collection#2-channel-events)**
>
> A GroupChannelCollection instance allows you to swiftly create a channel list view that remains up to date on all channel-related events. This page explains how to draw a view using the collection.

> **[Add or remove a channel event handler | Chat Android SDK | Sendbird Docs](https://sendbird.com/docs/chat/v4/android/event-handler/managing-channel-event-handlers/add-or-remove-a-channel-event-handler#2-add-a-channel-event-handler)**
>
> To receive and retrieve information about events happening in channels from the Sendbird server, you can add a channel event handler with its UNIQUE\_HANDLER\_ID by calling the SendbirdChat.addChannelHandler() method. You should declare...

---

<div class="post-metadata">

**Author:** ![Ian](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/ian/32/2077_2.png) [@Ian](https://community.sendbird.com/u/Ian)\
**Post date:** [September 7, 2022, 11:28pm UTC](https://community.sendbird.com/t/whats-difference-between-groupchannelcollection-and-channeleventhandler-when-handling-channel-events/5536/2 "2022-09-07T23:28:02Z")

</div>

Hello @XINHAOR, and welcome to the Sendbird community!

Group channel collections are only used with local caching. It allows your application to save the channel and channel list to the device for offline viewing. The events allow you to update the collection or remove the channels from the collection.

The channel event handler allows you to do something with the event that is emitted by the websocket, such as updating a conversation view when a new message is being received or displaying a typing status indicator.

---

<div class="post-metadata">

**Author:** ![XINHAOR](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/xinhaor/32/2977_2.png) [@XINHAOR](https://community.sendbird.com/u/XINHAOR)\
**Post date:** [September 8, 2022, 3:48am UTC](https://community.sendbird.com/t/whats-difference-between-groupchannelcollection-and-channeleventhandler-when-handling-channel-events/5536/3 "2022-09-08T03:48:27Z")

</div>

Thanks for your reply.

What is the usage scenario of Group channel collection events? Because I found duplicate events between them.

If I want to update conversations list view, which one should I use?
