Exibindo uma tela

Nesta seção, você encontra um exemplo prático de como exibir uma tela Server-Driven

Exibindo uma tela a partir de uma URL

Para exibir uma tela full server-driven, você deve usar o método this.newServerDrivenIntent<BeagleActivity>()

  • this é o contexto da sua tela atual.

Este método requer apenas o parâmetro RequestData

Você deve seguir o comando abaixo:

val intent = this.newServerDrivenIntent<BeagleActivity>(RequestData("/screen"))
startActivity(intent)

A classe Request Data

A RequestData é uma classe interna do Beagle utilizada para solicitar qual tela você deseja exibir. Você deve listar apenas o atributo URL referente a página que deseja carregar vinda do BFF.

No entanto, esse elemento possui outros atributos, que podem ser utilizados na transição e entre telas. Para saber mais sobre essa classe, veja em Request Data

Exibindo uma tela a partir de um JSON

Para renderizar qualquer componente do Beagle no Android, é necessário informar um viewGroup onde a view correspondente ao componente será renderizada, como um FrameLayout dentro de uma Activity, Fragment ou DialogFragment. Veja o exemplo abaixo:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/frame_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"/>

Agora chame o método loadView() a partir do frame_layout criado no xml e passe a Activity e o JSON como parâmetros.

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        frame_layout.loadView(
            activity = this,
            screenJson = "JSON AQUI"
        )
    }
}

Última modificação 17/12/2021: adds request data class into docs (#827) (a0d47f69)