terça-feira, 7 de agosto de 2012

Como criar Interfaces para o Android - Parte 1



Olá! =D
Meu nome é Victor (Getexis), sou o parceiro de Gustavo na produção de aplicativos para android, sou o responsável pela construção do design e toda a conceitualização por traz do aplicativo.
Fui convidado postar artigos mais aprofundados sobre o assunto, espero que todos gostem.
Então vamos que vamos!

No ultimo post, mostramos os padrões de design, o que abordou o tema "Por que se deve usar padrões?" onde foi explicado os benefícios do uso, o aumento da usabilidade e o quanto equivale para a experiência do usuário.
Se caso não viu, veja : Padrões de design no Android

Seguindo o tema do post passado, hoje vamos falar sobre UX Design, a importância de escrever o projeto (mapa mental ao menos) e rascunhar, antes de levar o projeto para uma prototipagem final e consequentemente Photoshop/ Programação.

terça-feira, 31 de julho de 2012

Padrões de Design no Android

Olá! Aqui no blog, até agora, só fizemos posts e tutoriais sobre desenvolvimento, códigos, APIs, mas não só disso são feitos os aplicativos. Já comentei sobre a importância de um bom design na produção de um bom aplicativo, mas esse será o primeiro post dedicado exclusivamente a isso.

Por que se deve usar padrões? Se seu aplicativo utilizar padrões que o usuário já conhece, então ele também já sabe como usar seu aplicativo. Ou seja, deixa o aplicativo mais fácil de se utilizar, usuários terão uma melhor experiência, mais pessoas utilizarão e mais "vendas" você terá.

terça-feira, 24 de julho de 2012

Animando aplicativos com Animation - Parte 2

Olá. Na Parte 1 deste tutorial foi mostrado como Animation é importante para um aplicativo profissional e como é possível criar animações pelo xml ou pelo código java e mandar executa-las. Com isso é possível fazer todo tipo de animação, mais ainda não é possível, pelo menos não é fácil, integrar varias animações, mudanças de layout, reposicionamento de views, etc.

O que veremos agora é: primeiramente um defeito desse tipo de animação, a seguir veremos sua solução e algumas dicas.

terça-feira, 17 de julho de 2012

Animando aplicativos com Animation - Parte 1

Facebook, Google+, Twitter, Evernote, e muitos outros aplicativos profissionais possuem isso em comum: utilizam animações para deixar o aplicativo mais agradável de se visualizar e navegar. Ao contrário do que pode parecer, utilizar animações não é apenas uma questão de estética - apesar de que estética no mundo concorrido dos aplicativos ser muito importante - é uma questão de navegabilidade, user experience.

Animações dão indicações visuais do que está acontecendo. Ao invés de uma view simplesmente desaparecer e o usuário ficar sem saber o que aconteceu com ela, ela pode ser deslizada pro lado, ou desaparecer suavemente em direção a algum botão. Dessa forma o usuário sabe o que aconteceu com a view e, se for bem usado, saberá o que fazer para tê-la de volta.

quinta-feira, 12 de julho de 2012

Entrevista pro Bahia Notícias

É com muito orgulho que apresento a entrevista que realizamos para o Bahia Notícias. É ótimo ver nosso trabalho sendo reconhecido.

Dois jovens que se conheceram com a prática de Parkour se tornaram grandes amigos e parceiros de negócios. Gustavo Carvalho, 22 anos (do lado esquerdo da imagem) e Victor Cardozo, 23 anos, são, respectivamente, programador e designer e, juntos, fazem aplicativos para celulares da plataforma Android. "Quanto mais aplicativos a gente faz, mais o portfólio aumenta e mais a gente ganha com isso, porque ao fazer o aplicativo não gera tanto, mas com o tempo o número de downloads aumenta e gera uma renda contínua. Coisas que fizemos meses atrás ainda geram renda". A dupla também falou sobre investimentos e deu dicas de como se preparar para o mercado de trabalho. 


Leia mais

terça-feira, 10 de julho de 2012

Trabalhando com Options Menu

Fonte: http://www.androidpatterns.com/uap_pattern/options-menu
Options Menu está presente desde as primeiras versões do Android. É amplamente utilizada e é uma funcionalidade já conhecida pelos usuários. Ela é indicada para oferecer opções não muito usadas, que não devem ficar o tempo todo expostas na tela. Assim o usuário sempre sabe que há algumas funcionalidades que não estão na tela mas que ele sabe como acessa-las.


terça-feira, 12 de junho de 2012

Panorama de mercado, dicas e experiências

Hoje o post será um pouco diferente. Não será um tutorial ensinando a fazer algo, como tem sido em todos os posts. Hoje irei compartilhar um pouco da minha experiência como desenvolvedor independente nesse mundo de aplicativos móveis para Android, além de dar algumas dicas que acho importante para quem quer ou já estar se aventurando nesse meio.


terça-feira, 5 de junho de 2012

Live Wallpaper

Live Wallpaper, ou Papel de Parede Animado conforme a tradução, foram introduzidos na versão 2.1 (API 7) do Android. Como o nome sugere, ele nada mais é do que um fundo que se mexe. Mas ao contrário do que se imagina ele pode ser muito mais poderoso do que se imagina. É possível fazer praticamente qualquer coisa que um aplicativo comum faz, inclusive interagir com toques do usuário.

Mas, como dizia Tio Ben, com grandes poderes vêm grandes responsabilidades. Lembre-se que o Live Wallpaper irá rodar boa parte do tempo, então este não deve fazer muitas operações pesadas para não consumir muitos dados ou energia do aparelho.

terça-feira, 29 de maio de 2012

Como criar um jogo estilo plataforma

Atendendo a pedidos irei explicar aqui a base de como fazer um jogo estilo plataforma. Apesar de parecerem simples são um pouco mais complexo do que se pensa. Neste tutorial irei explicar os conceitos mais básicos, que são a gravidade, o pulo e a movimentação sobre as plataformas.

Claro ainda há muitas outras coisas que compõe esse tipo de jogo, como inimigos, itens, movimentações realistas, colisões com paredes e outros objetos, movimentação da câmera pelo cenário, animação dos personagens, ações, entre muitos outros.


terça-feira, 22 de maio de 2012

Lidando com tarefas pesadas com AsyncTask

É comum, em aplicativos um pouco mais complexo, que seja necessário realizar alguma tarefa "pesada", ou seja, que demore um tempo considerável até terminar a execução. Pode ser uma requisição web, um calculo demorado ou configuração pesada no banco de dados.

Elas requerem uma atenção especial pois não é nada recomendável que as executem como parte do processo principal pois isso impede que o estado da aplicação mude, ou seja, não será possível atualizar a tela ou receber nenhum comando de entrada, a aplicação estará travada durante o processo, e no caso do Android, se isso demorar muito (mais que 5 segundos), será exibido um aviso dizendo que o aplicativo travou e o usuário poderá mata-lo.

Fora que isso oferece uma péssima experiencia pro usuário. O que se deve fazer é utilizar uma outra thread para o processamento pesado, deixando assim a thread principal responsável apenas pela operações básica e E/S.


terça-feira, 15 de maio de 2012

Como fazer uma Splash Screen

Splash Screen é um padrão de design onde é exibido uma tela com uma imagem ou animação durante a abertura do aplicativo. Esse padrão existe desde antes dos smartphones, nos softwares para desktop (offices, photoshop, etc...). 

A princípio essa tela é exibida para o usuário enquanto carregamentos pesados de inicialização são feitos, entretanto, pela popularização do padrão, alguns aplicativos o utilizam apenas para elucidar e apresentar de forma bonita o aplicativo. Hoje aprenderemos dos dois modos.

terça-feira, 8 de maio de 2012

Como enviar e receber SMS em um Aplicativo Android

SMS, que significa Short Message Service (Serviço de Mensagens Curtas), se popularizou nos dispositivos móveis há bastante tempo e no Brasil ficou popularmente conhecido como Torpedo. Consiste no envio de mensagens com até 160 caracteres para um celular.

Em suas aplicações para Android você pode querer ou precisar fazer uso deste recurso. A plataforma Android fornece bons métodos de envio e recebimento de SMS pela aplicação e isso é importante pois além de poder enviar um SMS sua aplicação pode ler um SMS e executar alguma ação a partir dele, ou seja, você pode usar SMS para que aplicativos em dispositivos distintos troquem informações e executem ações remotamente.

terça-feira, 1 de maio de 2012

Como publicar no Google Play

Hoje nosso tutorial será explicando passo a passo como publicar um aplicativo no Google Play. Para quem ainda esta muito desatualizado, o Google Play é o antigo Android Market estendido, isso quer dizer que além de aplicativos nele você poderá encontrar vídeos, musicas e livros.


terça-feira, 24 de abril de 2012

Adicionando propagandas com AdMob

Hoje iremos aprender passo a passo como colocar propagandas através do AdMob para monetizar nossos aplicativos. Visto que (principalmente no Brasil) tem bastante gente que não adquire aplicativos pagos, a solução é oferecer aplicativos de forma gratuita e inserir propagandas que ao serem clicadas geram retorno ao desenvolvedor.

Irei utilizar o game que estávamos produzindo para demonstração, mas o mesmo método pode ser utilizado para outros aplicativos. Há diferentes formas de utilizar o AdMob, mas a que irei mostrar aqui é a que considero mais simples e fácil de usar.


terça-feira, 17 de abril de 2012

Desenvolvendo jogos para Android - Parte 3 - Sons e High Score

Neste tutorial faremos os últimos ajustes no nosso jogo antes de publica-lo no Google Play (irei mostrar como em outro tutorial). Iremos adicionar uma música ambiente, sons de interação com os Pinks e Golds, sons de vitória ao passar de nível e som de derrota ao dar Game Over. Também iremos salvar o High Score, ou seja, a maior pontuação em todo o jogo, assim se cria um desafio a ser passado toda vez que o jogador jogar o jogo.



terça-feira, 10 de abril de 2012

Desenvolvendo jogos para Android - Parte 2 - Interação

Continuando a série de desenvolvimento de jogos para Android, vamos completar nosso jogo e deixa-lo jogável. Vamos criar as telas iniciais e de game over, criar a interação e computar scores e levels.

Veja a primeira parte aqui.


terça-feira, 27 de março de 2012

Desenvolvendo jogos para Android - Parte 1 - Criando elementos gráficos

Jogo que iremos desenvolver: Smash!
Hoje começaremos com uma série de tutoriais sobre desenvolvimento de jogos/games para Android. Para isso iremos construir juntos, passo a passo, o jogo que estou chamando de Smash! Nessa primeira parte aprenderemos como fazer os personagens, e o background utilizando a classe Sprite.

O jogo é bastante simples: há os personagens rosas e os dourados. O objetivo do jogador é derrotar todos os rosas (clicando neles) sem clicar nos dourados, no mínimo de tempo possível. A medida que se avança nas fases os personagens ficam mais rápidos.


terça-feira, 20 de março de 2012

Game Engine - Parte 3 - Sprites

Seguindo a sequencia dos tutoriais sobre a Game Engine (ultima parte aqui), hoje vamos introduzir a classe Sprite. Acho que já deu para perceber que não estamos falando do refrigerante de limão e sim a sequencia de imagens 2D que formam a animação de algum elemento no jogo. Ou seja, todo elemento gráfico cuja imagem venha de um arquivo (.PNG, .JPG) será tratado pela classe Sprite (você pode escolher não fazer isso, e tratar a posição, desenho e animação "na mão").

terça-feira, 13 de março de 2012

Manipulando música e sons no Android

Hoje aprenderemos algo muito simples: como fazer um dispositivo Android tocar uma música ou fazer algum som. Iremos utilizar 2 classes nativas do Android: MediaPlayer e SoundPool. Basicamente falando, MediaPlayer é utilizado para tocar músicas (videos também, mas não será tratado aqui), ou seja, arquivos de "grande" duração que não serão manipulados constantemente, enquanto que SoundPool é utilizado para tocar pequenos sons, de maneira mais ativa, como os sons de jogos, por exemplo.


terça-feira, 6 de março de 2012

Hello Android - Parte 2

Olá! Na Parte 1 do tutorial "Hello Android" aprendemos como criar uma Activity (tela), setar seus componentes pelo XML, recuperar e usar esses componentes no código, uma ideia básica de como usar os recursos de string, como setar uma função para um botão e como passar de uma Activity para outra com dados.

Hoje aprenderemos como retornar uma informação de uma Activity chamada para a Activity que a chamou e como usar Toast para exibir  notificações pequenas e não tão importantes.

terça-feira, 28 de fevereiro de 2012

Configurando o ambiente de desenvolvimento


Hoje ensinarei passo a passo como deixar seu pc prontinho para o desenvolvimento de aplicações do Android. Para isso usaremos o JDK (Java Development Kit), Eclipse, Android SDK e o Android Development Tools (ADT) Plugin para Eclipse. Tutorial baseado neste link  (utilize como referência em caso de dúvidas) em conjunto com experiências pessoais.


terça-feira, 14 de fevereiro de 2012

Hello Android - Parte 1

Hoje iremos aprender passo a passo alguns conceitos básicos de como construir um aplicativo pro Android. Este tutorial é indicado para quem deseja se aventurar no mundo do Android, possui alguma experiência com programação (já programou alguma coisa na vida), e deseja aprender como a plataforma do Android funciona. Aqui consideramos que você já possui todo equipamento necessário e configurado para rodar Android, se não for o caso siga este tutorial.

O que iremos fazer hoje é criar uma aplicação que exibe uma imagem, uma caixa de texto e um botão, e quando o botão for clicado a aplicação mostrará em outra tela o nome que foi digitado na tela anterior. Assim poderemos aprender sobre widgets (componentes de interação da tela), como manipula-los pelo código e passagem de uma Activity (tela) com passagem de parâmetros para outra.

terça-feira, 7 de fevereiro de 2012

Criando uma tela de Configurações usando Shared Preferences


Semana passada fiz um tutorial explicando como usar SQLite para persistência de dados. Nele fiz uma introdução sobre a persistência de dados em geral no Android e comentei sobre Shared Preferences e como era possível criar uma tela de configurações/preferencias com isso. Hoje irei a fundo nesse assunto e mostrarei como criar essa tela passo a passo e como usar as informações ali guardada.

Shared Preferences permite a persistência de tipos primitivos de dados na forma de chave-valor, ou seja, para cada tipo primitivo que você for salvar (int, long, string, boolean, float) você precisa associar um identificador chave (string) a ele. Desta forma seu uso é bastante interessante em informações únicas do aplicativo, tais como configurações e preferências, mas não recomendado para guardar grandes informações, geralmente associadas a objetos. Para isso recomenda-se o uso de SQLite.


terça-feira, 31 de janeiro de 2012

Persistência de dados com SQLite

É notável que muitas aplicações precisam de alguma forma de persistência de dados, assim você ainda terá informações quando seu aplicativo for finalizado ou o aparelho for desligado. Isso pode ser feito de diversas maneiras: 

  • Armazenamento interno: armazena arquivos na memória do aparelho. Esse arquivo está disponível apenas para sua aplicação, nem manualmente o usuário consegue acesso a ele. Esses arquivos serão deletados quando o aplicativo for desinstalado;
  • Armazenamento externo: armazena arquivos na memória externa do aparelho, que normalmente é o cartão (micro)SD. Esse arquivo pode ser acessado por qualquer aplicativo e estará acessível para o usuário também;
  • Armazenamento online: utilizar um servidor próprio para armazenar informações. Depende diretamente de uma conexão com internet, mas não depende no dispositivo (pode ser mantida se o dispositivo for inutilizado, ou o aplicativo desinstalado;
  • Shared Preferences: sistema de armazenamento próprio do Android, que permite armazenar dados na forma de HashMap (chave -> valor). Pode ser facilmente vinculada a uma PreferenceActivity para criar uma tela de configurações/preferencias;
  • Banco de dados SQLite: o Android fornce ferramentas para fácil acesso ao SQLite. E é o que iremos tratar aqui.
Mais informações sobre armazenamento de dados aqui.

terça-feira, 24 de janeiro de 2012

Criando um App Widget


Olá. Estou criando um widget para o Amor por SMS, então irei aproveitar e fazer este tutorial.
O que é um app widget? É uma funcionalidade de um aplicativo que pode ser adicionada na tela principal (home) e é atualizada periodicamente, exibindo informação e/ou recebendo interação com o usuário.

domingo, 22 de janeiro de 2012

Game Engine - Parte 2 - Criando o GameView

Olá! Seguido da Parte 1 do tutorial sobre Game Engine, chegou a hora de criar nossa GameView, que será responsável por praticamente tudo dentro do jogo. Ela que irá preparar e desenhar a tela, lidará com o update() geral e com o onDraw().

sexta-feira, 20 de janeiro de 2012

Game Engine - Parte 1 - Criando o loop principal

Olá pessoal! Nessa postagem irei começar a construir uma Game Engine para Android. O que ser isso? Será um pacote base que pode ser utilizado em diversos projetos de games 2D para Android. Assim poderei explicar conceitos básicos da programação de jogos e do Android.

 
© 2011 Tutoriandroid | Recode by Ardhiansyam | Based on Android Developers Blog