Tópicos abordados:
Requisitos:
Uma ação customizada é uma ação com um comportamento especifico criada pelo desenvolvedor. O Beagle possui uma serie de ações padrão, no entanto, pode haver algum uso que necessite de uma funcionalidade que não é padrão, como por exemplo, abrir uma interface de camera em um celular.
Caso queira saber mais sobre ações padronizadas do Beagle você pode verificar a sessão com os tipos de ações..
Para criar uma ação personalizada é necessario:
Passo 1. Criar uma classe anotada com @RegisterAction
, e implementar a interface Action
, no FRONTEND e no BACKEND da sua aplicação;
Passo 2. Colocar o nome da ação por parâmetro da annotation para evitar possíveis problemas com o Proguard e certificar-se de que a ação tem o mesmo nome no BACKEND e no FRONTEND;
Passo 3. Depois disso, a interface solicitará que o método execute
seja implementado (somente no FRONTEND);
O atributo value
é um exemplo de parâmetro que pode ser declarado no construtor dessa classe, você pode usar quantos precisar.
O exemplo a seguir mostra uma ação customizada para executar um Toast recebendo um texto no parâmetro value
:
@RegisterAction("customActionAndroid")
data class CustomActionAndroid(
val value: String
) : Action {
override fun execute(rootView: RootView) {
Toast.makeText(
rootView.getContext(),
value,
Toast.LENGTH_SHORT
).show()
}
}
@RegisterAction("customActionAndroid")
data class CustomActionAndroid(
val value: String
) : Action
value
que guardará a mensagem a ser utilizada no TOAST.Abaixo temos o JSON que representa essa ação sendo chamada a partir do click de um botão:
{
"_beagleComponent_": "beagle:button",
"text": "Beagle Button",
"onPress": [
{
"_beagleAction_": "custom:myCustomAction",
"value": "ParameterForAction."
}
]
}
@RegisterAction("className")
onde className
é o nome da sua classePara utilizar uma ação customizada, declare-a em um componente que execute ações, como por exemplo, um Botão
.
No exemplo abaixo, a ação é declarada no atributo onPress
do botão:
Button(
text = text,
styleId = styleId,
onPress = listOf(
CustomActionAndroid("Sou uma ação customizada")
)
)
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.