Bom Dia,
Durante a semana realizamos diversas atividades, podemos destacar a implementação do ícone do PimpMyPizza na aplicação, substituindo o emblemático robozinho do Android (finalmente).
Imagem 1: ícone com a aplicação em execução
Imagem 2: ícone para executar a aplicação
Além disso foram realizadas as substituições das imagens do manual do usuário e as recorrentes atualizações no relatório de desenvolvimento.
As atividades dessa semana se concentraram na documentação do projeto. Foram realizadas correções, indicadas pelos professores, no relatório de desenvolvimento e nos manuais técnico e de usuário.
No manual técnico especificamente iniciamos a elaboração de uma sessão de detalhamento de funcionamento do Web Service da aplicação.
Além disso, postamos no repositório do grupo as análises de apresentação dos demais grupos.
Boa noite,
Nesta semana realizamos algumas correções na parte mobile da aplicação. A principal indicada pelos professores era a correção do método de cálculo de preço do pedido, que antes era calculado a alteração realizada no carrinho (adição ou remoção de produto), agora, o método calcula o preço de todos os itens .
Iniciamos também a prototipagem da tela de configuração de pedido quem segundo os professores, estava saturada de elementos. Decidimos por separar a tela em: customização de sabores e customização de Pizza.
A intenção no momento é a utilização de SwypeTabs como no cardápio da Aplicação.
Durante as próximas semanas, atualizaremos o blog com os progressos do projeto.
Concluídas todas as apresentações, fica ao encargo de cada grupo realizar relatórios e avaliações das apresentações e projetos realizados nessa disciplina.
Dessa forma, foram postados no repositório subversion todas as análises, feitas de modo a ressaltar possíveis melhorias.
Assim que todos os grupos terminarem seus relatórios, o grupo Pimp My Pizza utilizará estes relatórios para ponderar quais otimizações podem ser feitas para o quarto bimestre.
Um ponto extremamente importante quando realizamos um pedido por telefone é a forma de pagamento que o cliente deseja. Pensando nisso, implementamos na ação de envio de pedido mais dois dialogboxes que questionam o cliente a respeito da forma de pagamento (Imagem 1) e se há necessidade de troco (caso a opção escolhida seja 'Dinheiro' - Imagem 2), tornando a experiencia de pedido pela aplicação mais completa.
Juntamente das informações do pedido do usuário, o grupo decidiu que a aplicação enviaria o número de telefone do usuário, com a intenção de facilitar a entrega do pedido. Implementamos então uma função que pegava automaticamente o número de telefone do usuário, entretanto em recentes pesquisas, descobrimos que está não funciona para todos os cartões SIM.
Atualizamos então a aplicação com uma caixa de dialogo, onde o usuário pode informar um número de telefone de contato para a Pizzaria. Esta caixa é preenchida automaticamente quando o cartão SIM possibilita que a função pegue o número, porém o usuário é capaz de alterá-lo.
Caros colegas programáticos, a semanas que eu não apareço por aqui, mas havia um motivo... eu estava sendo vencido por um bug.
Tudo começou quando eu implementei a função de retirar ou de adicionar um ingrediente.
Tudo funcionava perfeitamente, exceto pelo fato de que: Se o usuário estivesse mexendo com dois ou mais sabores e estes possuíssem ingredientes em comum, ao fazer uma alteração no ingrediente de um sabor ele alterava o do outro também... O mais esquisito é que quando o usuário finalizava a pizza os ingredientes eram enviados corretamente.
resumo: enviava certo e exibia errado.
foram semanas estudando e revisando o código até que hoje eu percebi que talvez eu estivesse apontando pro "objeto mãe" do ingrediente e não para o ingrediente exclusivo do sabor em questão.
solução: instanciar um novo objeto de ingrediente ao fazer a montagem dos sabores disponíveis no cardápio
for (String ingrediente : ingredientes) {
IngredienteModel aux = PimpController.ingredientes.get(ingrediente);
IngredienteModel aux2 = new IngredienteModel(aux.getNome(), aux.getPreco(), true); iAux.add(aux2);
Foram realizadas algumas alterações na ação de envio de pedido por parte do usuário da aplicação mobile. Após clicar no botão de 'Enviar Pedido', o usuário informa um nome e o endereço para a entrega do pedido. O número de telefone é pego automaticamente pela aplicação.
Botão de 'Enviar Pedido' adicionado a tela de Carrinho
Boa Tarde galera!
Em reta final de projeto venho aqui apresentar a tela de Perfil para vocês. Nela o usuário tem a opção de selecionar um nome e um telefone que estão salvos na aplicação e serão atribuídos ao pedido.
Nela também o usuário tem a opção de desabilitar que a aplicação pegue automaticamente a sua localização e o numero de telefone. Para economizar espaço, implementamos o Switch, que permite a opção de ativar/desativar de forma fácil e intuitiva.
Durante a semana, realizamos algumas alterações na tela de Carrinho do projeto. Adicionamos botões no ListItem (Salvar, Deletar e Configurar): o botão "Salvar" salva a pizza nos Favoritos do usuário, o de "Deletar" remove a pizza do pedido do usuário e o de "Configurar" permite que o usuário edite a pizza adicionada ao carrinho. Antes a configuração podia ser feita ao clicar no Item da Lista, porém com as essas alterações, ela só pode ser feita a partir do botão adicionado.
Boa Noite Pessoal,
Apresento-lhes a nossa tela de Favoritos (Imagem 1), onde ficam salvas algumas informações importantes sobre o usuário de nossa aplicação. Nela temos as opções de Perfil, Endereços e Pizzas. As telas de Perfil e de Pizzas Favoritas estão em construção e, ao clicar na opção de Endereços, você tem um AlertDialog que lhe informa os endereços salvos pelo usuário (Imagem 2), para que um deles possa ser escolhido para a entrega.
Os endereços no momento funcionam com dados testes, posteriormente os dados corretos serão enviados pelo servidor da aplicação.
Imagem 1
Imagem 2
Obs: Vale ressaltar que as imagens da tela favoritos foram retiradas da internet, não foram realizadas por nós.
Finalizado o Manual do Usuário Desktop. Neste manual são
descritos e explanados como o usuário da pizzaria, ou seja, o atendente deve
proceder para catalogar novos ingredientes, pizzas, bebidas, publica-los ao
usuário mobile e administrar os pedidos recém-recebidos e em processamento.
Durante a semana realizamos algumas alterações na ActionBar. Retiramos o nome das activities da ActionBar e trocamos pelo preço total do pedido, que aparecem em todas as telas da aplicação. Inserimos também um botão para acessar a tela de favoritos (que ainda não foi criada), onde estarão localizadas algumas informações do usuário (endereços, pizzas favoritas, etc.)
Essa semana durante a aula ocorre uma mudança importante em todos os grupos, um dos membros saiu e entrou outro aluno da sala para substitui-lo, no caso do nosso grupo o Rafael saiu e eu (Anne) entrei.
Por enquanto é só.
Se por acaso, um usuário não consiga se conectar com o servidor de dados, uma tela de "Conexao Ruim" é exibida (ver posts anteriores do Victor Toth). Agora, mesmo coma falha de conexão o usuário tem a opção de ver um cardápio, gravado localmente (em um SharedPreferences). Toda vez que o usuário consegue conexão, uma nova versão do cardápio é gravada localmente, para que ele tenha sempre a versão mais atualizada, mesmo sem conexão.
Como dito antes, agora carregamos as informações a serem exibidas pelo aplicativo de um "servidor", que nos retorna um JSON. A aplicação trata o JSON recebido, populando uma serie de listas e maps. Todo esse processo requer um tempo para ser realizado, e uma medida tomada pelo grupo foi a implementação de uma splash screen, que fica um determinado tempo na tela, enquanto esse processo acontece por trás.
O certo seria que a slash screen sumisse logo que todo esse processo acabasse, porém, por enquanto ela funciona com um Handler de tempo (correção será feia no futuro, eu juro haha).
Boa noite pessoal, trago algumas novidades do PimpMyPizza.
Primeiramente substituímos o adapter da lista de pizzas, na activity principal do projeto. Antes utilizávamos um ArrayAdapter, agora um BaseAdapter, que permite que passamos um ArrayList de objetos e, assim, podemos mostrar na tela do usuário, os ingredientes de cada pizza.
As tabs estão divididas em apenas salgadas e doces por enquanto, uma vez que agora pegamos tais informações do servidor, nao de listas testes da propria aplicação, como antes.
Em outros posts teremos mais novidades do Pimp, até mais.