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
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:
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
.
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
:
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.
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.