페이지 매김기 클래스 - Android
Paginator 클래스는 NowTableService 클래스에서 반환되는 결과와 같이 REST 끝점 호출에 의해 다시 전달된 반환 결과를 페이징하기 위한 함수를 제공합니다.
먼저 or NowTableService - paginator<Model: Decodable>(from tableName: String, path: String = Constants.resultPath, coder: Coder = .default, configuration: FetchConfiguration? = nil) 함수를 호출하여 NowTableService - paginator(from tableName: String, configuration: FetchConfiguration? = nil) 페이지 매김 반환 결과를 검색해야 합니다.
페이지 매김기 - first()
반환 결과의 첫 번째 페이지를 가져옵니다.
메서드는 첫 번째 페이지를 가져올 수 없는 경우 PaginationError 를 발생시킵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
paginator.first()
}
페이지 매김기 - hasNext()
반환 결과에 다음 페이지가 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 반환 결과에 다음 페이지가 있는지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
페이지 매김기 - hasPrevious()
반환 결과의 이전 페이지에 있는지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 부울 | 반환 결과에 이전 페이지가 있는지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasPrevious() && !paginator.isBusy()) {
paginator.previous()
}
}
페이지 매김기 - isBusy()
페이지 매김기가 데이터를 가져오는 중인지 확인합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 | 페이지 매김기가 데이터를 가져오는 중인지 여부를 나타내는 플래그입니다. 가능한 값:
|
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
페이지 매김기 - last()
반환 결과의 마지막 페이지를 가져옵니다.
메서드는 마지막 페이지를 가져올 수 없는 경우 PaginationError 를 발생시킵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if !paginator.isBusy()) {
paginator.last()
}
}
페이지 매김기 - next()
반환 결과의 다음 페이지를 가져옵니다.
가져올 페이지가 더 이상 없으면 메서드는 PaginationError 를 발생시킵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasNext() && !paginator.isBusy()) {
paginator.next()
}
}
페이지 매김기 - observe(callback: PaginatorCallBack<T>)
Paginator 객체의 콜백을 설정합니다. 다른 Paginator 함수를 호출하기 전에 이 메서드를 호출해야 합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 콜백 | PaginatorCallBack | Paginator 생성의 성공 또는 실패에 따라 호출할 콜백입니다.
|
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginationCallBack = object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
}
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(paginationCallBack)
?: throw Exception("Response is null")
}
페이지 매김기 - previous()
반환 결과의 이전 페이지를 가져옵니다.
메서드는 이전 페이지를 가져올 수 없는 경우 PaginationError 를 발생시킵니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
if (paginator.hasPrevious() && !paginator.isBusy()) {
paginator.previous()
}
}
페이지 매김기 - reset()
Paginator를 첫 번째 페이지로 다시 설정하지만 반환 결과의 첫 번째 페이지는 반환하지 않습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 이 함수를 호출하는 방법을 보여 줍니다.
suspend fun createAttachmentMetadataPaginator() {
val paginator = nowServiceManager.getNowAttachmentService()?.attachmentMetadataPaginator(null, 10)
?.observe(object : PaginatorCallBack<NowAttachmentMetadata> {
override fun onFailure(e: NowDataError) {
handleError(e)
}
override fun onSuccess(response: Response<List<NowAttachmentMetadata>>) {
handleResponse(response)
}
})
?: throw Exception("Response is null")
paginator.reset()
}