Arquivo

Arquivo do Autor

Quem nunca recebeu um NullPointException que atire a primeira pedra !

outubro 7, 2011 1 comentário

O desenvolvedor nunca recebeu um NullPointerException que atire a primeira pedra. Há diversas formas de se receber esse tipo de exceção não tratável. Há uns meses, quando comecei a desenvolver um projeto de médio porte, tive a necessidade de criar várias telas (no meu caso criei as telas com XML) com componentes dentro dela. Cada componente da sua tela tem um Id que serve para identifica-lo. Foi nesse momento que começou a dor de cabeça o NullPointerException que começaram a aparecer devido às referências dos componentes. No decorrer deste artigo, será exemplificado (via código) o problema e a solução para identificar um NullPointerException provocado por referências de componentes com o mesmo nome.

 

Leia mais…

APLICANDO MVC/CAMADAS EM UM PROJETO ANDROID – PARTE FINAL 2

setembro 5, 2011 9 comentários

         Olá pessoal, desculpa pela demora da segunda parte do tutorial Aplicando MVC/Camadas em um projeto Android. Tive diversos problemas pessoais e agora já estou bem melhor obrigado :D. Chega de conversa e vamos ao que interessa. Nesta segunda parte criei um projeto onde o intuito é demonstrar a implementação do MVC/Camadas em um projeto Android. Não irei explicar todo o funcionamento da aplicação, pois o intuito é apenas de demonstrar o fluxo da interação entre as camadas.Vale lembrar que existem diversas maneiras de se implementar o padrão MVC em um projeto.

Falando do projeto

         O aplicativo criado para demonstrar a implementação do padrão MVC é um CRUD (Create, Read, Update e Delete) básico para cadastrar um Carro em uma base de dados utilizando a api do Android SQLiteDataBase como ORM (object –relational  mapping). Como o intuito nesse post é de demonstrar uma estrutura MVC/Camada no projeto.

Basicamente a estrutura de pacote foi definida em camdas entre View, Negócio e Persistência. Onde, dentro do pacote de View ficam as Telas e Activitys, dentro do pacote de Negócio ficam as classes Model e suas Entidades e dentro de Persistência ficam as classes responsáveis por persistir dados e classes responsáveis por criar a estrutura da base de dados.

Leia mais…

Categorias:Padrão de Projeto

Aplicando MVC/Camadas em um projeto Android – PARTE 1

junho 29, 2011 4 comentários


Diariamente nas comunidades Android-DevABP surgem dúvidas sobre qual o melhor padrão de projeto a ser aplicado em um projeto Android. Bom, particularmente para projetos de pequeno a médio porte prefiro aplicar o modelo de Camadas e o modelo de interação entre componentes (o contexto de componente neste artigo aplica-se a tudo que for objeto, camada, classes e etc) que o MVC implica, pois consigo separar minhas responsabilidades entre camadas e interagir com elas utilizando o MVC. Neste primeiro tutorial darei uma breve explicação sobre MVC, divisão por Camadas e a integração entre os dois.

No próximo post o “Aplicando em um projeto Android MVC/Camada – parte 2”  mostrarei na prática o uso do MVC/Camada com um exemplo simples de um CRUD (Create, Read, Update, Delete) persistindo suas informações em um banco de dados Sqlite.

Leia mais…

Criando uma notificação com Android

Quando se trabalha com Android é primordial a notificação ao usuário caso aconteça algo inesperado em sua aplicação ou até esperado. Por padrão, o Android tem uma barra de notificação “toolbar” onde todas as notificações de sua aplicação devem ser mostradas nela para não interromper a tela do usuário caso a notificação seja mostrada quando o usuário estiver navegando em alguma tela da aplicação. Esse aplicativo que será mostrado agora ensina como criar uma notificação e removê-la ao clicar na notificação que foi criada na barrada de notificação, além de poder emitir som e vibração.

Leia mais…

Android e sua máquina virtual Dalvik

Dalvik é um processo da máquina virtual (VM) desenvolvida pela Google onde foi escrita por Dan Bornstein e outros engenheiros da Google e fez uma homenagem a uma vila de pescador situada em Eyafjörõur (Islândia) chamada de Dalvík, na qual moravam alguns antepassados de Bornstein.  A Dalvik veio junto com o lançamento da SDK do Android no final de 2007. Criada com base na especificação POSIX para sistema operacional UNIX onde o intuito de “Reinventar a roda” era de melhorar no gerenciamento de processo e isolamento de thread.

Por que “reinventar a roda” Google?

Infelizmente J2ME é bastante limitada pelo motivo de alguns aparelhos não suportarem tecnologias como: gráfico 3D, SIP e Bluetooth. Isso torna um incomodo para desenvolvedores da plataforma, visto que dependendo do aplicativo o mesmo não será compatível com alguns aparelhos.  Então, a frase “write once, run anywhere” não se encaixa perfeitamente no J2ME. Outro item importante que a Google destacou sobre não ter adotado o J2ME foi a especificação JSR (Java Specification Request) que é um processo bastante burocrático e necessário para que sejam inseridos novos recursos na plataforma. Em contra partida, a Google tem o controle completo e pode impulsionar a adoção de novas funcionalidades em uma forma mais rápida e simples.

Leia mais…

Lifecycle of Activity

fevereiro 2, 2011 3 comentários

Uma Activity é uma classe que herda de android.app.Activity ou suas subclasses. Activity é responsável por tratar os eventos da tela como, por exemplo, tratar o clique do botão na tela, escrever um texto dinamicamente na tela etc. As activities sobrescrevem o método onCreate(Bundle) que é responsável por realizar a inicialização da tela através do método setContentView(view), essa view passada como parâmetro é a tela que será inicializada. Podemos interpretar activity como tela. Quando você está jogando, a activity que esta no topo da pilha da “activity stack” é a activity do jogo, as demais activities que estão abaixo da pilha, podem estar em modo de pausa, totalmente parado ou executando em segundo plano. Mas se você está jogando e recebe uma ligação na hora do penalty. O que acontecerá?

Leia mais…

Criando widget Spinner

Esse exemplo, mostra como criar um simples widget spinner.Crie um projeto Android(caso não saiba como criar um projeto clique aqui) onde nele, terá um widget spinner com uma lista de planetas onde é possível escolher uma única opção entre eles.

Dentro de uma activity crie um objeto do tipo spinner referenciando o spinner que foi criado no xml. Crie uma ArrayAdapter passando como parâmetro um contexto (pode ser o contexto da activity que estar criando o objeto) e o array criado no xml strings.xml e o tipo do layout, que neste exemplo foi escolhido o android.R.layout.simple_spinner_item. Existe outros tipo de layout padrão para widget spinner que pode ser conferido na documentação do Android

Leia mais…

Categorias:Android Tags:, ,