Setup development
개발 환경 요구사항
- SDK : Android API 26 이상
- JDK : JDK 11 이상
- IDE : Android Studio
- AVD : Connect SDK Emulator
정보
Connect SDK Emulator 설치에 대한 가이드는 Setup Connect SDK Emulator를 참조합니다.
프로젝트 설정
SDK 의존성 설정
- Project 수준 settings.gradle에 다음과 같이 추가합니다.
- settings.gradle.kts
- settings.gradle
allprojects {
repositories {
google()
mavenCentral()
maven(url="https://nexus-playground.pleos.ai/repository/maven-releases")
}
}
allprojects {
repositories {
google()
mavenCentral()
maven {
url "https://nexus-playground.pleos.ai/repository/maven-releases"
}
}
}
- App 수준 gradle file에 Sync SDK library 의존성을 추가합니다.
- settings.gradle.kts
- settings.gradle
dependencies {
// Add the dependency for the Sync SDK library
implementation("ai.pleos.sync:syncSDK:2.3.0")
}
dependencies {
// Add the dependency for the Sync SDK library
implementation 'ai.pleos.sync:syncSDK:2.3.0'
}
애플리케이션 권한 선언
Sync SDK를 사용하기 위해서는 아래 권한이 필요합니다.
AndroidManifest.xml
<manifest>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="pleos.car.permission.SYNC_DATA" />
</manifest>
초기화
SyncConfigsProvider
를 생성합니다.SyncConfigsProvider
는 프로젝트의 assets 폴더에 위치하고 있는 config 파일을 기반으로 연결 및 인증 정보를 구성합니다.initialize()
를 이용하여 SyncDatabase를 초기화하며, 비동기 방식의 초기화를 위해DatabaseListener
를 등록할 수 있습니다.DatabaseListener
가 실행된 후, InitializationState가 isReady 상태가 되면SyncDatabase
를 사용할 수 있습니다.
- Kotlin
- Java
val configsProvider = SyncConfigsProvider.createFromConfigFile(applicationContext).getOrThrow()
SyncDatabase.initialize(application, configsProvider) {
if (it.isReady()) {
syncDatabase = SyncDatabase.getInstance("databaseName")
} else {
//TODO: handle failure
}
}
SyncConfigsProvider configsProvider = SyncConfigsProvider.createFromConfigFile(applicationContext).getOrThrow();
SyncDatabase.initialize(application, configsProvider, new InitializationCallback() {
@Override
public void onInitialized(InitializationState state) {
if (state.isReady()) {
syncDatabase = SyncDatabase.getInstance("databaseName");
} else {
// TODO: handle failure
}
}
});