## What you'll build

In this tutorial, you'll use Java to create a "Notes app" with a GraphQL API to store and retrieve items in a cloud database, as well as receive updates over a realtime subscription.

[GraphQL](http://graphql.org) is a data language that was developed to enable apps to fetch data from APIs. It has a declarative, self-documenting style. In a GraphQL operation, the client specifies how to structure the data when it is returned by the server. This makes it possible for the client to query only for the data it needs, in the format that it needs it in.

## Prerequisites

These steps currently only work on Mac. If you have a Windows machine, follow the steps on one of our categories such as [API here](./api).

- [Install Node](https://nodejs.org/en/)
- [Install Android Studio](https://developer.android.com/studio/index.html#downloads) version 3.1 or higher.
- [Install Android SDK with a minimum API level of 15 (Ice Cream Sandwich).](https://developer.android.com/studio/releases/platforms)