This is an Android APP to protect users' eyesight which is also a team project for 18641 - Java Smart Phone
- User activities: Sign up, Sign in.
- Tests I: Astigmatism, Color Blind, Motion Acuity, Amsler Grid by recognizing patterns in the images.
- Tests II: Visual Acuity, Presbyopic by calling Android API to implement speech recognition.
- Tests III: Pupil Distance by importing OpenCV 3.1.0 to implement face recognition.
- Quiz: Random quiz questions for protecting eyes.
- History: Record users' results for tests to monitor health condition.
- Setting:Show account info, Change password, Clear history, Share and Log out.
-
Download source code from github
-
Import source code to Platform like Android Studio
-
Install Android SDK, JDK, Android NDK ( native methods are used in Face recognition)
-
Modify NDK path to your local one in build.gradle file of APP MODULE( NOT for the whole project or openCVLibrary310).
task ndkBuild(type: Exec) { if (Os.isFamily(Os.FAMILY_WINDOWS)) { commandLine '/Users/Mandy/Library/Android/sdk/ndk-bundle/ndk-build.cmd', '-C', file('src/main/jni').absolutePath } else { commandLine '/Users/Mandy/Library/Android/sdk/ndk-bundle/ndk-build', '-C', file('src/main/jni').absolutePath } }
-
Run app in two ways: Android phone or tablet by using a USB to connect , emulator in Android studio or Genymotion(Recommended, but emulators' microphone can't be reached)
-
We deployed a servlet in AWS, which can be called by our app via the RESTful APIs. We also created a simple example for server testing