Skip to content

neavdak/ActivityRecognition

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏃‍♂️ Activity Recognition App

A modern Android application for collecting, visualizing, and analyzing human activity data.

Android Kotlin Jetpack Compose

🌟 Overview

This app is designed to help researchers and developers collect high-quality sensor data (Accelerometer & Gyroscope) for building Activity Recognition (HAR) models. It features real-time visualization, on-device classification, and robust data management.

✨ Key Features

1. 📊 Real-time Visualization

  • Dynamic Line Charts: View live accelerometer and gyroscope data streams on scrolling line charts.
  • Instant Feedback: See exactly what the sensors are "seeing" as you move.

2. 🧠 Real-time Classification

  • Smart Detection: The app analyzes your movement in real-time to detect if you are ACTIVE (Walking, Running) or STATIONARY (Sitting, Standing).
  • Heuristic Engine: Powered by a lightweight on-device algorithm.

3. 📂 Data Management

  • Recording History: Browse all your past recording sessions in a clean list.
  • Easy Sharing: Export your CSV data files to Google Drive, Email, or your computer with a single tap.
  • Training vs Testing: Tag your data explicitly for Machine Learning workflows.

4. 📈 Session Statistics

  • Insights: View aggregate statistics of your usage.
  • Breakdown: See how much time you've spent recording each activity type.

🛠️ Tech Stack

  • Language: Kotlin
  • UI Framework: Jetpack Compose (Material 3)
  • Navigation: Navigation Compose
  • Architecture: MVVM-inspired pattern
  • Sensors: Android SensorManager API

🚀 Getting Started

  1. Clone the repo:
    git clone https://github.com/yourusername/activity-recognition.git
  2. Open in Android Studio:
    • Select the project folder.
    • Wait for Gradle sync to complete.
  3. Run:
    • Connect your Android device or start an Emulator.
    • Click Run (▶️).

📱 How to Use

  1. Select Activity: Choose what you are doing (e.g., "WALKING") from the dropdown.
  2. Start Recording: Tap the big "Start Recording" button.
  3. Move: Perform the activity. You'll see "Detected: ACTIVE" if you are moving!
  4. Stop & Save: Tap "Stop". The data is automatically saved.
  5. Export: Go to the History tab to share the CSV file.

🤖 Machine Learning Workflow

Want to build your own model?

  1. Collect data for different activities (Walking, Sitting, etc.).
  2. Export the CSV files.
  3. Use Python (Pandas/Scikit-learn) to train a classifier.
  4. (Future) Integrate your TFLite model back into this app!

Built with ❤️ for the Open Source Community

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages