# Overview

The [Stream Chat Android SDK](https://github.com/GetStream/stream-chat-android) enables you to easily build any type of chat or messaging experience for Android, either in Kotlin or Java.

<admonition type="note">

The fastest way to get started with the SDK is by trying the [Android In-App Messaging Tutorial](https://getstream.io/tutorials/android-chat/). If you're using Jetpack Compose, see the [Compose In-App Messaging Tutorial](https://getstream.io/chat/compose/tutorial/) instead.

</admonition>

This section provides an overview of the SDK, explains the basic concepts, and shows you how to get started with building chat features.

The **Client** section contains guides on common tasks you might want to perform in the low level APIs.

The **UI Components** section describes the ready-to-use Android Views provided by the SDK, while the **Compose UI Components** section showcases our modular Jetpack Compose UI implementation.

There are four major components in the SDK that you can include in your app:

- [Client](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-client)
- [Offline support](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-offline)
- [UI components](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-ui-components)
- [Compose UI components](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-compose)

### Client

The client library is a low-level wrapper around the Stream Chat API. It lets you authenticate users, handle events, and perform operations such as creating channels and sending messages. Its entry point for all of these capabilities is the `ChatClient` class.

It also contains all the basic model objects you'll interact with when using Stream Chat, such as `User`, `Channel`, or `Message`.

### Offline Support

The offline support is a plugin that adds offline caching capabilities using a local database. For example, it allows you to send messages or add reactions while you're offline. When the user comes back online, the library will automatically recover lost events and retry sending messages.

This plugin exposes easy-to-use StateFlow objects for reading channels, messages, reads, typing, members, watchers and more. See [Offline Support](/chat/docs/sdk/android/v5/client/guides/offline-support/) for more details.

If you want to build custom UI for Stream Chat, you can build it on top of the offline library.

### UI Components

The UI Components library includes pre-built Android Views to easily load and display data from the Stream Chat API. These include a Channel List and a Message List, a Message Input View, and more. See the UI Components [Getting Started](/chat/docs/sdk/android/v5/ui/overview/) page for more details.

This library is built on top of the offline support library, and offers the quickest integration of Stream Chat into an Android application. It also has a variety of [theming](/chat/docs/sdk/android/v5/ui/general-customization/theming/) options to make it fit your app's needs.

You can see the UI Components in action by checking out the [UI Components Sample App](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-ui-components-sample), available in the GitHub repository.

### Compose UI Components

The Compose UI Components library is a chat UI implementation built from scratch with [Jetpack Compose](https://developer.android.com/jetpack/compose). It contains modular Composable functions for building channel lists, messaging screens, and more.

This is also built on top of the offline support library, and offers easy integration of Stream Chat into a Compose-based Android application. It's also highly modular and customizable.

Check out the Compose implementation in action by trying the open-source [Compose UI Components Sample App](https://github.com/GetStream/stream-chat-android/tree/v5/stream-chat-android-compose-sample).

---

This page was last updated at 2025-08-15T14:15:35.118Z.

For the most recent version of this documentation, visit [https://getstream.io/chat/docs/sdk/android/v5/](https://getstream.io/chat/docs/sdk/android/v5/).