I need someone who can create a Heart-rate monitor using flutter. After the user uses the heart rate monitor, it should record the data and user should be able to look at it. Should be able to be used...

1 answer below ยป

I need someone who can create a Heart-rate monitor using flutter. After the user uses the heart rate monitor, it should record the data and user should be able to look at it.
Should be able to be used on web page or mobile app.
Who can heavily comment the code by heavily comment the code, I mean what even does and how they work together. I need in 24 hours.


Something like this:https://betterprogramming.pub/measuring-your-heart-rate-using-your-phones-camera-and-flutter-f444d3c4272a

Answered 1 days AfterSep 28, 2021

Answer To: I need someone who can create a Heart-rate monitor using flutter. After the user uses the heart rate...

Swapnil answered on Sep 28 2021
138 Votes
92212/Heart Rate Monitor Application/android/app/build.gradle
def localProperties = new Properties()
def localPropertiesFile = rootProject.file('local.properties')
if (localPropertiesFile.exists()) {
localPropertiesFile.withReader('UTF-8') { reader ->
localProperties.load(reader)
}
}
def flutterRoot = localProperties.getProperty('flutter.sdk')
if (flutterRoot == null) {
throw new GradleException("Flutter SDK not found. Define location with flutter.sdk in the local.properties file.")
}
def flutterVersionCode = localProperties.getProperty('flutter.versionCode')
if (flutterVersionCode == null) {
flutterVersionCode = '1'
}
def flutterVersionName = localProperties.getProperty('flutter.versionName')
if (flutterVersionName == null) {
flutterVersionName = '1.0'
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply from: "$flutterRoot/packages/flutter_tools/gradle/flutter.gradle"
android {
compileSdkVersion 28
sourceSets {
main.java.srcDirs += 'src/main/kotlin'
}
lintOptions {
disable 'InvalidPackage'
}
defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.heart"
minSdkVersion 16
targetSdkVersion 28
versionCode flutterVersionCode.toInteger()
versionName flutterVersionName
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
// TODO: Add your own signing config for the release build.
// Signing with the debug keys for now, so `flutter run --release` works.
signingConfig signingConfigs.debug
}
}
}
flutter {
source '../..'
}
dependencies {
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.google.android.gms:play-services-fitness:18.0.0"
implementation "com.google.android.gms:play-services-auth:17.0.0"
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test:runner:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
implementation 'com.google.firebase:firebase-analytics:17.2.2'
}
apply plugin: 'com.google.gms.google-services'
92212/Heart Rate Monitor Application/android/app/src/debug/AndroidManifest.xml
92212/Heart Rate Monitor Application/android/app/src/main/AndroidManifest.xml




















92212/Heart Rate Monitor Application/android/app/src/main/ic_launcher-playstore.png
92212/Heart Rate Monitor Application/android/app/src/main/kotlin/com/example/heart/MainActivity.kt
package com.example.heart
import androidx.annotation.NonNull;
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugins.GeneratedPluginRegistrant
class MainActivity: FlutterActivity() {
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
}
}
92212/Heart Rate Monitor Application/android/app/src/main/res/drawable/ic_launcher_background.xml


































92212/Heart Rate Monitor Application/android/app/src/main/res/drawable/launch_background.xml


92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml



92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml



92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
92212/Heart Rate Monitor Application/android/app/src/
main/res/mipmap-hdpi/ic_launcher_round.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
92212/Heart Rate Monitor Application/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
92212/Heart Rate Monitor Application/android/app/src/main/res/values/styles.xml


@drawable/launch_background

92212/Heart Rate Monitor Application/android/app/src/profile/AndroidManifest.xml


92212/Heart Rate Monitor Application/android/build.gradle
buildscript {
ext.kotlin_version = '1.3.50'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.5.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "com.google.gms:google-services:4.3.3"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
rootProject.buildDir = '../build'
subprojects {
project.buildDir = "${rootProject.buildDir}/${project.name}"
}
subprojects {
project.evaluationDependsOn(':app')
}
task clean(type: Delete) {
delete rootProject.buildDir
}
92212/Heart Rate Monitor Application/android/gradle.properties
org.gradle.jvmargs=-Xmx1536M
android.enableR8=true
android.useAndroidX=true
android.enableJetifier=true
92212/Heart Rate Monitor Application/android/gradle/wrapper/gradle-wrapper.properties
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip
92212/Heart Rate Monitor Application/android/settings.gradle
include ':app'
def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
pluginsFile.withReader('UTF-8') { reader -> plugins.load(reader) }
}
plugins.each { name, path ->
def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
include ":$name"
project(":$name").projectDir = pluginDirectory
}
92212/Heart Rate Monitor Application/ios/Flutter/AppFrameworkInfo.plist


CFBundleDevelopmentRegion
$(DEVELOPMENT_LANGUAGE)
CFBundleExecutable
App
CFBundleIdentifier
io.flutter.flutter.app
CFBundleInfoDictionaryVersion
6.0
CFBundleName
App
CFBundlePackageType
FMWK
CFBundleShortVersionString
1.0
CFBundleSignature
????
CFBundleVersion
1.0
MinimumOSVersion
8.0
92212/Heart Rate Monitor Application/ios/Flutter/Debug.xcconfig
#include "Generated.xcconfig"
92212/Heart Rate Monitor Application/ios/Flutter/Release.xcconfig
#include "Generated.xcconfig"
92212/Heart Rate Monitor Application/ios/Runner.xcodeproj/project.pbxproj
// !$*UTF8*$!
{
    archiveVersion = 1;
    classes = {
    };
    objectVersion = 46;
    objects = {
/* Begin PBXBuildFile section */
        1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */ = {isa = PBXBuildFile; fileRef = 1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */; };
        3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */ = {isa = PBXBuildFile; fileRef = 3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */; };
        3B80C3941E831B6300D905FE /* App.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; };
        3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 3B80C3931E831B6300D905FE /* App.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
        74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 74858FAE1ED2DC5600515810 /* AppDelegate.swift */; };
        9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; };
        9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 9740EEBA1CF902C7004384FC /* Flutter.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
        97C146FC1CF9000F007C117D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FA1CF9000F007C117D /* Main.storyboard */; };
        97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FD1CF9000F007C117D /* Assets.xcassets */; };
        97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */; };
/* End PBXBuildFile section */
/* Begin PBXCopyFilesBuildPhase section */
        9705A1C41CF9048500538489 /* Embed Frameworks */ = {
            isa = PBXCopyFilesBuildPhase;
            buildActionMask = 2147483647;
            dstPath = "";
            dstSubfolderSpec = 10;
            files = (
                3B80C3951E831B6300D905FE /* App.framework in Embed Frameworks */,
                9705A1C71CF904A300538489 /* Flutter.framework in Embed Frameworks */,
            );
            name = "Embed Frameworks";
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
        1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GeneratedPluginRegistrant.h; sourceTree = ""; };
        1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GeneratedPluginRegistrant.m; sourceTree = ""; };
        3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = AppFrameworkInfo.plist; path = Flutter/AppFrameworkInfo.plist; sourceTree = ""; };
        3B80C3931E831B6300D905FE /* App.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = App.framework; path = Flutter/App.framework; sourceTree = ""; };
        74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "Runner-Bridging-Header.h"; sourceTree = ""; };
        74858FAE1ED2DC5600515810 /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
        7AFA3C8E1D35360C0083082E /* Release.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; name = Release.xcconfig; path = Flutter/Release.xcconfig; sourceTree = ""; };
        9740EEB21CF90195004384FC /* Debug.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Debug.xcconfig; path = Flutter/Debug.xcconfig; sourceTree = ""; };
        9740EEB31CF90195004384FC /* Generated.xcconfig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xcconfig; name = Generated.xcconfig; path = Flutter/Generated.xcconfig; sourceTree = ""; };
        9740EEBA1CF902C7004384FC /* Flutter.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Flutter.framework; path = Flutter/Flutter.framework; sourceTree = ""; };
        97C146EE1CF9000F007C117D /* Runner.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Runner.app; sourceTree = BUILT_PRODUCTS_DIR; };
        97C146FB1CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; };
        97C146FD1CF9000F007C117D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
        97C147001CF9000F007C117D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
        97C147021CF9000F007C117D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
        97C146EB1CF9000F007C117D /* Frameworks */ = {
            isa = PBXFrameworksBuildPhase;
            buildActionMask = 2147483647;
            files = (
                9705A1C61CF904A100538489 /* Flutter.framework in Frameworks */,
                3B80C3941E831B6300D905FE /* App.framework in Frameworks */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
        9740EEB11CF90186004384FC /* Flutter */ = {
            isa = PBXGroup;
            children = (
                3B80C3931E831B6300D905FE /* App.framework */,
                3B3967151E833CAA004F5970 /* AppFrameworkInfo.plist */,
                9740EEBA1CF902C7004384FC /* Flutter.framework */,
                9740EEB21CF90195004384FC /* Debug.xcconfig */,
                7AFA3C8E1D35360C0083082E /* Release.xcconfig */,
                9740EEB31CF90195004384FC /* Generated.xcconfig */,
            );
            name = Flutter;
            sourceTree = "";
        };
        97C146E51CF9000F007C117D = {
            isa = PBXGroup;
            children = (
                9740EEB11CF90186004384FC /* Flutter */,
                97C146F01CF9000F007C117D /* Runner */,
                97C146EF1CF9000F007C117D /* Products */,
            );
            sourceTree = "";
        };
        97C146EF1CF9000F007C117D /* Products */ = {
            isa = PBXGroup;
            children = (
                97C146EE1CF9000F007C117D /* Runner.app */,
            );
            name = Products;
            sourceTree = "";
        };
        97C146F01CF9000F007C117D /* Runner */ = {
            isa = PBXGroup;
            children = (
                97C146FA1CF9000F007C117D /* Main.storyboard */,
                97C146FD1CF9000F007C117D /* Assets.xcassets */,
                97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */,
                97C147021CF9000F007C117D /* Info.plist */,
                97C146F11CF9000F007C117D /* Supporting Files */,
                1498D2321E8E86230040F4C2 /* GeneratedPluginRegistrant.h */,
                1498D2331E8E89220040F4C2 /* GeneratedPluginRegistrant.m */,
                74858FAE1ED2DC5600515810 /* AppDelegate.swift */,
                74858FAD1ED2DC5600515810 /* Runner-Bridging-Header.h */,
            );
            path = Runner;
            sourceTree = "";
        };
        97C146F11CF9000F007C117D /* Supporting Files */ = {
            isa = PBXGroup;
            children = (
            );
            name = "Supporting Files";
            sourceTree = "";
        };
/* End PBXGroup section */
/* Begin PBXNativeTarget section */
        97C146ED1CF9000F007C117D /* Runner */ = {
            isa = PBXNativeTarget;
            buildConfigurationList = 97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */;
            buildPhases = (
                9740EEB61CF901F6004384FC /* Run Script */,
                97C146EA1CF9000F007C117D /* Sources */,
                97C146EB1CF9000F007C117D /* Frameworks */,
                97C146EC1CF9000F007C117D /* Resources */,
                9705A1C41CF9048500538489 /* Embed Frameworks */,
                3B06AD1E1E4923F5004D2608 /* Thin Binary */,
            );
            buildRules = (
            );
            dependencies = (
            );
            name = Runner;
            productName = Runner;
            productReference = 97C146EE1CF9000F007C117D /* Runner.app */;
            productType = "com.apple.product-type.application";
        };
/* End PBXNativeTarget section */
/* Begin PBXProject section */
        97C146E61CF9000F007C117D /* Project object */ = {
            isa = PBXProject;
            attributes = {
                LastUpgradeCheck = 1020;
                ORGANIZATIONNAME = "The Chromium Authors";
                TargetAttributes = {
                    97C146ED1CF9000F007C117D = {
                        CreatedOnToolsVersion = 7.3.1;
                        LastSwiftMigration = 1100;
                    };
                };
            };
            buildConfigurationList = 97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */;
            compatibilityVersion = "Xcode 3.2";
            developmentRegion = en;
            hasScannedForEncodings = 0;
            knownRegions = (
                en,
                Base,
            );
            mainGroup = 97C146E51CF9000F007C117D;
            productRefGroup = 97C146EF1CF9000F007C117D /* Products */;
            projectDirPath = "";
            projectRoot = "";
            targets = (
                97C146ED1CF9000F007C117D /* Runner */,
            );
        };
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
        97C146EC1CF9000F007C117D /* Resources */ = {
            isa = PBXResourcesBuildPhase;
            buildActionMask = 2147483647;
            files = (
                97C147011CF9000F007C117D /* LaunchScreen.storyboard in Resources */,
                3B3967161E833CAA004F5970 /* AppFrameworkInfo.plist in Resources */,
                97C146FE1CF9000F007C117D /* Assets.xcassets in Resources */,
                97C146FC1CF9000F007C117D /* Main.storyboard in Resources */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
        3B06AD1E1E4923F5004D2608 /* Thin Binary */ = {
            isa = PBXShellScriptBuildPhase;
            buildActionMask = 2147483647;
            files = (
            );
            inputPaths = (
            );
            name = "Thin Binary";
            outputPaths = (
            );
            runOnlyForDeploymentPostprocessing = 0;
            shellPath = /bin/sh;
            shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" thin";
        };
        9740EEB61CF901F6004384FC /* Run Script */ = {
            isa = PBXShellScriptBuildPhase;
            buildActionMask = 2147483647;
            files = (
            );
            inputPaths = (
            );
            name = "Run Script";
            outputPaths = (
            );
            runOnlyForDeploymentPostprocessing = 0;
            shellPath = /bin/sh;
            shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
        };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
        97C146EA1CF9000F007C117D /* Sources */ = {
            isa = PBXSourcesBuildPhase;
            buildActionMask = 2147483647;
            files = (
                74858FAF1ED2DC5600515810 /* AppDelegate.swift in Sources */,
                1498D2341E8E89220040F4C2 /* GeneratedPluginRegistrant.m in Sources */,
            );
            runOnlyForDeploymentPostprocessing = 0;
        };
/* End PBXSourcesBuildPhase section */
/* Begin PBXVariantGroup section */
        97C146FA1CF9000F007C117D /* Main.storyboard */ = {
            isa = PBXVariantGroup;
            children = (
                97C146FB1CF9000F007C117D /* Base */,
            );
            name = Main.storyboard;
            sourceTree = "";
        };
        97C146FF1CF9000F007C117D /* LaunchScreen.storyboard */ = {
            isa = PBXVariantGroup;
            children = (
                97C147001CF9000F007C117D /* Base */,
            );
            name = LaunchScreen.storyboard;
            sourceTree = "";
        };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
        249021D3217E4FDB00AE95B9 /* Profile */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                CLANG_ANALYZER_NONNULL = YES;
                CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
                CLANG_CXX_LIBRARY = "libc++";
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                CLANG_WARN_BOOL_CONVERSION = YES;
                CLANG_WARN_COMMA = YES;
                CLANG_WARN_CONSTANT_CONVERSION = YES;
                CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
                CLANG_WARN_EMPTY_BODY = YES;
                CLANG_WARN_ENUM_CONVERSION = YES;
                CLANG_WARN_INFINITE_RECURSION = YES;
                CLANG_WARN_INT_CONVERSION = YES;
                CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
                CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
                CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
                CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
                CLANG_WARN_STRICT_PROTOTYPES = YES;
                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                CLANG_WARN_UNREACHABLE_CODE = YES;
                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                COPY_PHASE_STRIP = NO;
                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                ENABLE_NS_ASSERTIONS = NO;
                ENABLE_STRICT_OBJC_MSGSEND = YES;
                GCC_C_LANGUAGE_STANDARD = gnu99;
                GCC_NO_COMMON_BLOCKS = YES;
                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
                GCC_WARN_UNDECLARED_SELECTOR = YES;
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
                MTL_ENABLE_DEBUG_INFO = NO;
                SDKROOT = iphoneos;
                SUPPORTED_PLATFORMS = iphoneos;
                TARGETED_DEVICE_FAMILY = "1,2";
                VALIDATE_PRODUCT = YES;
            };
            name = Profile;
        };
        249021D4217E4FDB00AE95B9 /* Profile */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
            buildSettings = {
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                CLANG_ENABLE_MODULES = YES;
                CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                INFOPLIST_FILE = Runner/Info.plist;
                LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                PRODUCT_BUNDLE_IDENTIFIER = com.example.heart;
                PRODUCT_NAME = "$(TARGET_NAME)";
                SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
                SWIFT_VERSION = 5.0;
                VERSIONING_SYSTEM = "apple-generic";
            };
            name = Profile;
        };
        97C147031CF9000F007C117D /* Debug */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                CLANG_ANALYZER_NONNULL = YES;
                CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
                CLANG_CXX_LIBRARY = "libc++";
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                CLANG_WARN_BOOL_CONVERSION = YES;
                CLANG_WARN_COMMA = YES;
                CLANG_WARN_CONSTANT_CONVERSION = YES;
                CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
                CLANG_WARN_EMPTY_BODY = YES;
                CLANG_WARN_ENUM_CONVERSION = YES;
                CLANG_WARN_INFINITE_RECURSION = YES;
                CLANG_WARN_INT_CONVERSION = YES;
                CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
                CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
                CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
                CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
                CLANG_WARN_STRICT_PROTOTYPES = YES;
                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                CLANG_WARN_UNREACHABLE_CODE = YES;
                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                COPY_PHASE_STRIP = NO;
                DEBUG_INFORMATION_FORMAT = dwarf;
                ENABLE_STRICT_OBJC_MSGSEND = YES;
                ENABLE_TESTABILITY = YES;
                GCC_C_LANGUAGE_STANDARD = gnu99;
                GCC_DYNAMIC_NO_PIC = NO;
                GCC_NO_COMMON_BLOCKS = YES;
                GCC_OPTIMIZATION_LEVEL = 0;
                GCC_PREPROCESSOR_DEFINITIONS = (
                    "DEBUG=1",
                    "$(inherited)",
                );
                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
                GCC_WARN_UNDECLARED_SELECTOR = YES;
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
                MTL_ENABLE_DEBUG_INFO = YES;
                ONLY_ACTIVE_ARCH = YES;
                SDKROOT = iphoneos;
                TARGETED_DEVICE_FAMILY = "1,2";
            };
            name = Debug;
        };
        97C147041CF9000F007C117D /* Release */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                CLANG_ANALYZER_NONNULL = YES;
                CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
                CLANG_CXX_LIBRARY = "libc++";
                CLANG_ENABLE_MODULES = YES;
                CLANG_ENABLE_OBJC_ARC = YES;
                CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
                CLANG_WARN_BOOL_CONVERSION = YES;
                CLANG_WARN_COMMA = YES;
                CLANG_WARN_CONSTANT_CONVERSION = YES;
                CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
                CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
                CLANG_WARN_EMPTY_BODY = YES;
                CLANG_WARN_ENUM_CONVERSION = YES;
                CLANG_WARN_INFINITE_RECURSION = YES;
                CLANG_WARN_INT_CONVERSION = YES;
                CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
                CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
                CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
                CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
                CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
                CLANG_WARN_STRICT_PROTOTYPES = YES;
                CLANG_WARN_SUSPICIOUS_MOVE = YES;
                CLANG_WARN_UNREACHABLE_CODE = YES;
                CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
                "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
                COPY_PHASE_STRIP = NO;
                DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
                ENABLE_NS_ASSERTIONS = NO;
                ENABLE_STRICT_OBJC_MSGSEND = YES;
                GCC_C_LANGUAGE_STANDARD = gnu99;
                GCC_NO_COMMON_BLOCKS = YES;
                GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
                GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
                GCC_WARN_UNDECLARED_SELECTOR = YES;
                GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
                GCC_WARN_UNUSED_FUNCTION = YES;
                GCC_WARN_UNUSED_VARIABLE = YES;
                IPHONEOS_DEPLOYMENT_TARGET = 8.0;
                MTL_ENABLE_DEBUG_INFO = NO;
                SDKROOT = iphoneos;
                SUPPORTED_PLATFORMS = iphoneos;
                SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
                TARGETED_DEVICE_FAMILY = "1,2";
                VALIDATE_PRODUCT = YES;
            };
            name = Release;
        };
        97C147061CF9000F007C117D /* Debug */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 9740EEB21CF90195004384FC /* Debug.xcconfig */;
            buildSettings = {
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                CLANG_ENABLE_MODULES = YES;
                CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                INFOPLIST_FILE = Runner/Info.plist;
                LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                PRODUCT_BUNDLE_IDENTIFIER = com.example.heart;
                PRODUCT_NAME = "$(TARGET_NAME)";
                SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
                SWIFT_OPTIMIZATION_LEVEL = "-Onone";
                SWIFT_VERSION = 5.0;
                VERSIONING_SYSTEM = "apple-generic";
            };
            name = Debug;
        };
        97C147071CF9000F007C117D /* Release */ = {
            isa = XCBuildConfiguration;
            baseConfigurationReference = 7AFA3C8E1D35360C0083082E /* Release.xcconfig */;
            buildSettings = {
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                CLANG_ENABLE_MODULES = YES;
                CURRENT_PROJECT_VERSION = "$(FLUTTER_BUILD_NUMBER)";
                ENABLE_BITCODE = NO;
                FRAMEWORK_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                INFOPLIST_FILE = Runner/Info.plist;
                LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
                LIBRARY_SEARCH_PATHS = (
                    "$(inherited)",
                    "$(PROJECT_DIR)/Flutter",
                );
                PRODUCT_BUNDLE_IDENTIFIER = com.example.heart;
                PRODUCT_NAME = "$(TARGET_NAME)";
                SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
                SWIFT_VERSION = 5.0;
                VERSIONING_SYSTEM = "apple-generic";
            };
            name = Release;
        };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
        97C146E91CF9000F007C117D /* Build configuration list for PBXProject "Runner" */ = {
            isa = XCConfigurationList;
            buildConfigurations = (
                97C147031CF9000F007C117D /* Debug */,
                97C147041CF9000F007C117D /* Release */,
                249021D3217E4FDB00AE95B9 /* Profile */,
            );
            defaultConfigurationIsVisible = 0;
            defaultConfigurationName = Release;
        };
        97C147051CF9000F007C117D /* Build configuration list for PBXNativeTarget "Runner" */ = {
            isa = XCConfigurationList;
            buildConfigurations = (
                97C147061CF9000F007C117D /* Debug */,
                97C147071CF9000F007C117D /* Release */,
                249021D4217E4FDB00AE95B9 /* Profile */,
            );
            defaultConfigurationIsVisible = 0;
            defaultConfigurationName = Release;
        };
/* End XCConfigurationList section */
    };
    rootObject = 97C146E61CF9000F007C117D /* Project object */;
}
92212/Heart Rate Monitor Application/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata



92212/Heart Rate Monitor Application/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme





































92212/Heart Rate Monitor Application/ios/Runner.xcworkspace/contents.xcworkspacedata



92212/Heart Rate Monitor Application/ios/Runner/AppDelegate.swift
import UIKit
import Flutter
@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
override func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
GeneratedPluginRegistrant.register(with: self)
return super.application(application, didFinishLaunchingWithOptions: launchOptions)
}
}
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/Contents.json
{
"images" : [
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "20x20",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "3x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "3x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "3x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "60x60",
"idiom" : "iphone",
"filename" : "[email protected]",
"scale" : "3x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "1x"
},
{
"size" : "20x20",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "1x"
},
{
"size" : "29x29",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "1x"
},
{
"size" : "40x40",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "1x"
},
{
"size" : "76x76",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "83.5x83.5",
"idiom" : "ipad",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"size" : "1024x1024",
"idiom" : "ios-marketing",
"filename" : "[email protected]",
"scale" : "1x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/Applcon.appiconset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json
{
"images" : [
{
"idiom" : "universal",
"filename" : "LaunchImage.png",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "[email protected]",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "[email protected]",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/LaunchImage.imageset/[email protected]
92212/Heart Rate Monitor Application/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md
# Launch Screen Assets
You can customize the launch screen with your own desired assets by replacing the image files in this directory.
You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images.
92212/Heart Rate Monitor Application/ios/Runner/Base.lproj/LaunchScreen.storyboard



































92212/Heart Rate Monitor Application/ios/Runner/Base.lproj/Main.storyboard
























92212/Heart Rate Monitor Application/ios/Runner/Info.plist


     CFBundleDevelopmentRegion
     $(DEVELOPMENT_LANGUAGE)
     CFBundleExecutable
     $(EXECUTABLE_NAME)
     CFBundleIdentifier
     $(PRODUCT_BUNDLE_IDENTIFIER)
     CFBundleInfoDictionaryVersion
     6.0
     CFBundleName
     heart
     CFBundlePackageType
     APPL
     CFBundleShortVersionString
     $(FLUTTER_BUILD_NAME)
     CFBundleSignature
     ????
     CFBundleVersion
     $(FLUTTER_BUILD_NUMBER)
     LSRequiresIPhoneOS
    
     UILaunchStoryboardName
     LaunchScreen
     UIMainStoryboardFile
     Main
     UISupportedInterfaceOrientations
    
         UIInterfaceOrientationPortrait
         UIInterfaceOrientationLandscapeLeft
         UIInterfaceOrientationLandscapeRight
    
     UISupportedInterfaceOrientations~ipad
    
         UIInterfaceOrientationPortrait
         UIInterfaceOrientationPortraitUpsideDown
         UIInterfaceOrientationLandscapeLeft
         UIInterfaceOrientationLandscapeRight
    
     UIViewControllerBasedStatusBarAppearance
    
92212/Heart Rate Monitor Application/ios/Runner/Runner-Bridging-Header.h
#import "GeneratedPluginRegistrant.h"
92212/Heart Rate Monitor Application/lib/main.dart
import 'package:flutter/material.dart';
import 'Pages/Setup/WelcomePage.dart';
import 'Pages/Setup/DoctorsPage.dart';
import 'Pages/Setup/call.dart';
void main() {
runApp(new HeartMonitor());
}
class HeartMonitor extends StatelessWidget {
@override
Widget build(BuildContext context) {
return InheritedState(
child: MaterialApp(
home: WelcomePage()
)
);
}
}
92212/Heart Rate Monitor Application/lib/models/model.dart
abstract class Model {
int id;
static fromMap() {}
toMap() {}
}
92212/Heart Rate Monitor Application/lib/models/todo-item.dart
import 'package:heart/models/model.dart';
class TodoItem extends Model {
static String table = 'todo_items';
int id;
String task;
bool complete;
TodoItem({ this.id, this.task, this.complete });
Map toMap() {
Map map = {
'task': task,
'complete': complete
};
if (id != null) { map['id'] = id; }
return map;
}
static TodoItem fromMap(Map map) {
return TodoItem(
id: map['id'],
task: map['task'],
complete: map['complete'] == 1
);
}
}
92212/Heart Rate Monitor Application/lib/Pages/Setup/AddPatient.dart
import 'package:firebase_database/firebase_database.dart';
import 'package:flutter/material.dart';
import 'package:heart/Pages/Setup/MyPatients.dart';
import 'package:shared_preferences/shared_preferences.dart';
class Patient extends StatefulWidget {
final String email;
Patient(this.email);
@override
_PatientState createState() => _PatientState();
}
class _PatientState extends State {
@override
void initState() {
get_existing_users();
}
final GlobalKey _formKey = GlobalKey();
_patientAdded(BuildContext context) {
// set up the button
Widget okButton = FlatButton(
child: Text("OK"),
onPressed: () {
Navigator.of(context).pop();
},
);
AlertDialog alert = AlertDialog(
title: Text("Patient added Successfully"),
content: Text("Click ok to continue..."),
actions: [
okButton,
],
);
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
);
}
_patientNotFound(BuildContext context) {
// set up the button
Widget okButton = FlatButton(
child: Text("OK"),
onPressed: () {
Navigator.of(context).pop();
},
);
AlertDialog alert = AlertDialog(
title: Text("Patient username incorrect"),
content: Text("Please verify patient username, Click ok to continue"),
actions: [
okButton,
],
);
showDialog(
context: context,
builder: (BuildContext context) {
return alert;
},
);
}
Widget _divider() {
return Container(
margin: EdgeInsets.symmetric(vertical: 10),
child: Row(
children: [
SizedBox(
width: 20,
),
Expanded(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10),
child: Divider(
thickness: 1,
),
),
),
Text('or'),
Expanded(
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 10),
child: Divider(
thickness: 1,
),
),
),
SizedBox(
width: 20,
),
],
),
);
}
Widget _usernameunique() {
return Form(
key: _formKey,
child: TextFormField(
validator: (input) {
if (input.isEmpty) {
return 'Enter a name (All fields marked with "*" are required)';
}
return null;
},
onSaved: (input) => username = input,
decoration: InputDecoration(
border: OutlineInputBorder(
borderRadius: BorderRadius.circular(25.0),
borderSide: new BorderSide(
),
),
icon: Icon(Icons.person),
labelText: 'Username*'
),
...
SOLUTION.PDF

Answer To This Question Is Available To Download

Related Questions & Answers

More Questions ยป

Submit New Assignment

Copy and Paste Your Assignment Here