Paginatorklasse – Android

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 4 Minuten Lesedauer
  • Die Klasse Paginator bietet Funktionen zum Durchblättern der zurückgegebenen Ergebnisse, die von einem REST-Endpunktaufruf zurückgegeben werden, z. B. die von der Klasse NowTableService zurückgegebenen Ergebnisse.

    Sie müssen zuerst die Funktion NowTableService – paginator (von tableName: Zeichenfolge, Konfiguration: FetchConfiguration? = nil) oder NowTableService: Paginator<Model: Decodable> (aus tableName: Zeichenfolge, Pfad: Zeichenfolge = Konstanten.Ergebnispfad, Codierer: Coder = .default, Konfiguration: FetchConfiguration? = Null) aufrufen, um die Ergebnisse der paginierten Rückgabe abzurufen.

    Paginator – first()

    Ruft die erste Seite der zurückgegebenen Ergebnisse ab.

    Die Methode löst einen PaginationError aus, 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 in den zurückgegebenen Ergebnissen eine nächste Seite vorhanden ist.

    Tabelle : 3. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 4. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob in den zurückgegebenen Ergebnissen eine nächste Seite vorhanden ist.
    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 – hasPrevident()

    Überprüft, ob in den zurückgegebenen Ergebnissen eine vorherige Seite angezeigt wird.

    Tabelle : 5. Parameter
    Name Typ Beschreibung
    Keine
    Tabelle : 6. Ergebnisse
    Typ Beschreibung
    Boolean Kennzeichnung, die angibt, ob in den zurückgegebenen Ergebnissen eine vorherige Seite vorhanden ist.
    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 ausgelastet 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 ausgelastet ist.
    Mögliche Werte:
    • wahr: Das Abrufen von Daten ist ausgelastet.
    • false: Nicht ausgelastet.

    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 zurückgegebenen Ergebnisse ab.

    Die Methode löst einen PaginationError aus, 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 zurückgegebenen Ergebnisse ab.

    Die Methode löst einen PaginationError aus, wenn keine weiteren Seiten abzurufen 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 – observable(callback: PaginatorCallBack<T> )

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

    Tabelle : 13. Parameter
    Name Typ Beschreibung
    Rückruf PaginatorCallBack Rückrufe basierend auf Erfolg oder Fehler der Paginator-Erstellung.
    • Erfolg: Zusammenfassung spass onSuccess(Antwort: Antwort<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 zurückgegebenen Ergebnisse ab.

    Die Methode löst einen PaginationError aus, 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 – zurücksetzen ()

    Setzt den Paginator auf die erste Seite zurück, gibt jedoch nicht die erste Seite der zurückgegebenen Ergebnisse 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()
    }