- Criado por Bianca Ferreira, última alteração em 09/01/2020
Você está vendo a versão antiga da página. Ver a versão atual.
Comparar com o atual Ver Histórico da Página
« Anterior Versão 32 Próxima »
O Cronapp permite que novos blocos de programação ( cliente ou servidor ) 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.
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 2.1). O botão Avançar confirma a seleção do modelo e exibe a tela de definição das informações.
Figura 2 - Criação da classe java
Figura 2.1 - 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.
Figura 3 - Definindo informações sobre o componente
Informações da função
Nome da classe - MenorValorLista (Define o nome da classe java onde está inserida a função)
Nome da função - obterMenorValorLista (Atribui o nome da função)
Nome reduzido da função - obMenVaList (Define um nome reduzido para a função)
Descrição da função - Função que retorna o menor valor contido em uma lista (Descreve a finalidade da função)
Categoria - Obter Valor (Define em qual categoria a função vai aparecer no editor de blocos de programação do tipo servidor)
As informações preenchidas acima são exibidas posteriormente ao selecionarmos a função criada no editor de blocos de programação servidor (Figura 7).
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 4.
Mais sobre
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
Figura 4 - Estrutura interna do componente
Figura 4.1 - Alguns dos tipos de parâmetro que podem ser utilizados
Figura 4.2 - 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:
@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; }
@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:
Optional<Var> opt = list.getObjectAsList().stream().min(Comparator.comparingLong(Var::getObjectAsLong)); return opt.get();
Figura 5 - Código adicionado ao corpo da função referente a funcionalidade do componente
Código apontando erro
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.
Figura 6 - Recarregar projeto
Figura 6.1 - 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 7).
Figura 7 - Exibição das informações da função
Testando a função
Agora vamos testar a função que desenvolvemos nesse tutorial. Para isso foi criado um bloco ( do tipo servidor) que cria uma lista com 3 valores inteiros e pega o menor valor dessa lista e exibe na tela, após isso foi criado um botão que chama esse bloco e exibe o resultado na tela conforme as imagens abaixo ( Figura 8 e 8.1).
Figura 8 - Bloco que exibe o menor valor da lista
Figura 8.1 - Menor valor da lista exibido na tela
Nessa página
- Sem rótulos