Parte 5 – Criando o aplicativo mobile e integrando dados via API

No último artigo desta série, vou criar o aplicativo móvel que irá consumir a API de integração de dados, que construímos no artigo anterior, e listar todos os clientes salvos na base de dados MySQL.

CRIANDO O APLICATIVO

A primeira coisa, após aberto o Intel XDK, é criar um novo projeto.

Pra este aplicativo, eu criei um projeto com template “Blank” que utiliza “HTML+Cordova”, além de marcar a opção “use AppDesigner”.

Para todos os fins, nosso aplicativo irá se chamar MobClientes, sendo este o nome do projeto que irei criar neste momento no Intel XDK, conforme figura abaixo:

Em tempo, neste projeto, irei utilizar a biblioteca de interface App Framework, no qual é solicitada a escolha assim que o Intel XDK terminar de criar o projeto. Caso tenha dúvidas sobre criação de um novo projeto no Intel XDK, assista essa vídeo-aula na qual explico detalhadamente o processo de criação de um novo projeto nesta ferramenta.

Após criado o projeto de aplicativo e selecionada a biblioteca de interface, nós vamos “montar o layout”. Para isso, vou utilizar apenas os componentes:

  • header – que irá conter o título do aplicativo na parte superior da tela;
  • text – logo abaixo do header, inseri este componente para comunicar ao usuário algumas ações. Por exemplo: ao clicar no botão “Carregar clientes”, iremos exibir uma mensagem que estamos buscando essas informações na API.
    IMPORTANTE: pra esse componente text, eu irei definir seu atributo id como “situacao” e também NÃO irei definir valor inicial para ele;
  • listview – localizado ao centro do layout, irá receber a lista de clientes que forem encontrados através da chamada a API (veremos posteriormente. Em resumo, será nosso “relatório mobile”
    IMPORTANTE: pra esse componente listview, eu irei definir seu atributo id como “listaClientes”;
  • footer – rodapé, que irá conter um botão de ação;
  • button – localizado dentro do footer, irá acionar a consulta a API e listar (na listview anterior) todos os clientes encontrados na tela.
    IMPORTANTE: pra esse componente button, eu irei definir seu atributo id como “btnClientes”;

Neste momento, nosso aplicativo possuirá o seguinte layout:

WHITELIST DOMAIN

Como menciono neste artigo, quando criamos um aplicativo no Intel XDK e vamos acessar informações externas via API, precisamos habilitar o acesso ao domínio no qual esse serviço está disponível.

Para isso, com nosso projeto aberto na ferramenta, vamos acessar a aba PROJECTS e, na seção CORDOVA HYBRID MOBILE APP SETTINGS, definir o acesso ao domínio “diegocavalca.com”, pois como citamos no artigo anterior, o acesso aos cadastros de clientes estará disponível na URL http://diegocavalca.com/articles/sistemadeclientes/api/clientes.

Veja na imagem abaixo:

Caso tenha dúvidas, novamente reforço a indicação para ler o artigo no qual explico detalhadamente porque fazemos essa configuração de domínios na whitelist do projeto.

CONSUMINDO A API E LISTANDO CLIENTES

Com a configuração de whitelist definida, agora podemos consumir a API de integração de dados e ter acesso aos cadastros de clientes em nosso banco de dados MySQL.

Para isso, basta colocarmos o código abaixo no arquivo index.html de nosso aplicativo no Intel XDK, imediatamente antes de fechar a tag <head>:

<script type="application/javascript">
    // Forçar uso do layout App Framework
    $.ui.useOSThemes=false;

    // Capturar o clique no botão #btnClientes...
    $(document).on("click", "#btnClientes", function(evt)
    {
        // Limpar todos os itens da lista...
        $("#listaClientes").empty();

        // Exibe a mensagem 'Carregndo clientes'
        $("#situacao").html("<center>Buscando clientes no banco de dados (API)...</center>");

        // Consumir a API...
        $.ajax({
            type: "GET",
            url: "http://diegocavalca.com/articles/sistemadeclientes/api/clientes",
            timeout: 3000,
            contentType: "application/json; charset=utf-8",
            //dataType: "jsonp",
            success: function (result, jqXHR) {

                // Interpretando retorno JSON...
                var clientes = JSON.parse(result);

                // Listando cada cliente encontrado na lista...
                $.each(clientes,function(i, cliente){
                    var item = "<li><h2>"+cliente.NOME+"</h2><p><b>Fone.:</b> "+cliente.TELEFONE+"</p><p><b>Email:</b> "+cliente.EMAIL+"</p></li>";
                    $("#listaClientes").append(item);
                });

                // Exibir mensagem com total de clientes encontrados...
                $("#situacao").html("<center>Foram encontrado "+clientes.length+" cliente(s)</center>");

            },
            error: function (jqXHR, status) {
                // Exibir mensagem de erro, caso aconteça...
                $("#situacao").html("<center>O servidor não conseguiu processar o pedido. Tente novamente mais tarde...</center>");
            },
        });

    });
</script>

Como vimos acima, eu “chamo”a API de integração de dados (linha 15) através do método Ajax, passando como parâmetro principal a URL no qual disponibilizei para consulta dos clientes cadastrados.

Indico que, em caso de dúvidas, além de ler mais informações sobre o método Ajax, revise o artigo anterior e entenda como construímos a API de integração de dados.

RESULTADO FINAL

Na guia EMULATE do Intel XDK, veremos então o resultado da nossa implementação feita no aplicativo, no qual – ao clicar no botão “Carregar clientes” – nosso app faz uma requisição a API de integração de dados e lista o resultado obtido em um componente listview. Veja abaixo esse resultado emulando o projeto no Intel XDK:

Observe que, após consumir a API, cada cliente cadastrado no banco de dados MySQL é listado no componente listview, exibindo o nome, telefone e email de cada cliente.

Em tempo, incluo abaixo uma captura de tela de meu dispositivo (iPhone 4S) rodando o aplicativo:

CONCLUSÃO

Chegamos ao fim desta série de artigos-tutoriais ‘Intel XDK – acessando dados externos com PHP, JSON e MySQL’, na qual apresentei todos os passos necessários para criar um aplicativo móvel, utilizando Intel XDK, que acesse dados disponíveis num servidor externo, salvos em um banco de dados MySQL.

Durante os artigos, mostrei:

  • Conceitos e tecnologias necessárias para criar o projeto;
  • Modelagem do banco de dados MySQL;
  • Estruturação do ambiente web e criação do relatório de clientes;
  • Desenvolvimento da API de integração de dados, em PHP, utilizando o SlimFramework;
  • Criação do aplicativo mobile no Intel XDK que acessa as informações disponibilizadas na API.

Com os conteúdos abordados nesta série, você terá o know-how necessário para criar sistemas realmente multiplataformas, customizando os dados da maneira que melhor se adeque em seu projeto.

A fim de facilitar o estudo, disponibilizo abaixo o link para download de todo o projeto que desenvolvemos durante a série, incluindo o ambiente web e o aplicativo mobile.

Link para download: https://mega.nz/#!vlhQgRrR!Rzq1t5qrUvuVFdqoCf5_tuKdjmAKU5jlMKT7ierid_k

Acompanhe também meu canal no Youtube: youtube.com/c/DiegoCavalca

Espero que tenha ajudo, uma vez que essa é uma dúvida que permeia o dia a dia de muitos desenvolvedores.

Grande abraço!

Written by Diego Cavalca

Graduado em Análise e Desenvolvimento de Sistemas pela UNILINS em 2012, atualmente Mestrando em Ciência da Computação na Universidade Federal de São Carlos (UFSCar).

  • Emerson Amaral

    Show de bola man! agora só preciso aprender a gravar dados no BD.
    vlw Diego vc é parceiro de vdd.

  • Pedro Vitor

    O usuário sempre vai precisar estar conectado para listar os clientes no app, ou a lista de clientes é mantida, para uma proxima consulta mesmo o usuário desconectado?

    • Como utiliza requisição AJAX, sempre vai ter que possuir conexão, afinal, você está enviando uma requisição para um webservice retornar um conjunto de informações.
      O que você pode implementar é: gravar o retorno do Webservice em um banco de dados local e, quando não houver conexão, você carrega a listagem do próprio banco de dados local.

  • Pedro Vitor

    Implementando o código acima não consegui listar os clientes, sempre acontece a msg: O servidor não conseguiu processar o pedido. Tente novamente mais tarde… oq pode ser?

    • 1. Você implementou a API corretamente em seu servidor?
      2. No seu aplicativo, dentro do Intel XDK, você habilitou o seu domínio no Whitelist, igual recomendo no artigo?

      • Pedro Vitor

        a API implementei corretamente, obtenho os retornos mostrados anteriormente, mas estou testando no navegador, posso?

        • Não, apenas dentro do Intel XDK (guia Emulate), conforme explico no artigo, uma vez que você cairá no Whitelist, ficando impossibilitado de acessar os dados da API.

          • Pedro Vitor

            a OK!, uma ultima dúvida na linha 20: //datatype: “jsonp” está comentada é assim mesmo?

          • Edilane de Souza Bezerra

            Olá. implementei assim como vc fez, no entanto quando vou emular só aparece a mensagem: “O servidor não conseguiu processar o pedido. Tente novamente mais tarde…”

            O que pode estar acontecendo? No Whitelist coloquei o caminho do meu servidor web: C:Program FilesEasyPHP-DevServer-14.1VC11datalocalwebapimobilesistemadeclientesapiclientes

          • Pedro Vitor

            eu consegui testar no navegador mesmo sem precisar emular o app colocando: header(“Access-Control-Allow-Origin: *”); no index.php

          • Edilane de Souza Bezerra

            Obrigada Pedro Vitor. Mas eu queria mesmo era colocar pra funcionar no App! Se conseguir avisa, tá ok!

          • Você precisar publicar seu sistema (API) em um domínio real na web e, após publicar seu sistema em um domínio, você chama ele via Ajax, conforme mostrei na PARTE 4 desta série.

          • Edilane de Souza Bezerra

            Hum… Significa que local não funciona, só em um domínio real na web? Então provavelmente o meu exemplo está ok, visto que consigo acessar a API pelo browser!

      • Natan Santos

        Aproveitando a dúvida do Pedro, e sua resposta aqui: tem como habilitar o domínio no whitelist para Windows Phone? Pois percebi que em “Build Settings” há uma divisão: Android, Android-Crosswalk, IOS e Windows 8, mas não Windows Phone. No Emulador do Intel XDK funcionou perfeitamente a recuperação dos dados do servidos, mas ao testar no meu celular pelo Intel App Preview ele dá a mesma mensagem que o Pedro citou.

  • Pedro Vitor

    Perfeito cara, funcionou perfeitamente, vc é 10!, agora só está faltando aprender uma forma de deixar esses dados salvos para o usuário usá-los offline, já que nem todo mundo tem internet o tempo todo aqui no Brasil kkkkkkk e também uma forma de economizar os pacotes de dados né? Alguma sugestão?

    • Confira a aula que abordo o tema “Banco de dados local (offiline)”: https://www.youtube.com/watch?v=Kq4nHmhz8is

      • gilbnet

        Olá Diego o pessoal tem postado na net sobre a descontinuidade do WEB SQL, gostaria de saber sua opinião sobre a utilização, tenho feito aplicativos com ele mas não sei até onde isso seria válido, qual sua indicação para banco local. É correto dizer que o WEB SQL inclui SQLITE?

  • Pedro Vitor

    Eu posso usar jQuery ao invés do AppFramework, seguindo as mesmas instruções de id?

    • Sim, o AppFramework utiliza uma sintaxe de script baseada em jQuery, inclusive você pode trabalhar com ambas bibliotecas.

  • Roberto Murta Filho

    Excelente artigo, bastante didático! Eu poderia salvar um arquivo, por exemplo, usuarios.json, com os mesmos dados retornados pela Api e empacotar no intel xdk gerando uma app sem a necessidade de conexão?

  • Roberto Murta Filho

    Mais uma dúvida, ainda não tive tempo de testar. Qual seria a melhor abordagem para fazer buscas em um arquivo json? Pretendo elaborar um sistem de consulta a uma legislação sem necessidade de conexão. Ou para buscas teria que usar um db local. O mais indicado seria o mysql lite?

    • Sim Roberto, pode utilizar a tecnologia SQLite, neste caso.

  • Roberto Murta Filho

    Diego, acabei de assistir o vídeo do websql. Me pareceu ser a melhor abordagem para a minha necessidade. A propósito, se vc tiver a intenção de oferecer um curso avançado, mesmo pago, tenho interesse!

  • Colque

    Cavalca, reitero minhas palavras sobre a admiração pelo seu rico trabalho para com os desenvolvedores e para com a sociedade, uma vez que és professor de uma galerinha que vem pra detonar!!!! Esta também é a minha linha de atuação (como já conversado) e espero de fato que eu possa lhe retribuir os feitos com o projeto do livro digital. Creio que toda a galera que te segue vai gostar muito e você, membro e apaixonado pelo docência, poderá poderá usufruir de créditos derivados destas publicações na sua carreira como educador. Conte comigo!!!! E, a galera que te segue, digo: apoiem ao Cavalca sempre que puderem, divulgando, referenciando-o nas palestras, cursos, seminários, meetups, conversa de boteco… pois ele representa bem os Brasucas que querem o melhor para o nosso Brasil tão carente de bons exemplos. Um forte abraço!!!!

  • Natan Santos

    Parabéns pelo excelente trabalho. Assim como outro usuário comentou, se vc fizer um curso mais avançado, mesmo que pago, também tenho interesse.

  • dionisio filho

    Boa Noite Diego,

    Excelente trabalho, muito top mesmo, mas tenho uma dúvida criei um projeto igual a que você explicou, no xdk intel ele roda perfeitamente pega os dados do BD e joga na tela, mas quando instalo o app no celular ele não consegue obter os dados.

    se puder me dá uma luz agradeço.

    • Você habilitou o acesso a URL no Whitelist?! Esse é um ponto importante que deve ter cuidado.

  • Ricardo

    Olá Diego. Excelente trabalho. Gostaria de saber se é possível criar um app para tocar rádio web em AAC. Tentei colocar no componente HTML5 áudio mas só roda Mp3.
    Grato

    • Aurelio Duarte

      Estou com a mesma duvida!!!

    • Até onde eu sei, somente com stream em mp3 mesmo. Tive o mesmo problema utilizando o plugin Media do Cordova.

  • Gonçalves

    Diego, é possível transformar a versão mobile de um tema wordpress em um aplicativo usando o intel xdk ? E ele funcionar como backend ? Existe essa possibilidade? Grande abs!

  • Pedro Santos

    Parabéns Diego, show de bola seus tutoriais!! Gostaria de saber se existe uma maneira de salvar os dados no banco de dados do android e depois sicronizar via mysql..

    • Silvio Garbes

      Sim, é possível. Você pode usar Local Storage (Android versão > 2.3) ou Indexed DB (Android versão > 4.4).

      • Pedro Santos

        Existe uma forma de copiar o arquivo de banco de dados gerado pela aplicação ? Pelo que vi, existe uma forma mas o celular precisa ter root.

        • Silvio Garbes

          Dessa forma não sei, mas é possível enviar os dados do Local Storage ou Indexed DB para o MySQL através do JSON, passando pelo PHP.

  • Vilson Sales de Oliveira

    Diego boa noite estou com problema criei o app no intel xdk e coloquei o player de minha radio fiz a instala ção no celular porem ele não toca e fica muito lento para abrir as paginas no menu será que poderia me ajudar?

  • Pingback: Diego Cavalca - Parte 4 – Construindo a API para integração de dados()

  • Murilo Ribeiro

    Diego, primeiramente parabéns pelos artigos e vídeos. Excelente conteúdo. Tenho uma dúvida. Como faço para exibir os resultados da busca no banco de dados de forma ordenada, de acordo com os atributos cadastrados na tabela do BD (Ex: altura, idade, etc.). Obrigado!

  • Joao Bernardo Bevilaqua

    Primeiramente parabéns,
    da pra fazer select Expecifica???

  • Rafael Ap. Rodrigues

    Parabéns, é muito bom ver pessoas dispostas a compartilhar seu conhecimento, tenho certeza que vai ajudar muita gente (já está me ajudando).

  • Edson Alves

    Bom Diego… Tem como mostrar como seria o processo de Edição de um registro selecionando seguinte este seu exemplo?

    Abraço e parabéns pela iniciativa.

  • Allex Olliveira

    Show de bola esse tutorial. Você poderia nos ensinar o processo invertido – enviar dados para um BD online; upload de imagens para servidor remoto etc…

  • Horleilson

    Diego calvaca estou com um problema que relativamente deveria ser fácil de resolver já fui no fórum do intel xdk e não obtive resposta ainda o problema é o seguinte quando coloco um link no listview para o usuário acessa um site quando ele vai retorna o aplicativo trava e não volta para a tela principal você pode me ajudar por favor.

  • Glauber M. Silva

    Você ja possui algum tutorial para sincronização de banco offline (websql) com o mysql(usando json+php), eu já fiz a conversação do banco mais estou meio perdido como enviar esses dados para o php.

    Outra coisa que percebi é que quando uso a combinação HTML5+CORDOVA o touch não funciona muito bem, mais se usar somente HTML5 funciona muito bem.

    O seu plugin dati.js funciona tanto no HTML 5 como no HTML5+CORDOVA?

  • dyedys

    Boa Noite, gostaria de saber se teria como fazer com que no momento que o usuário clicar no numero telefonico do contato o aparelho celular iniciar uma ligação para o numero cadastrado? tentei procurar algo na internet que ao menos desse uma luze não achei.

  • Robson Cesar Tomas

    Foi o melhor tutorial que eu vi sobre XDK. Consegui executar o app utilizando outro json que gerei em um site que estou desenvolvendo e funcionou beleza.
    Mas estou com problemas, fiz um app com Bootstrap e utilizei o código ajax para ler o json, inclui o site na whitelist e não funcionou, fica agarrado na parte “Buscando clientes no banco de dados (API)…”. Já revirei tudo e não encontro o problema. O que pode ser?

  • Renan Gonçalves

    Se possível faz um CRUD

    • Rodrigo Gomes Pedrosa

      Usa o AppGini como CRUD

  • cybelacs

    Caro Diego, primeiramente quero parabeniza-lo pela iniciativa, e agradecer por compartilhar conhecimento.

    Fiz todo o procedimento descrito em todas as sequencias de seu tutorial, e no meu desenvolvimento não esta recebendo o retorno das informações do web service, observando que coloquei no Whitelist o meu domínio, e ainda mais para verificar se o meu serviço de web esta funcionando baixei o seu aplicativo desenvolvido neste tutorial inseri minhas configurações e funcionou.

    Já alterei o meu projeto, já criei um novo projeto e não consegui obter sucesso.

    A versão do meu Intel XDK é 2548 e Cordova CLI versão 5.1.1

    Fico no aguardo

    Agradeço desde já.

    • Daniel Guedes

      Estou com o mesmo problema. WhiteList configurada, testei até com o projeto baixado da página e não consigo consumir os dados externos. Minha versão do XDK é 3088.

  • Albert Lima

    Opa diego beleza? como faço para os dados carregarem automaticamente quando a tela é carregada? sem a nescessidade de clickar no botão buscar Carregar clientes? muito grato!

    • Diogo Rocha

      Conseguiu carregar sem precisar clicar no botão?
      Preciso fazer a mesma coisa.

      • Renan Fernanda Rodrigues

        Basta colocar o evento dentro de uma função e quando entrar na pagina você chama a função.

  • ThNOAH!

    Teria alguma maneira de eu acessar uma base de dados firebird?

    • gimidia

      consegui fazer integração com firebird modificando os comandos mysql para firebird

  • Walney Moreira Klein

    Ola tudo bem diego, obrigado pelo curso, estou começando agora no mundo do Intel XDK, baixei o seu projeto alterei os dados e coloquei no servidor, mais nao esta retornando o json, nao sei porque e com isso a aplicação no Intel XDK nao aparece os clientes mais se acessar o relatorio.php aparece, o que pode ser ? o endereço de testes eh – http://paracima.com.br/wmk_api/api/ usando Intel XDK nova versão 2807, desde jah obrigado.

    • Olá Walney, me parece que seu servidor deve ter regras de reescrita de URL (rewrite_ur). Recomendo que entre em contato com a hospedagem e cite seu caso, diga que gostaria de desabilitar a reescrita de URL para o diretório “api”.

      • Rodrigo Gomes Pedrosa

        Estou com o mesmo problema, estava funcionando perfeitamente bem na hospedagem gratuita da Hostinger, mas de repente ao usar os sistema pago de outra empresa hostgator, esse erro prevalece, só que é em partes, programei para puxar várias tabelas, aí puxa umas e outras não… Mas no arquivo relatorio.php puxa todas sem erros.

  • Mateus

    Estou apresentando um problema com o App gerado, funcionou tudo no emulador do XDK, porém quando instalo o aplicativo ele não consegue puxa as informações do banco….

  • Alexandre Silva

    Olá Diego, muito bom o seu artigo.
    Tenho uma duvida, adaptei o código para exibir o conteúdo de uma tabela de categorias de filmes dentro do listview, gostaria de clicar em uma das categorias e abrir uma nova pagina com outro listview contendo os filmes. como poderia fazer isto?
    desde já obrigado.

  • Evandro Ferreira

    Diego eu estou tomando o erro na linha do parse: Uncaught SyntaxError: Unexpected token o

  • mrcarvalho66

    Diego, parabéns pelo belo trabalho. Você talvez não tenha percebido, mas está ajudando deveras o nosso país. Prezado, estou construindo uma aplicação SaaS em outra plataforma de desenvolvimento. Base de dados em PHP inicialmente, mas no futuro migrarei para Oracle. Gostaria de saber se com o XDK eu posso ter a minha aplicação rodando em um mobile, mesmo sem conexão na internet (perda de sinal…). A minha intenção é: mesmo em campo, sem internet (eu já tendo carregado os dados previamente no mobile – como se fosse uma carga – eu fechar os pedidos e depois quando eu tiver o sinal de internet estabilizado, o sistema atualizar a base de dados na nuvem. Desculpe se estou sendo beginner demais, mas peço ajuda ao amigo e aos demais. Agradeço pela ajuda.

  • Evandro A

    Olá Diego!
    sou iniciante nesse assunto, tenho uma dúvida simples, nesse método, se estiver sem internet, a ultima consulta feita com a internet ligada ficará salvo no celular ou necessariamente preciso do celular conectado?

  • madson g.

    Como resolver quando é implementado um back button no header e se você clicar novamente no mesmo botão que populou a lista anteriormente, o mesmo item ficar sendo adicionado repetidamente quantas vezes você fizer esse procedimento? Usei o .empty() mas a página fica em branco. Ao invés de .append() eu tentei com .html(), o que funciona, mas no segundo clique o item da lista tá perdendo toda a formatação css, ficando somente um link sublinhado.

  • Alan Claudio Melo

    Boa tarde Diego, fiz seu exemplo conforme mostrado no mini curso. Porém dois campos aparecem como undefined. É um campo String e outro data.

    // Listando cada cliente encontrado na lista…

    $.each(clientes,function(i, cliente){

    var item = “”+cliente.USUARIO+”Fone.: “+cliente.SENHA+”Email: “+cliente.DATA_CAD+””;

    $(“#listaClientes”).append(item);

    });

    O que pode ser?

  • Adson Souza

    Diego fiz todo processo acima mais não deu cara, preciso muito da sua ajuda, os resultados aparecem como undefine

  • Tarcisio Elias

    Boa Noite Diego como carrego o aplicativo com o banco de dados já com alguns registro gostaria que eles ja carrega nos seus lugares.Estou usando igual ao seu dati.js se poder me ajuda

  • Diego Vidal

    como poderia fazer ao contrario, alimentar o banco de dados pelo aplicativo?

  • Thiago Luis de Lima

    Boa Tarde Diego, artigo top demais, mas te perguntar , como faço pra postar uma foto do do meu aplicativo no site meu, estava pesquisando e vi falar que o jquery nao faz post de imagens, fiz um sistema de relatorio com algumas informações e preciso enviar uma foto do app tambem…se puder me ajudar agradeço

  • Giovanni Fersan

    Boa tarde, é possível acessar essa API através de um servidor local com IIS?
    Estou desenvolvendo um aplicativo, mas eu não preciso me conectar à internet, apenas na própria rede para adquirir os dados. Mas enfrento complicações em pegar os dados do banco de outro sistema Desktop. Quero rodar um servidor interno para poder fazer esse tráfego de informações.

  • Joelton Silva R. Correia

    Com o fim do Intel XDK para criar aplicativos, o que estão usando agora?

    • OkamuraToshi

      nao acabou, so nao tem o designer..
      se sabe html, ainda da pra usar o xdk
      vc pode procurar um projeto antigo (antes da atualizacao) e usar ela
      os projetos antigos ainda vao ter o designer
      dai so usar em cima desse projeto

      • Joelton Silva R. Correia

        Você tem um antigo?

        • OkamuraToshi

          tenho
          perai

  • Paulo Tozzi

    Olá Diego, estou tendo um problema numa app que estou criando.
    Quando faço a requisição via web, mesmo que de dominios diferentes tudo certo.
    Quando gero a apk nada de exibir registros do bd.
    Já liberei o acesso externo ao dominio e mesmo assim nada.
    Já usei o header do php para acesso via cross-domain e nada…
    enfim… estou ficando doido com isso. Pode me dar uma ajuda?
    Sou novo em programação mobile hibrida e toda ajuda será muito bem vinda.
    Obrigado