========= `xMova Android <../doc.html>`_ ========= ----------- File Update ----------- Quando habilitado permite ao dispositivo móvel fazer requisições de arquivos no formato aceito pela funcionalidade de Field Server de entrega de arquivos. O serviço de obtenção de arquivos irá funcionar enquanto o aplicativo estiver aberto; tanto em foreground quanto em background, é interrompido se o aplicativo for encerrado e retomado quando o aplicativo for iniciado. --------- Atributos: --------- * ``interval``: Determina o tempo mínimo entre a busca por novos arquivos disponíveis. Padrão de 5 minutos. * ``connectionTimeout``: Determina o timeout de conexão quando um servidor for encontrado e estiver fazendo a requisição de novos arquivos. Padrão de 20 segundos. * ``readTimeout``: Determina o timeout de leitura dos dados após a conexão com o servidor que irá prover os novos arquivos for estabelecida. Padrão 1 minuto. * ``folder``: Determina onde serão salvos os arquivos que forem obtidos do servidor. Caso não seja informado nenhum valor será solicitado ao usuário quando o serviço for ser executado pela primeira vez. * ``fileUpdateSyncOut``: Determina se os registros da entidade _FILE_UPDATE que serão salvos quando os arquivos forem recebidos devem ser enviados para o Web Service. Por padrão não são enviados * ``fileUpdateCleanUpDays``: Determina quantos dias; no mínimo, devem ser mantidos os registros da entidade _FILE_UPDATE do arquivos recebidos. Padrão de 1 dia. * ``versionPassword``: Especifica qual a senha para que as versões das aplicação sejam redefinidas e sejam feito o download a partir da primeira versão. (Padrão: v3rs!0n) * ``serviceUrl``: Especifica qual URL o serviço deve tentar buscar os arquivos. ------ Langs : ------ * ``FixedKeyFileUpdateTitle``: Exibida na tela de configurações e onde for necessário o título da funcionalidade de sincronismo de arquivos (File Update). (Padrão: Sincronismo de Arquivos) * ``FixedKeyWordFolder``: Palavra 'Diretório'. (Padrão: Diretório) * ``FixedKeyFileUpdateSelectFolderToSaveFilesMsg``: Exibida quando a rotina de busca por arquivos irá iniciar e nenhum diretório foi configurado. (Padrão: Selecione o diretório onde deverão ser salvos os arquivos sincronizados) * ``FixedKeyFileUpdateReceivedFileMsg``: Exibida quando um novo arquivo é recebido. Usar a tag caso queira exibir o nome do arquivo. (Padrão: Em branco, caso não esteja presente não é mostrada nenhuma mensagem) * ``FixedKeyFileUpdateReceivedFilesCountLabel``: Usada para exibir a quantidade de arquivos que já foram salvos no dispositivo. (Padrão: Arquivos Recebidos) * ``FixedKeyFileUpdateFileNameLabel``: Usada para exibir o nome do arquivo que foi feito o download. (Padrão: Nome ) * ``FixedKeyFileUpdateFileVersionLabel``: Usada para exibir a versão do arquivo que foi feito o download. (Padrão: Versão) * ``FixedKeyFileUpdateFileSizeLabel``: Usada para exibir o tamanho do arquivo que foi feito o download. (Padrão: Tamanho) * ``FixedKeyFileUpdateSyncActionLabel``: Usada para identificar a ação que permite ao usuário fazer a execução da rotina de busca de arquivos. (Padrão: Sincronizar) * ``FixedKeyMsgWaitUi``: Exibida quando algum processamento está sendo executado. (Padrão: Processando, aguarde...) * ``FixedKeyTypePassword``: Exibida quando uma senha é necessária para que a ação seja executada. (Padrão: Informe a senha) * ``FixedKeyFileUpdateResetVersions``: Usada para reiniciar o versionamento dos arquivos. (Padrão: Redefinir Versões) * ``FixedKeyTryingToReachServer``: Exibida quando o aplicativo fez alguma mudança na rede e está tentando verificar se é possível se comunicar com o servidor. (Padrão: Tentando se comunicar com o servidor...) * ``FixedKeyHttpConnecting``: Exibida quando o aplicativo está se connectando a algum servidor. (Padrão: Conectando...) * ``FixedKeyReceivingFileMsg``: Usada para indicar que um arquivo está sendo recebido. (Padrão: Recebendo Arquivo: \nTamanho: ) * ``FixedKeyValidatingFileMsg``: Usada para indicar que um arquivo está sendo validado. (Padrão: Validando Arquivo: \nTamanho: ) * ``FixedKeyWordExecuting``: Usada para indicar que alguma rotina está sendo executada. (Padrão: Executando) * ``FixedKeySearchingFilesMsg``: Usada para indicar que uma rotina está realizando a busca por arquivos. (Padrão: Buscando arquivos) * ``FixedKeySavingFileMsg``: Usada para indicar que um arquivo está sendo salvo. (Padrão: Salvando arquivo: ) * ``FixedKeyFileSavedMsg``: Usada para indicar que um arquivo foi salvo. (Padrão: Arquivo salvo: ) * ``FixedKeyFileUpdateNoApplicationDefinedMsg``: Usada para indicar que nenhuma aplicação foi definida para que a busca por arquivos possa ser realizada. (Padrão: Nenhuma aplicação definida para busca de arquivos) * ``FixedKeyNoServerFoundMsg``: Usada para indicar que nenhum servidor está definido para que uma determinada rotina seja executada. (Padrão: Nenhum servidor definido) **Exemplo de Configuração de um File Update**:: App appCode=X id 30181 name xMova File Update version 1.0.87 intVersion 88 install type=fillAuth inputEntity=AuthInput server defaultDataSource jsonServiceApi jsonServiceApi url=%jsonServiceApiUrl defaultOnlineValidator jsonServiceApi defaultReceiver jsonServiceApi versionControl Crc fieldServerClient reachServerTimeout 30s serverUrl http://192.168.0.[100-180]:8080 fileUpdate interval 30m connectionTimeout 30s readTimeout 1m OnUpdateFileRequest Area area = selectFirst From Area application = area.id + @| + area.descricao OnUpdateFileRequestSuccess toast Sucesso! **Modelo da Entidade _FILE_UPDATE**:: _FILE_UPDATE sync=out id inc name String application String version long server String date Now ------- Eventos ------- * ``OnUpdateFilePrepareRequestUrl``: Quando presente deve retornar a url que será chamada para a obtenção de arquivos, caso não esteja presente o aplicativo irá fazer a busca por Field Servers usando a configuração de fieldServerClient. É mandatório que o evento, o atributo **serviceUrl** ou a configuração estejam presentes, caso todos estejam presentes é dado preferência ao evento para obter a url, após o evento o aplicativo tentar acessar a url do serviço e no caso de falha busca por um XFS.. * ``OnUpdateFileRequest``: Executado para obter o valor dos campos **application** e **version**. Caso o **version** não seja definido, o aplicativo irá fazer o controle automaticamente do incremento da versão de acordo com os arquivos recebidos. O parâmetro **application** deve ser definido usando o padrão de separação de chave e valores por | (pipes) conforme a request definida na configuração de entrega de arquivos do Field Server. * ``OnUpdateFileRequestSuccess``: Executado quando um arquivo é recebido com sucesso. Contém o record da entidade _FILE_UPDATE com os dados do arquivo recebido que será salvo no banco de dados. ----------------------------------- Fotos da Utilização da Funcionalidade: ----------------------------------- .. figure:: ../images/fileupdate/menuoption.png :height: 400px :width: 240px :align: left Exibição da opção que é adicionada ao menu superior para que seja possível visualizar a execução da rotina. A rotina é executada em background, sem a intervenção do usuário, mas é possível que o usuário selecione a opção de sincronizar para que a rotina seja executada. (Sincronismo de Arquivo) .. figure:: ../images/fileupdate/selectdir1.png :height: 400px :width: 240px :align: left Quando a rotina é iniciada e não existe nenhum diretório selecionado é apresentada ao usuário a mensagem de que um diretório deve ser selecionado para que os arquivos sejam recebidos. .. figure:: ../images/fileupdate/selectdir2.png :height: 400px :width: 240px :align: left Quando o usuário confirma a mensagem de que um diretório deve ser selecionado é apresentado um navegador de diretórios para a seleção do diretório. .. figure:: ../images/fileupdate/receivingfile.png :height: 400px :width: 240px :align: left Exemplo de um arquivo sendo recebido, para que a tela mostre informações da rotina sendo executada é necessário que o usuário clique na opção "Sincronizar", caso contrário a rotina irá aguardar o agendamento para executar em background. Na lista é possível visualizar as informações dos arquivos que já foram recebidos. .. figure:: ../images/fileupdate/menuconfiguration.png :height: 400px :width: 240px :align: left É possível alterar as configurações da rotina utilizando o menu de configurações .. figure:: ../images/fileupdate/fileupdateoption.png :height: 400px :width: 240px :align: left Ao entrar na tela de configurações deve-se selecionar a opção "Sincronismo de Arquivos" .. figure:: ../images/fileupdate/configurations.png :height: 400px :width: 240px :align: left Exibição dos parâmetros disponíveis, para que seja possível redefinir as versões das aplicações é necessário fazer uso da senha presente no parâmeto **versionPassword**