Paginator-Klasse – Android

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Die Paginator Die Klasse bietet Funktionen zum Paging durch die Rückgabeergebnisse, die von einem REST-Endpunkt-Aufruf zurückgegeben werden, z. B. die, die von zurückgegeben werden NowTableService Klasse.

    Sie müssen zuerst anrufen NowTableService – Paginator(from tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = Null) Oder NowTableService – paginator<Model: Decodable>(from tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.resultPfad, Coder: Coder = .Standard, Konfiguration: FetchConfiguration? = Null) Funktion zum Abrufen von Paginationsergebnissen.

    Paginator – first()

    Ruft die erste Seite der Rückgabeergebnisse ab.

    Die Methode löst einen aus PaginationError Wenn die erste Seite nicht abgerufen werden kann.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 2. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
    }

    Paginator – hasNext()

    Überprüft, ob die Rückgabeergebnisse eine nächste Seite enthalten.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rückgabeergebnisse eine nächste Seite enthalten.
    Mögliche Werte:
    • Wahr: Nächste Seite verfügbar.
    • Falsch: Keine nächste Seite verfügbar.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – hasPrevious()

    Überprüft, ob in den Rückgabeergebnissen eine vorherige Seite vorhanden ist.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob die Rückgabeergebnisse eine vorherige Seite enthalten.
    Mögliche Werte:
    • Wahr: Vorherige Seite verfügbar.
    • Falsch: Keine vorherige Seite verfügbar.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – isBusy()

    Überprüft, ob der Paginator mit dem Abrufen von Daten beschäftigt ist.

    Tabelle : 7. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 8. Ergebnisse
    Typ Beschreibung
    Keine Kennzeichnung, die angibt, ob der Paginator mit dem Abrufen von Daten beschäftigt ist.
    Mögliche Werte:
    • Wahr: Ist mit dem Abrufen von Daten beschäftigt.
    • Falsch: Nicht beschäftigt.

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – Last()

    Ruft die letzte Seite der Rückgabeergebnisse ab.

    Die Methode löst einen aus PaginationError Wenn die letzte Seite nicht abgerufen werden kann.

    Tabelle : 9. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 10. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – next()

    Ruft die nächste Seite der Rückgabeergebnisse ab.

    Die Methode löst einen aus PaginationError Wenn keine weiteren Seiten zum Abrufen vorhanden sind.

    Tabelle : 11. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 12. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – Beobachten(Rückruf: PaginatorCallBack<T>)

    Legt die Rückrufe des Paginator-Objekts fest. Sie müssen diese Methode aufrufen, bevor Sie andere Paginator-Funktionen aufrufen.

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Rückruf PaginatorCallBack Rückrufe, die basierend auf dem Erfolg oder Fehler der Paginator-Erstellung aufgerufen werden sollen.
    • Erfolg: Abstrakter Spaß onSuccess(Antwort: Response<List<T>>)
    • Fehler: Abstrakter Spaß onFailure (e: NowDataError)
    Tabelle : 14. Rückgaben
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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")
    }

    Paginator – previous()

    Ruft die vorherige Seite der Rückgabeergebnisse ab.

    Die Methode löst einen aus PaginationError Wenn die vorherige Seite nicht abgerufen werden kann.

    Tabelle : 15. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 16. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
      }
    }

    Paginator – Reset()

    Setzt den Paginator auf die erste Seite zurück, gibt jedoch nicht die erste Seite der Rückgabeergebnisse zurück.

    Tabelle : 17. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 18. Ergebnisse
    Typ Beschreibung
    Keine

    Das folgende Codebeispiel zeigt, wie diese Funktion aufgerufen wird.

    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()
    }