Digital-Signage-Kotlin-Android-TV is an Android TV application designed to transform any standard Android TV device into a digital signage display. It allows you to showcase a curated list of images, videos, and web content on a continuous loop, ideal for advertising, informational displays, or internal communications. Built with Kotlin, it leverages the Android TV platform for a seamless and optimized viewing experience.
This application is ideal for:
- Businesses looking for cost-effective digital signage solutions.
- Organizations needing to display information in public areas.
- Individuals wanting to repurpose Android TV devices for personal displays.
- Developers seeking a well-structured Kotlin-based Android TV project to learn from.
- Media Playback: Supports a variety of image and video formats.
- Playlist Management: Easily create and manage playlists of content to be displayed.
- Scheduling: Schedule content to be displayed at specific times.
- Remote Management: Control the display remotely via a web interface (Future Enhancement).
- Web Content Integration: Display web pages and dynamic content using WebView.
- User-Friendly Interface: Intuitive interface optimized for Android TV navigation.
- Offline Support: Content can be cached for playback without an internet connection.
- Customizable Layouts: Adapt the display to fit different screen sizes and orientations.
-
Clone the repository:
git clone https://github.com/zakarialabib/Digital-Signage-Kotlin-Android-TV.git
-
Open the project in Android Studio.
- Ensure you have the latest version of Android Studio installed.
- Import the cloned project into Android Studio.
-
Configure the project:
- Update the
build.gradlefiles with the necessary dependencies and configurations. - Set the
applicationIdin thebuild.gradlefile.
- Update the
-
Build and run the app on an Android TV device or emulator.
- Connect your Android TV device to your development machine.
- Build the APK in Android Studio (
Build > Build Bundle(s)/APK(s) > Build APK(s)). - Install the APK on your Android TV device using ADB (
adb install app-debug.apk). - Alternatively, run the app directly from Android Studio on a connected device or emulator.
-
Launch the app on your Android TV device.
- Navigate to the app icon on your Android TV home screen and launch the application.
-
Configure the media playlist.
- [User Input Needed]: Provide instructions on how to add images/videos to the playlist (e.g., through a settings menu). If using a configuration file, explain its format and location.
-
Start the slideshow.
- Once the playlist is configured, initiate the slideshow to begin displaying the content.
-
Customize display settings.
- [User Input Needed]: Describe how users can adjust settings like display duration, transition effects, and screen orientation.
-
Remote Control (Future Enhancement).
- Future versions will allow for remote control and management of the signage via a web interface.
Digital-Signage-Kotlin-Android-TV/
├── app/ # Contains the Android application source code
│ ├── src/ # Source code directory
│ │ ├── main/ # Main application source files
│ │ │ ├── java/ # Kotlin source code
│ │ │ │ └── ... # Application logic, activities, fragments, etc.
│ │ │ ├── res/ # Resources (layouts, drawables, strings, etc.)
│ │ │ └── AndroidManifest.xml # Application manifest file
│ ├── build.gradle # Gradle build file for the app module
├── build.gradle # Top-level Gradle build file
├── settings.gradle # Gradle settings file
└── README.md # This file
- Kotlin
- AndroidX libraries
- Glide (for image loading and caching)
- ExoPlayer (for video playback)
[User Input Needed]: Specify versions of dependencies
We welcome contributions to Digital-Signage-Kotlin-Android-TV! If you'd like to contribute, please follow these guidelines:
- Fork the repository.
- Create a new branch for your feature or bug fix.
- Make your changes and commit them with clear, concise messages.
- Submit a pull request to the
mainbranch.
Please ensure your code adheres to the Kotlin coding style and includes appropriate unit tests.
-
App crashes on startup:
- Ensure your Android TV device meets the minimum system requirements.
- Check the logs in Android Studio for any error messages.
- Verify that all dependencies are correctly configured in the
build.gradlefile.
-
Videos not playing:
- Ensure the video format is supported by ExoPlayer.
- Check the video file path and permissions.
-
Images not loading:
- Verify that the image format is supported by Glide.
- Check the image file path and permissions.
-
Display issues:
- [User Input Needed]: Add common display issues and solutions, specific to the application.
- [User Input Needed]: Add a section on known issues and workarounds, if applicable.
This project is licensed under the MIT License - see the LICENSE file for details.