1. Configure your project


In this step, you'll import the starter project and add the Apollo Kotlin SDK to it.

Clone the starter project

Text
1git clone https://github.com/apollographql/apollo-kotlin-tutorial
2cd apollo-kotlin-tutorial/compose

The starter project is in the start folder.

At any time, if you want to view a completed version of the project, open the project in the final folder.

Open the 'start' project in Android Studio

Android Studio will take some time to index the contents of the project. Take some time to look around. You should see 3 files:

  • LaunchList.kt is the first screen. You will display a list of launches there.

  • LaunchDetails.kt will display details about a launch and give you the opportunity to book a seat.

  • Login.kt will allow you to log in before booking the seat.

Now build and run the project.

You should see a list with static placeholder data:

The initial state of the project!

Now let's add Apollo Kotlin to the project.

Get the latest version of Apollo Kotlin

You can find the latest version of Apollo Kotlin from the GitHub releases page. It is also displayed at the top of the apollo-kotlin repo.

This tutorial uses 3.8.5 because it is the latest version at the time of writing. Feel free to use a more recent version if one is available.

Apply the plugin

Apply the Apollo plugin in app/build.gradle.kts. There are two build.gradle.kts in the project. Make sure to use the one in the app directory this time. The Apollo plugin ID is com.apollographql.apollo3.

Kotlin
app/build.gradle.kts
1plugins {
2    id("com.android.application")
3    // ...
4    id("com.apollographql.apollo3").version("3.8.3")
5}

The plugin contains the compiler that will generate models from your queries when you build your project.

Configure the Apollo Gradle plugin

Configure the Apollo plugin to specify the package in which the Kotlin files will be generated. Put this at the end of app/build.gradle.kts:

Kotlin
app/build.gradle.kts
1apollo {
2  service("service") {
3    packageName.set("com.example.rocketreserver")
4  }
5}

Notice the service block: Apollo Kotlin supports configuring several services, which is useful if you have several GraphQL endpoints. In this tutorial there is only one, so you can name it anything you want (here we call it "service").

Add dependencies

Now add apollo-runtime to the list of dependencies. This is the code that executes queries and parses responses.

Kotlin
app/build.gradle.kts
1dependencies {
2    // ...
3    implementation("com.apollographql.apollo3:apollo-runtime:3.8.5")
4}

Android Studio will display a yellow banner, A project sync may be necessary for the IDE to work properly. Don't click it just yet as Apollo Kotlin requires a schema to sync correctly.

In the next step, you will add the GraphQL schema to the project.

Feedback

Edit on GitHub

Forums