Health Monitoring App WearOS With Kotlin

Overview

HealthMonitoringAppWearOS

This application collects health information in real-time and sends it over to AWS to analyze for abnormalities.

Overview

This app is capable of collecting health information such as heart rate and the location of the user. It has a thread that always runs in the foreground which sends the health data over to AWS servers. You can adjust the sampling rate for both location and heart rate to improve battery life.

Setup

You should familiarize yourself with Cloudformation, IoTCore before following the instructions below.

Stack input

Use the cloudformation template in the "Cloudformation" folder to setup a "Cloudformation Stack". Make sure you are in the correct region as this will affect the geographical location of where the workload is going to run. The parameters to the stack are the Kinesis Data Stream ARN, the logical name of the Stream and the name of the topic your wearable is subscribed to. Use the stream to which you want to redirect the output of the wearable.

Stack output

Use the output of the stack to setup the Android Studio project. Once the stack is set up it will output : IdentityPoolId, IoTPolicyName, Region. Change the constants inside AWSViewModel class to the generated values. You can lookup IOTEndpoint address in IoTCore in AWS console (Go to IoTCore => Settings).

Launching the application

Next step is to run the application on a physical device or emulator. Since heart rate sensor is not available in the emulator, it will default to sending the light sensor data (don't be surprised when you see 0.0 for heart rate in the emulator). On a physical device it should work as expected.

AWS Architecture

Useful links

Foreground service

Live data

ViewModel

Debug on a physical device

Android AWS PubSub example

Related Projects

The Mobile Health Monitoring Platform

HealthMonitoringAppWatchOS

License

This project is distributed under MIT license.

You might also like...
Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Kotlin_practice_problems Repo: Programming problems with solutions in Kotlin to help avid Kotlin learners to get a strong hold on Kotlin programming.

Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP)

Mockative Mocking for Kotlin/Native and Kotlin Multiplatform using the Kotlin Symbol Processing API (KSP). Installation Mockative uses KSP to generate

Kotlin-oop - Repositório criado para ser utilizado pelo projeto de Kotlin OOP desenvolvido em Kotlin nas aulas feitas através da plataforma Alura.

Projeto React OOP Repositório criado para ser utilizado pelo projeto de Kotlin OOP desenvolvido em Kotlin nas aulas feitas através da plataforma Alura

Kotlin-koans - Kotlin Koans are a series of exercises to get you familiar with the Kotlin Syntax

kotlin-koans-edu Kotlin Koans are a series of exercises to get you familiar with

This is a practice app. An app that you can find random recipes and choose the ones you like.
This is a practice app. An app that you can find random recipes and choose the ones you like.

A food suggestion app like Tinder This is a practice app. In this app, you can find random recipes and choose the ones you like. This is main menu. Yo

To help to promote your android app by prompting users to rate your app in a bottom Sheet.

RateBottomSheet This an Android library to help to promote your Android App by prompting users to rate your app in the Google Play Store with a materi

New style for app design Online Sunglasses Shop App UI made in Jetpack Compose.😉😎
New style for app design Online Sunglasses Shop App UI made in Jetpack Compose.😉😎

JetSunglassUI-Android New style for app design Online Sunglasses Shop App UI made in Jetpack Compose. 😉 😎 (Navigation Components, Dagger-Hilt, Mater

Relationship-app-android - An app with features aimed towards me and my girlfriend

RelationshipApp Android An Android app with features aimed towards me and my gir

Explore-KiiT-App - An app to simplify the complicated website navigation and keep track of Attendance
Explore-KiiT-App - An app to simplify the complicated website navigation and keep track of Attendance

KiiT Explore App "An app to simplify the complicated website navigation and keep

Owner
Derrick Cheng
Derrick Cheng
One app for all women that covers everything from safety to health and more. 👩💪

sampoorna Sampoorna is a one-in-all solution concept revolving around the women who fight one on one with various problems. With it's features encapsu

Open Lake 17 Dec 6, 2022
This is for mental health

Mental-health Cloning of Mental Health Android Application Mental Health Domain ?? Open-Source Library Glide Firebase RoomDatabase Things we used whil

Reeta Thakur 1 Nov 22, 2021
TakeNotes, taking care of your tasks and your health

Take Notes - Para tornar sua rotina mais Saudável TakeNotes, cuidando de suas tarefas e de sua saúde Sobre • Funcionalidades • Layout • Como executar

null 0 Dec 7, 2021
A sample skeleton backend app built using Spring Boot kotlin, Expedia Kotlin Graphql, Reactive Web that can be deployed to Google App Engine Flexible environmennt

spring-kotlin-gql-gae This is a sample skeleton of a backend app that was built using: Spring Boot(Kotlin) Reactive Web Sprinng Data R2DBC with MYSQL

Dario Mungoi 7 Sep 17, 2022
These files are included in an Android Studio Project for a Magic the Gathering Life Counter app. The app was written in Kotlin.

Magic-Life-Counter These files were created in Android Studio using Kotlin. Usage This app was made to keep track of life totals while playing the tra

null 0 Dec 24, 2021
Tictactoe-android-app - Simple TicTacToe Android app written in Kotlin

TicTacToe Android App This is a simple example of TicTacToe game as Android app

Blaž Čerpnjak 1 Jul 9, 2022
Clean Android multi-module offline-first scalable app in 2022. Including Jetpack Compose, MVI, Kotlin coroutines/Flow, Kotlin serialization, Hilt and Room.

Android Kotlin starter project - 2022 edition Android starter project, described precisely in this article. Purpose To show good practices using Kotli

Krzysztof Dąbrowski 176 Jan 3, 2023