Android(Kotlin)アプリケーションからmicroCMSを簡単に利用できます。
このライブラリはMaven Centralで公開されています。
buildscript {
repositories {
mavenCentral()
}
}依存関係を追加します。
dependencies {
implementation 'io.microcms:android-sdk:1.0.1'
}また、マニフェストで android.permission.INTERNET 権限を追加してください。
<uses-permission android:name="android.permission.INTERNET" />val client = Client(
serviceDomain = "YOUR_DOMAIN", // YOUR_DOMAINはXXXX.microcms.ioのXXXXの部分です
apiKey = "YOUR_API_KEY",
)以下のようにAPIを呼び出せます。
コールバックに渡される result(Result<JSONObject>)は、Kotlin標準ライブラリのクラスです。
client.get(
"API_ENDPOINT"
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getJSONArray("contents").toString(2)) }
}client.get(
"API_ENDPOINT",
listOf(Limit(2), Filters("createdAt[greater_than]2021"))
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getJSONArray("contents").toString(2)) }
}client.get(
"API_ENDPOINT",
"CONTENT_ID",
listOf(Fields("id"))
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.get(
"API_ENDPOINT",
listOf(Fields("id"))
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.create(
"API_ENDPOINT",
null,
mapOf("text" to "Hello Android SDK!"),
false
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.create(
"API_ENDPOINT",
"CONTENT_ID",
mapOf("text" to "Hello Android SDK!"),
false
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.create(
"API_ENDPOINT",
"CONTENT_ID",
mapOf("text" to "Hello Android SDK!"),
true
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.update(
"API_ENDPOINT",
"CONTENT_ID",
mapOf("text" to "Hello Android SDK update method!")
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.update(
"API_ENDPOINT",
null,
mapOf("message" to "Hello Android SDK!")
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}client.delete(
"API_ENDPOINT",
"CONTENT_ID"
) { result ->
result.onSuccess { json -> Log.d("microCMS example", json.getString("publishedAt")) }
}