Giter Club home page Giter Club logo

simple-android's Introduction

Build Status pullreminders

Simple

An Android app for recording blood pressure measurements.

Pre-requisites

The application currently requires JDK 11 to build. If you already have JDK 11 installed, skip this step.

Check if the right JDK is already available

Run the command java -version. If you have the right version of the JDK installed, you should see something like:

openjdk version "11.0.10" 2021-01-19
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.10+9)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.10+9, mixed mode)

If this command has an error, or shows a different version, you can follow the instructions below to install the JDK.

Install the JDK

We recommend using jEnv to manage your JDK installations. Here are instructions to setup a working JDK 1.8 installation (macOS only):

  1. Setup up Homebrew.

  2. Install jEnv using Homebrew.

brew install jenv
  1. Add the following lines to your shell configuration file (~/.bash_profile if you're using bash, or ~/.zshrc if you're using zsh).
export PATH="$HOME/.jenv/bin:$PATH"
eval "$(jenv init -)"
  1. Once this is done, you'll need to restart the terminal or reload the configuration file in order for the jenv command to be recognised.
source <path to shell configuration file>
  1. Install the JDK using Homebrew.
brew tap AdoptOpenJDK/openjdk
brew install adoptopenjdk11
  1. Add the installed JDK to jEnv
jenv add /Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
  1. Run the command jenv versions. You should see something like:
  system
  11
* 11.0
  11.0.10
  openjdk64-11.0.10

How to build

Clone the project using git.

Run the following command in a terminal.

$ git clone [email protected]:simpledotorg/simple-android.git

Install Android Studio

Download and install Android Studio from their website.

Import the project into Android Studio.

When Android Studio starts up, it will prompt you to create a new project or import an existing project. Select the option to import an existing project, navigate to the simple-android directory you cloned earlier, and select it.

When building for the first time, gradle will download all dependencies so it'll take a few minutes to complete. Subsequent builds will be faster.

If during the build process you see the message: "Warning: License for package Android SDK Build-Tools 30.0.2 not accepted." Then you may need to install the Google Play Licensing Library:

  • Open the SDK Manager through Tools -> SDK Manager
  • Select Appearance & Behavior -> System Settings -> Android SDK in the left sidebar
  • Select the SDK Tools tab in the main window
  • Activate Google Play Licensing Library and click Apply

Running locally

The Simple App can be run locally on an Android emulator using Android Studio. To do this,

Install the NDK library

The NDK library is currently required by the project to enable an SQLite extension. To install it:

  • Open the SDK Manager through Tools -> SDK Manager
  • Select Appearance & Behavior -> System Settings -> Android SDK in the left sidebar
  • Select the SDK Tools tab in the main window
  • Activate NDK (Side by Side) and click Apply

NDK will now be installed.

Create a Run/Debug configuration

  • Open the Run/Debug configurations window through Run -> Edit Configurations (ref)
  • Create a new configuration using the Android App template
  • Set the module to app, and finish creating the configuration

Create a virtual device

  • Create an Android Virtual Device (AVD) using the AVD Manager, usually found in Tools -> AVD Manager. (ref)
  • Select a device and operating system
  • Note: You will have to download one of the available OS options the first time you create an AVD

Set the right build variant

  • Open the Build Variants window through View -> Tool Windows -> Build Variants, or clicking the item in the lower left corner of the main window
  • Set the Build Variant of the app module to qaDebug

Run the app

  • Click "Run", either through Run -> Run, or the green play button in the top toolbar.

Code styles

The code styles which the project uses have been exported as an IntelliJ code style XML file and are saved as quality/code-style.xml. To import them into Android Studio,

  1. Open the Android Studio preferences page, and navigate to Editor -> Code Style.
  2. Click on the gear/settings button next to the "Scheme" label.
  3. In the drop-down menu, select "Import scheme".
  4. In the file picker, navigate to <project>/quality/code-style.xml.
  5. Import the Simple scheme into the IDE and set it as the project code style.

Tooling

An Android Studio plugin that provides some quality of life improvements like live templates can be found HERE.

Building an APK with a different build variant

There are currently 2 ways to build an app pointing to different environments:

  1. Changing the qa API URL in gradle.properties file to point to the environment you want. These builds will be debuggable and require us to clone the project and build it using Android Studio. [* Warning*: These changes should not be commited back to master branch]
  2. Use Bitrise workflows to build APKs of different build variants. These builds will not be debuggable, unless for build-debuggable-sandbox-apk.

Build and deploy Simple Server

Simple Server is in a separate repository, and you should follow the instructions there.

Execute SQL Queries

You can use Flipper to run SQL queries on Simple:

  1. Install Flipper using brew or download from their website.
brew install Flipper
  1. Launch Flipper (you might have to allow Flipper to launch from System Preferences > Security > General as it’s from an unknown developer to Apple).
  2. Run the Simple app in an emulator or your physical device(as Flipper loads the data from your device's local database).
  3. In the Plugins section in the sidebar menu click on Disabled and enable the Database plugin.
  4. Click on Databases, select red-db and choose whichever table’s data you want to inspect.
  5. Click on SQL at the top to execute SQL queries.

Resources

Check out the following documents for more information.

simple-android's People

Contributors

sanchita avatar ragunathjawahar avatar saket avatar rakshakhegde avatar transifex-integration[bot] avatar janhavisinghh avatar renovate[bot] avatar ssrihari avatar pratul avatar msasikanth avatar govindkrjoshi avatar harimohanraj89 avatar vkrmis avatar timcheadle avatar paranoidbeing avatar vinaysshenoy avatar benryder1988 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.