Versões comparadas
Chave
- Esta linha foi adicionada.
- Esta linha foi removida.
- A formatação mudou.
O cronapp permite que novos componentes para o bloco de programação ( cliente ) sejam criados. É possível criar esses novos componentes dentro da própria plataforma e de acordo com a necessidade de cada projeto.
Pré-requisitos
Antes de começar a seguir os passos do tutorial é preciso ter certeza de que se tem um ambiente minimamente preparado para reproduzir o exemplo. Abaixo estão os requisitos principais.
Requisitos:
- Projeto do tipo mobile criado. Caso haja dúvidas de como criar esse tipo de projeto acesse o link ( Criar novo projeto );
Visão Geral
Nesse tutorial iremos criar um componente, que obtém a quantidade de itens que uma lista possui, para os blocos de programação do tipo servidor.
Passos
...
Criar
...
pacote
Criar um novo pacote ( Em nosso exemplo o nome do pacote será menorValorLista) que irá conter a classe java referente ao componente. Faz parte da boa prática de desenvolvimento criar diretórios ou arquivos referentes ao bloco de programação do tipo servidor no diretório Códigos Fonte Servidor.
Image Modified
Figura 1 - Criação do pacote
...
Criar classe java
O pacote criado deve receber um novo arquivo do tipo Java, Pacote>Novo>Java (Figura 2). Após selecionada a opção a IDE irá exibir a tela de escolha do modelo do arquivo. Para o caso da criação de componentes, o modelo correto é o Nova Função para Bloco de Programação como pode ser visto na (Figura 3). O botão Avançar confirma a seleção do modelo e exibe a tela de definição das informações.
Image Modified
Figura 2 - Criação da classe java
Image Modified
Figura 3 - Escolha do modelo do arquivo
...
Definir informações do componente
O componente a ser criado pode ter as seguintes informações definidas: Nome da classe, Nome da função, Nome reduzido da função, Descrição da função e Categoria.
Image Modified
Figura 4 - Definindo informações sobre o componente
Informações | ||
---|---|---|
| ||
Nome da classe - MenorValorLista Nome da função - obterMenorValorLista Nome reduzido da função - obMenVaList Descrição da função - Função que retorna o menor valor contido em uma lista Categoria - Obter Valor |
...
Alterar parâmetros do componente(função)
A geração do código base para o componente vem com alguns parâmetros padrões, como por exemplo: type, returnType e Var input. Esses valores não são fixos e podem ser alterados. Ver Figura 5.
Informações | ||
---|---|---|
| ||
type - Tipo do parâmetro de entrada da função description - Descrição do parâmetro de entrada da função returnType - Tipo do parâmetro de saída da função Var input - Variável do tipo Var de nome input - (O nome da variável pode ser alterado mas indica-se manter seu tipo como Var) Exemplo de definição do tipo do parâmetro: type = ObjectType.STRING |
Image Modified
Figura 5 - Estrutura interna do componente
Image Modified
Figura 6 - Alguns dos tipos de parâmetro que podem ser utilizados
Image Modified
Figura 7 - Alguns dos métodos contidos em uma instância de um objeto do tipo Var
...
Adicionar código
Primeiramente, devemos alterar os tipos de dados atuais para list e além disso devemos acrescentar algumas informações sobre o parâmetro no código:
Bloco de código | ||||
---|---|---|---|---|
| ||||
@CronapiMetaData(type = "function", name = "obterMenorValorLista", description = "Função que retorna o menor valor contido em uma lista")
public static String obMenVaList(@ParamMetaData(description = "Parâmetro: Descrição do parâmetro") String input) throws Exception {
return "Input " + input;
}
|
Bloco de código | ||||
---|---|---|---|---|
| ||||
@CronapiMetaData(type = "function", name = "obterMenorValorLista", description = "Função que retorna o menor valor contido em uma lista")
public static Var obMenVaList(@ParamMetaData(type = ObjectType.LIST ,description = "Lista: lista que será passada para a função") Var list) throws Exception {
}
|
Após a adequação dos parâmetros, o código referente a funcionalidade pode ser adicionado ao corpo da função. Nesse exemplo, o código que retorna o menor valor contido em uma lista é o seguinte:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
Optional<Var> opt = list.getObjectAsList().stream().min(Comparator.comparingLong(Var::getObjectAsLong));
return opt.get(); |
Image ModifiedFigura 8 - Código adicionado ao corpo da função referente a funcionalidade do componente
Aviso | ||
---|---|---|
| ||
Caso seja apontado algum erro em algum temo do código, clique no termo e aperte " CRTL + . (ponto) " e após isso aparecerá uma lista com o comando importar biblioteca. Clique no comando referente a primeira biblioteca que aparece na lista. (Repita isso para todos os termos que estão grifados como erro e caso não funcione verifique se o termo não foi digitado errado) |
...
Acessar a função
O último passo após a inserção do código no componente é a visualização desta função como disponível para utilização no bloco de programação. Primeiro devemos recarregar o projeto para que a nossa função seja carregada.
Image Modified
Figura 9 - Recarregar projeto
Image Modified
Figura 9.
...
2 - Função sendo exibida em sua respectiva categoria no bloco de programação
...
Exibição de
...
informações
É possível visualizar as informações definidas durante o desenvolvimento da função passando-se o ponteiro do mouse sobre o componente (Figura 10).
Image Modified
Figura 10 - Exibição das informações da função