GithubHelp home page GithubHelp logo

socialite's Introduction

SociaLite: An Android Sample App

SociaLite demonstrates how to use various Android platform APIs to implement features that are commonly seen in social network apps, leveraging a variety of Jetpack APIs to achieve complex functionality that works reliably on more devices and requires less code. These are some of the Jetpack APIs used:

  • Core Notifications and other platform features
  • Compose Declarative UI generation
  • Media3 Displaying and editing photos and videos
  • CameraX Capturing photos and videos
  • Room Persisting messages in a SQLite database
  • Window Detecting foldable device states

๐Ÿšง Work-in-Progress: This sample is still in the early stage of development, and we're excited to add more features over time.

App Overview

Screenshots of SociaLite showing the Timeline Screen, the Chat List Screen, and the Chat Screen

The main interaction in SociaLite centers around the animal avatars and their associated chat threads. When you send a message to one of these avatars, they will respond in 5 seconds. If you close the app within that time and you've granted notification permissions, you'll see a notification for that reply.

Here are the screens that make up SociaLite:

  • Timeline Screen: A vertical scrolling page of all of the photos and videos sent in chats.
  • Chat List Screen: A list of all the chat threads with a variety of animal personalities.
  • Chat Screen: An individual message thread where you can send text and media messages (from the in-app camera or with a Photo Picker).
  • Camera Screen: Clicking the camera icon in the Chat Screen opens the in-app camera for taking photos and videos.
  • Video Edit Screen: After taking a video with the in-app camera, users can do some minor edits on this screen.
  • Settings Screen: A basic settings screen for tasks like resetting the chat history.

How to run SociaLite

  1. Clone the repository
  2. Open the whole project in Android Studio.
  3. Sync & Run app configuration

Reporting Issues

You can report an issue with a sample using this repository. When doing so, make sure to specify which sample you are referring to.

Contributions

Please contribute! We will gladly review any pull requests. Make sure to read the Contributing page first though.

Note: make sure to run ./gradlew spotlessApply before uploading a PR.

License

Copyright 2023 The Android Open Source Project
 
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

socialite's People

Contributors

yaraki avatar donovanfm avatar calren avatar madebymozart avatar sigmanzero avatar goooler avatar mayurikhinvasara avatar yenerm avatar jolandaverhoef avatar magicalmeghan avatar riggaroo avatar wonjoonglee avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.