8000 GitHub - Pablit0x/BlueChat: Bluetooth Chat - Kotlin | Bluetooth | Room | DaggerHilt | ContentResolver | Coil | MVVM | Flows and Coroutines
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Bluetooth Chat - Kotlin | Bluetooth | Room | DaggerHilt | ContentResolver | Coil | MVVM | Flows and Coroutines

Notifications You must be signed in to change notification settings

Pablit0x/BlueChat

Repository files navigation

BlueChat - Android Bluetooth Chat Application

Note: BlueChat is currently a work in progress, and Bluetooth Low Energy (BLE) support is actively being developed.

BlueChat is an Android application that enables users to send text messages and images to other paired devices over Bluetooth. The app is built using Kotlin and utilizes Jetpack Compose for the user interface, Kotlin Flows for asynchronous data streaming, and Coroutines for handling concurrent tasks.

Video Demo

Blue.Chat.Demo.mov

Features

  • Establish Bluetooth connections with other devices.
  • Send and receive text messages over Bluetooth.
  • Send and receive images over Bluetooth.
  • Change device Bluetooth name.
  • Toggle Bluetooth on/off within the app.
  • Toggle Bluetooth discoverability within the app.
  • Scan for new Bluetooth devices.
  • Pair with new Bluetooth devices.
  • Unpair already paired devices.
  • Minimalistic and user-friendly UI using Jetpack Compose.
  • Efficient data streaming and handling with Kotlin Flows and Coroutines.

Requirements

  • Android device with Bluetooth support or Emulator with support for Virtual Bluetooth.
  • Android API level 33 or above.

Getting Started

To get started with BlueChat, follow these steps:

  1. Clone this repository to your local machine.

  2. Open the project in Android Studio.

  3. Build and run the application on your Android device or emulator.

Libraries and Technologies Used

  • Kotlin: Programming language used for app development.
  • Jetpack Compose: Modern UI toolkit for building native Android UI.
  • Kotlin Flows: Asynchronous data streaming for handling Bluetooth data.
  • Coroutines: For managing concurrency and asynchronous tasks.
  • Android Bluetooth API: For handling Bluetooth communication.
  • Room: For persistent storage of messages in a local SQLite database.
  • Dagger Hilt: For simple dependency injection, providing a clean and maintainable app architecture.
  • Coil: For async image loading.
  • Android Storage: For saving received images to the phone's internal storage.
  • Android System Photo Picker: For allowing users to select images from their device's gallery.

About

Bluetooth Chat - Kotlin | Bluetooth | Room | DaggerHilt | ContentResolver | Coil | MVVM | Flows and Coroutines

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0