> For the complete documentation index, see [llms.txt](https://docs.drivequant.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.drivequant.com/vehicle/user-interface/android/get-started.md).

# Get started

## **Prerequisite**

Before starting DriveKit Vehicle UI integration, make sure that you have initialized [Vehicle ](https://docs.drivequant.com/vehicle/android/get-started)and [Common UI](https://docs.drivequant.com/common-ui/android/get-started) components, especially if you have [disabled the SDK auto-initialization](/get-started-drivekit/android/advanced-configurations.md#manually-initialize-the-sdk).&#x20;

## **Integration**

To add Vehicle UI module to your app, add the following line to your dependencies in your application build.gradle file:

```gradle
dependencies {
    implementation 'com.drivequant.drivekit:drivekit-vehicle-ui:$drivekitui_version'
}
```

{% hint style="info" %}
Replace `$drivekitui_version` with the DriveKit version you are using in your app
{% endhint %}

{% hint style="info" %}
On a Github repository, you can find a demo app and the source code of Vehicle UI that you can use as an example.
{% endhint %}

## Initialization

If you have [disabled the SDK auto-initialization](/get-started-drivekit/android/advanced-configurations.md#manually-initialize-the-sdk), the Vehicle UI module must also be manually initialized.

Then, to initialize the module in your app, you must call the initialization method in `onCreate` method of your Application class:

{% tabs %}
{% tab title="DriveKitVehicleUI" %}

```kotlin
fun initialize()
```

{% endtab %}
{% endtabs %}

### **Display vehicle list**

To display the vehicle list to the driver, just call the following method:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
DriveKitNavigationController.vehicleUIEntryPoint?.startVehicleListActivity(context)
```

{% endtab %}

{% tab title="Java" %}

```
final VehicleUIEntryPoint vehiclesEntryPoint = DriveKitNavigationController.INSTANCE.getVehicleUIEntryPoint();
if (vehiclesEntryPoint != null) {
    vehiclesEntryPoint.startVehicleListActivity(getContext());
}
```

{% endtab %}
{% endtabs %}

<figure><img src="/files/IZhYzhnTEVoT3ySNgW7N" alt=""><figcaption></figcaption></figure>

### **Display vehicle detail**

To display the vehicle detail, just call the following method:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
DriveKitNavigationController.vehicleUIEntryPoint?.startVehicleDetailActivity(context, vehicleId)
```

{% endtab %}

{% tab title="Java" %}

```java
final VehicleUIEntryPoint vehiclesEntryPoint = DriveKitNavigationController.INSTANCE.getVehicleUIEntryPoint();
if (vehiclesEntryPoint != null) {
    vehiclesEntryPoint.startVehicleDetailActivity(getContext(), vehicleId);
}
```

{% endtab %}
{% endtabs %}

<figure><img src="/files/uvJ023zESnX7hf4bFPGk" alt=""><figcaption></figcaption></figure>

### **Display vehicle picker**

To display vehicle selection screens, just call the following method:

{% tabs %}
{% tab title="Kotlin" %}

```kotlin
VehiclePickerActivity.launchActivity(
    context: Context,
    vehicleToDelete: Vehicle? = null,
    listener : VehiclePickerCompleteListener? = null)
```

{% endtab %}

{% tab title="Java" %}

```java
VehiclePickerActivity.Companion.launchActivity(context: Context);
```

{% endtab %}
{% endtabs %}

* `VehiclePickerCompleteListener` : This callback is called when VehiclePickerActivity has finished
* `vehicleToDelete` : If you want to replace your vehicle, you can use this parameter, it will delete and create a new one.
