Slices 란?
Android's new approach for remote content
- Tempalted
- Interactive
- Updateable
Backwards-compatible through KitKat/API 19+ (95% of devices)
The Goal?
Reusable API to generalize for how we present remote app content in Android
Slice를 하나의 재사용 가능한 API 로 만들어서 안드로이드 내에서 원격 컨텐츠를 일반적으로 사용할 수 있게 하기 위함
Slice 사용
Define your SliceProvider in AndroidManifest
...
<!-- Slices definition -->
<provider anroid:name=".MySliceProvider"
android:authority="com.example.slicesample"
android:exported="true"
</provider>
...
Implement your SliceProvider
class MySliceProvider : SliceProvider() {
fun onBindSlice(uri: Uri) : Slice ? {
if(uri.path == "/wifi") {
rturn buildWifiSlice(uri)
} else if(uri.path == "/alarms") {
rturn buildAlarmsSlice(uri)
} else if(uri.path == "/nightlight") {
rturn buildNightLightSlice(uri)
}
...
return null
}
...
fun buildWifiSlice(sliceUri: uri) : slice {
val listBuilder =
ListBuilder(getContext(), sliceUri, INFINITY)
val row = RowBuilder(listBuilder).setTitle("Wi-fi");
if(!isWifiStateLoaded) {
loadWifiState()
row.setSubtitle(null, true /* isLoading */)
.addEndItem(null, true /* isLoading */)
} else {
...
}
listBuilder.addRow(row)
return listBuilder.build()
}
...
}
'Android > Android Develop' 카테고리의 다른 글
WorkManager (0) | 2019.07.07 |
---|---|
Android Navigation (0) | 2019.07.07 |
Instant App (0) | 2019.07.07 |
Android Notification 개발시 주의사항 (0) | 2019.07.07 |