domingo, 8 de dezembro de 2013

Delphi XE5 Android - StringGrid e Grid


Esta vídeo aula tem como objetivo ensinar como criar um projeto FireMonkey Android utilizando SQLite para guardar informações de banco de dados. 


Para exibir os dados, é utilizado um StringGrid e um Grid, mostro como configurar e utilizar esses componentes. Espero que gostem, qualquer dúvida, sugestão ou comentário basta comentar aqui ou no meu blog. Abraços e bons estudos.

Para download deste fonte, clique aqui.

Para acessar todo o repositório, clique aqui.

57 comentários:

  1. Anderson,
    Parabéns por seu trabalho...
    Agora uma solicitação: tem como vc postar alguma coisa para sabermos se o celular está conectado à internet via wifi ou 3G/4G?
    Obrigado!

    ResponderExcluir
    Respostas
    1. Muito obrigado pelo comentário...

      Eu tenho uma unit que chamo "utNetwork", nela existem 3 métodos, está conectado com a internet, está conectado com o WiFi e está conectado com 2G/3G/4G. Porém essa unit está preparada apenas para Android, isso te atende?

      Excluir
  2. Atende sim Anderson...
    Seu blog está me ajudando muito no desenvolvimento, com posts muito úteis para a comunidade de desenvolvedores...
    Espero q vc não fique chateado com minhas solicitações...
    Estou usando os posts como material de referencia aqui.

    ResponderExcluir
    Respostas
    1. Ok Bruno, assim que chegar em casa eu pego e subo no google drive...

      Abraços e é muito bom saber que estou ajudando...

      Excluir
  3. Respostas
    1. Desculpe, mas está no aguardo de que? Não me recordo de ter prometido nada... kkk

      Excluir
  4. Respostas
    1. Ahhhh simmm... mil desculpas cara, estou numa correria sem tamanho, é entrega de projeto na empresa e ta osso...

      Segue o link da unit, se der algum problema me avise:
      https://drive.google.com/file/d/0B60tNO-1JvWxRlZxM2RoYjdQVUU/edit?usp=sharing

      Abraços e boa sorte, desculpa pela demora.

      Excluir
    2. Tem algum exemplo de uso da Unit?

      Excluir
    3. Este comentário foi removido pelo autor.

      Excluir
  5. Boa noite, aonde encontro as DLL do sqlite ?

    Contato: jhonatan.francisco.vaz@gmail.com

    ResponderExcluir
  6. No site responsável pelo SQLite você acha o pacote todo, porém não é necessário, não tive nenhum problema relacionado a isso.

    ResponderExcluir
  7. Vc tem algum código que utiliza mensagem de aguarde enquanto está fazendo a sincronização?

    ResponderExcluir
    Respostas
    1. Tenho, porém não posso disponibilizar, pois trata-se de um produto.

      Porém é simples, você tem que fazer todo o processamento em threads (consulta a base de dados, insert, delete etc.) e o processador principal fica responsável apenas na tela de aguarde, que no meu caso é um panel com o TAniIndicator que fica visible true e false.

      Excluir
  8. Olá Amigo,
    Bom dia. Parabéns pelo material. Estou precisando de algumas aulas focadas no desenvolvimento para IOS e Android. Você presta este tipo de serviço? Acho que muita gente aqui teria interesse.
    Abraços,
    José

    ResponderExcluir
    Respostas
    1. Olá José, muito obrigado pelo comentário.
      Sim, eu presto esse tipo de serviço, inclusive esses dias ministrei aula de Delphi com Android.

      Se tiver interesse podemos negociar, entre em contato por esse email: ander.unip@gmail.com

      Abraços.

      Excluir
  9. Olá, criei um projeto com StringGrid e ficou muito bom! Porém, quando eu coloco muitos dados no banco, demora muito pra visualiza-los. Tem alguma maneira de agilizar o processo?

    Na minha tabela clientes tem 150 itens e demora cerca de 25 segundos para exibi-los na tela.

    Abraços.

    ResponderExcluir
  10. Anderson tem me ajudado muito, ótimas videoaulas e dar uma lida nos comentários tem me sido muito útil. Parabéns pela iniciativa.
    Abraços, Pedro Carvilhe

    ResponderExcluir
  11. Meu nome é HUMBERTO sou de Cuiaba - MT
    Queria saber se vc faz ou um empresa consultoria em delphi android,
    pagamento mensal ou hora ,
    estou querendo fazer um aplicacao completa,
    uso delphi 7 a 6 anos.
    meu email humberto@hetosoft.com.br 65.3036-3668 65.9610-3020

    ResponderExcluir
  12. Amigo seus tutoriais são ótimos... me tire uma dúvida? Como diminuir o tamanho dos arquivos .apk ... criei um projeto com apenas um button e o mesmo ficou com 5 mb e para instalação foi para mais de 15mb ... imagina um projeto grande... ficará com GBs ??? kkk

    ResponderExcluir
    Respostas
    1. Muito obrigado... Sem chance amigo, não tem como fazer, realmente fica grande mesmo, mas depois a tendencia não é aumentar muito, depois que passa dos 50mb vai subindo aos poucos... Espero que eles melhorem isso. Abraços e boa sorte.

      Excluir
  13. gostaria de saber se vc sabe se tem como utilizar o genymotion no XE5...vi alguma coisa do tipo mas não consegui usa... desde ja um muito obrigado..

    ResponderExcluir
  14. Nunca vi esse cara... assim que tiver tempo dou uma olhada.

    ResponderExcluir
  15. Bom Dia Anderson..
    Fiz um exemplo igual ao seu .
    Quando compilo no windows 32 blza tudo certo.
    Quando compilo para o emulador android ou coloco no aparelho android tenho o seguinte erro [FIREDAC][Phys][SQLite]ERROR: unable to open database file.
    Sabe oque posso fazer ? Fico no aguardo Obrigado

    ResponderExcluir
    Respostas
    1. Bom dia... Fez igual mesmo? kkk

      Você deve ter esquecido de enviar a base de dados, ou esquecido de programar o evento onBeferoConnect.

      Excluir
    2. Bom dia Anderson,

      O meu deu o mesmo problema que o colega acima, como faço para enviar o db3 para o simulador ?

      Obrigado.

      Excluir
  16. Parabéns pelos seus vídeos, e o compartilhamento das informações.
    Gostaria de saber se depois de atualizar as informações dentro do android(inserir dados)
    como posso atualizar a base dentro do windows via wifi?

    ResponderExcluir
    Respostas
    1. Muito obrigado...

      http://unitechgy.blogspot.com.br/2013/12/delphi-xe5-android-sincronizacao.html

      neste link ensino como fazer essa sincronização.. abraços

      Excluir
  17. Sandro (Fortaleza)
    Bom dia Anderson... os seus vídeos são show de bola, tenho aprendido bastante com eles e vc, e os exemplos funcionam tudo certinho.

    Quero te perguntar como imprimir nas impressoras da rede a partir de um aplicativo android compilado com o delphi xe5. Desde já agradeço a sua boa vontade. sucesso!

    ResponderExcluir
    Respostas
    1. Muito obrigado, bom saber que estou ajudando...

      Então, nunca fiz e nem pesquisei nada do gênero...
      Assim que tiver um tempo dou uma olhada pra você...
      Se descobrir antes, não deixe de compartilhar o conhecimento... abraços e boa sorte.

      Excluir
    2. nas minhas pesquisas nao encontrei um componente que imprima diretamente pelo android, entao utilizei um servidor datasnap como intermediario

      Excluir
  18. Bom assistindo a um de seus vídeos sobre datasnap, vi a possibilidade de criar uma função (método) no lado servidor, e coletar os parâmetros necessários no lado cliente, daí é só fazer o relatório ou rotina de impressão (lado servidor)... valeu. se tiver algo mais apropriado agradeço.

    ResponderExcluir
  19. Olá Anderson!

    Peguei o exemplo que você disponibilizou mas ao compilar dá o seguinte erro: [Content]
    Unable to create process: Unable to install C:\StringGrid e Grid\Android\Debug\prjStringGridEGrid\bin\prjStringGridEGrid.apk.
    Failure [INSTALL_FAILED_INSUFFICIENT_STORAGE]

    [OK]

    Você sabe o que poderia ser?

    Agradeço desde já!

    Diego

    ResponderExcluir
    Respostas
    1. Você está tentando instalar no emulador ou no dispositivo?

      Nunca vi esse erro, mas pela descrição para que está sem espaço suficiente.

      Abraços.

      Excluir
    2. Estou tentando rodar no emulador default do XE5.

      Estou rodando no C:/

      esse é o erro que dá : http://screencast.com/t/MiHBaTOxIe

      Engraçado que um form normal, sem conexão com BD, o emulador roda...

      =/

      Diego

      Excluir
    3. Olà Anderson!

      Fiz uma atualização no meu Delphi e deu certo!

      Agora outra pergunta: como fazer para editar e salvar as alterações?

      Obrigado novamente!

      Diego

      Excluir
  20. Ola Anderson, estou com um problema no grid ao exibir uma data (sqllite).
    o mesmo nao esta exibindo a data inteira( inseri uma data no formato 2014-02-24) e ele somente esta mostrando 2014 no grid. Como resolver isso/

    ResponderExcluir
    Respostas
    1. Provávelmente é o tamanho do campo no ClientDataSet.

      Abraços.

      Excluir
  21. Olá Anderson, você tem alguma Unit ou já fez algo para comunicação via Bluetooth?, estou precisando para comunicar com uma impressora. só preciso enviar determinados comandos na porta.

    ResponderExcluir
    Respostas
    1. Infelizmente ainda não... Ainda não parei para estudar comunicação via Bluetooth, se conseguir algo não deixe de nos informar.

      Abraços...

      Excluir
  22. Boa tarde Anderson,
    antes de mais nada parabens pelo site, muito bom!

    Anderson eu estou com uma duvida muito mais basica (eu creio que seja), estou terminando um app, mas não consigo rodar ele na versão 3.3.6 do android (segundo a embarcadero é possível), onde no xe5 eu mudo o api level da minha aplicação?

    ResponderExcluir
    Respostas
    1. No Delphi você não diz isso, pelo menos não que eu saiba. Acho que depende dos sdks que você instala ou algo assim.

      Excluir
    2. então se meu sdk esta com a api level 19 instalada, o delphi vai gerar altomaticamente um app para essa versão de android?

      Excluir
    3. Acho que sim... Nunca fiz nada para versão menor que 4.0.

      Excluir
    4. entendi, eu vi que tem como mudar o api level la em:
      Tools -> Options -> Environment Opinions -> SDK Maneger.
      mas mesmo assim não roda na 2.3.6, pelo menos não consegui...

      mas obrigado mesmo assim, e parabens novamente pelo site, vou continuar acompanhando!

      Excluir
  23. Este comentário foi removido pelo autor.

    ResponderExcluir
  24. tem como eu mudar o tamanho da fonte dos dados da grid ? Parabens pelo site, esta me ajudando muito!!!

    ResponderExcluir
    Respostas
    1. Da última vez que tentei não consegui, a grid pro android/ios é muito pobre, ou seja, vc consegue só fazer o necessário, coisas legais fica pro windows.

      Da uma pesquisada mas acho que não vai conseguir. Abraços

      Excluir
  25. Parceiro, sabe me dizer como fecho uma tela no android via programacao ?

    ResponderExcluir
    Respostas
    1. Self.Close;

      se for form no showmodal pode usar modalresult := mrOk;

      Excluir
  26. cara, consegui apenas mudar o texto de dentro da grid (fonte, tamanho, cor, alinhamento), instalei o Delphi XE6 e ele vem com essa opção(TextSettings), só o titulo não consegui

    ResponderExcluir
    Respostas
    1. Eu também não consegui kkkk...
      se conseguir algo me avisa.. abraços

      Excluir
    2. kkk, pode deixar que aviso sim

      Excluir
  27. Boa Noite Anderson;

    Você já utilizou a propriedade CustomFormat do Column para formatar os dados de um campo Float? Tentei colocar "0.00" e FormatFloat('0.00', %s) e com o primeiro, mostra os valores sempre ZERO e o segundo gerar um exception com o FormatFloat.

    Obrigado!!!

    ResponderExcluir
    Respostas
    1. Nunca usei essa propriedade... Acho que deve ser algo assim 0#,###, tipo a formatação que agente usa no FormatFloat.

      Abraços

      Excluir
  28. Anderson, boa tarde poderia entrar em contato comigo. robson_sms@yahoo.com.br

    ResponderExcluir
  29. Olá Anderson,
    Otimo Blog, Parabens, esta me ajudando muito.
    Criando um app cheguei a seguinte situação: coloquei uma Grid e a conectei a uma FDTable via LiveBindings(BindSourceDB), ao percorrer ou clicando nos registros na Grid o ponteiro da tabela não se movimenta, não tendo nenhuma referencia entre a Grid é a Tabela, sendo que preciso deste para abrir outro form o de Editar, por favor Anderson me dê uma luz, estou fritando os miolos, já pensei em criar uma variavel que pegasse o texto da Grid e depois filtrar com uma Query para mostrar no form de Editar, mas não consegui achar o texto na coluna selecionada na Grid, como posso fazer ?

    ResponderExcluir