Tecnologia do Blogger.
RSS

Re: [androidbrasil-dev] Re: Ajuda com layout

Boa tarde Geovani

Eu tenho as  classes que retornam as listas de dados de uma classe assim como as classes de Mac de  cada  tabela.

Sei que Android não é delphi, mas me solicitaram a tela o mais próximo do existente.

Atenciosamente
Luiz

Em 28/09/2014 13:23, "Geovani **Leia a documentação oficial** de Souza" <geovanisouza92@gmail.com> escreveu:
Rafael, uma dica: Imagino que vc esteja se baseando em uma aplicação feita em Delphi, certo? Nesse caso: Android não é Delphi.

A forma de trabalhar é diferente. Vamos lá:

No caso dos dados, a melhor forma é isolá-los atrás de um ContentProvider, não só os dados relacionais (db), mas arquivos, chaves-valor, API Rest, inclusive. Ele seria o equivalente a um DataModule. O Cursor é equivalente ao DataSet, e os Adapters são equivalmentes ao DataSource.

Pra facilitar a criação dele, recomendo o Schematic, que é uma mão na roda.

Seguindo essa lógica, sua ListView (que é equivalmente a uma Grid) recebe um Adapter (DataSource) que abstrai o conteúdo do Cursor (DataSet) e cria suas Views.

Sobre o acesso, se vc optar por usar o ContentProvider, o acesso é feito dentro dos Fragments. Desde que eles foram criados no Android 3.0, as Activities passaram a ter apenas a responsabilidade de ser um "palco". Além disso, vale a pena colocar nelas apenas controles mais "globais", como NavigationDrawer, ViewPager (com tabs) e o conteúdo pra comunicar um Fragment com outro.

Quanto aos seus botões de avançar e voltar: Não há a menor necessidade disso. Caso vc realmente queira dar uma facilidade para o usuário de trocar de itens, sem sair da Activity de detalhe, utilize um Swipe pra "deslizar" de um item para outro.

A forma de navegar no conteúdo do Android é outra: Vc lista o conteúdo, o usuário pode utilizar uma Action (na ActionBar) pra adicionar novos itens, e tocar em um pra editar. Mas vale lembrar que na listagem, só a informação mais essencial é necessária. Vc pode fazer um resumo nela (suponho que seu app seja de pedidos/itens de pedido, logo o "subtotal" ficaria na listagem).

Partindo desses conceitos, vc pode ter o seguinte:

# Para Smartphones:
- Duas Activities: Uma lista e uma detalhe;
- Dois Fragments: Uma lista e um "Form" pra editar o conteúdo;

# Para Tablets:
- Uma Activity com os dois fragments, lado a lado.

Na Lista, vc carrega o conteúdo do Content Provider;
Quando o usuário toca na action "adicionar", ele é levado para a activity de detalhe, com um formulário em branco. Se ele tocar em um item da lista, ele é levado para o mesmo formulário, mas ele vem preenchido com os dados do item. No caso do tablet, não existe essa navegação para outra activity, a Activity principal deve atualizar o fragment de detalhe (Na documentação têm isso bem explicado, e o Android Studio/ADT já têm um template Master/Detail prontinho ;)).

Pra saber se o Fragment/Form de edição deve criar ou atualizar o conteúdo, vc passa um argumento (via Activity Extra e Fragment Arg);

Pra salvar uma única Action (no caso de smartphones) ou um botão (no caso de tablets) já resolve. Pra cancelar, basta um toque no "Voltar".

Claro que essas ideias são a forma que eu faria. Vc pode acessar o banco diretamente, ficar criando interfaces mais elaboradas e navegar entre os itens da forma que quiser :D

Espero que isso te ajude.

--
You received this message because you are subscribed to a topic in the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/androidbrasil-dev/mkbVlhAysoM/unsubscribe.
To unsubscribe from this group and all its topics, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "Android Brasil - Dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to androidbrasil-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comentários:

Postar um comentário