Best Android App Designs

Olá Pessoal,

  Nessa época em que desenvolver aplicativos para dispositivos moveis é uma grande pedida, que tal então dar uma olhada em alguns exemplos de sucesso.
  Theresa Neil, autora do livro “Mobile Design Pattern Gallery”, mostra alguns cases de sucesso na plataforma android. O uso correto de gerenciadores de layuout, distribuição da semantica da tela e ainda o  alto o nível de usabilidade empregado são alguns dos temas abordados.

Abrcs.
Natanael Fonseca

A Faster Emulator with Better Hardware Support

Olá pessoal,

   Para quem curte a plataforma Android, uma excelente notícia foi publicada no AndroidBlog.
Foi á adição de melhorias no emulador desta plataforma, ou seja, para quem já experimentou testar uma app no emulador anterior ( Carroça ) com certeza vai sentir uma grande diferença para este.
   Dentre essas modificações, uma que chamou á atenção foram as otimizações no uso da GPU do próprio computador para processar determinadas instruções gráficas. 
   Assistam os dois videos abaixo, que vocês vão saber do que eu estou falando:

 

Abrcs
Natanael Fonseca

HoneyComb e Android Market

Olá pessoal,


      Recentemente tive a oportunidade de ter em minhas mãos um Samsung Galaxy Tab 10.1, foi através deste dispositivo que andei dando uma “fuçada” no Android Market e na plataforma Android “HoneyComb”,  pois bem,  neste post pretendo comentar um pouco sobre a minha experiência com este tabblet e como foi esse pequeno encontro de 30 dias ;).
      Pra começar, me decepcionei um pouco com a tela,  acho que pra quem está acostumado com o Ipad, sente-se de forma brutal esta diferença, fica a dica para os fanátivos em tecnologia, se for comprar “Cuidado com  a tela”.
     O processador dual core me deixou impressionado, fiz alguns programinhas em android e pude perceber que ele realmente da conta do recado em varios aspectos, outra coisa que me chamou a atenção foi  quantidade de programas(widgets) que vem predefinidos neste dispositivo, chega a ser um transtorno arrastar e retirar aquele monte de ícone que fica espalhado nas diversas áreas de trabalho.
      Mas estava tudo indo muito bem, muito bem, quando pensei, que tal entrar na AndroidMarket e baixar alguns programinhas para tabblet ? Ai que morou o grande problema, praticamente é irrisório a quantidade de apps para o HoneyComb, o mais triste foi verificar que até as aplicações mais baixadas, tais como: Facebook, Google Plus possuem uma interface pobre e pouco adaptada, chega a ser como colocar a roda de um fusca em um caminhão da volks……. Fica Sobrando Espaço demaisss !
      Senão bastasse isso, outra coisa que me preocupou foi perceber que existem muitos anti-vírus pra baixar na Android Market, seria algum sinal negativo ?  Suspeita confirmada, quando resolvi procurar pelas falhas de segurança no Android……….. nuoooooooossssaaaaa !  Tem demaisss heinnnn…
      Ao meu ver, a grande questão é a quantidade e liberdade dadas aos desenvolvedores para esta plataforma, qualquer um que conheça Java e tenha um dispositivo, consegue rapidamente fazer um programinha e rodar “de boa”. Fato que não acontece na “maçã”, afinal, você precisa pagar por uma assinatura de desenvolvedor para poder realizar o teste no seu iphone/ipad ;(.
      Mas parece que a coisa está mudando, a gigante google resolveu criar um serviço chamado “Bouncer” que parece ser uma arma para esse monte de falha de segurança.
         Este serviço parece ser realmente fantástico, logo abaixo, transcrevo alguns trechos do texto escrito pelo Hiroshi Lockheimer, VP of Engineering, Android.
“O ano passado foi fenomenal para o ecossistema Android. O número de dispositivos cresceu 250% ano-a-ano, e o número total de downloads de aplicativos do Android Market superou 11 bilhões. Como a plataforma continua a crescer, estamos focados em trazer-lhe os melhores novos recursos e inovações, incluindo em matéria de segurança.

Adicionando uma nova camada ao Android segurança
Hoje estamos revelando um serviço que nós desenvolvemos, codinome Bouncer, que prevê a digitalização automatizada do Android Market para software potencialmente malicioso sem interromper a experiência do usuário do Android Market ou exigindo que os desenvolvedores de passar por um processo de aprovação de aplicativos.
O serviço realiza um conjunto de análises sobre novas aplicações, aplicações já no Android Market, e as contas do desenvolvedor. Eis como funciona: quando um aplicativo é carregado, o serviço começa imediatamente a analisá-lo  a procura de algum malware, spyware e ou trojans. Ele também procura por comportamentos que indicam um aplicativo pode ser mal-intencionado, e o compara com aplicativos previamente analisados ​​para detectar possíveis bandeiras vermelhas. Nós realmente executamos todas as aplicações em infra-estrutura de nuvem do Google e simular como ele será executado em um dispositivo Android a olhar para o comportamento oculto, malicioso. Analisamos também as contas de desenvolvedores para ajudar a prevenir novos desenvolvedores mal-intencionados.


Android faz com que o malware se torne menos potente 
   Algumas das características de segurança do Android são:

    Sandboxing: A plataforma Android usa uma técnica chamada “área de segurança” para pôr paredes virtuais entre aplicações e outro software no dispositivo. Então, se você baixar um aplicativo malicioso, ele não pode acessar dados sobre outras partes do seu telefone e seu dano potencial é drasticamente limitado.
    
Permissões: Android fornece um sistema de permissão para ajudar você a entender as capacidades dos aplicativos que você instala e gerencia suas próprias preferências. Dessa forma, se você ver um jogo desnecessariamente pede permissão para enviar SMS, por exemplo, você não precisa instalá-lo.
    
Remoção de malware: Android foi concebido para prevenir que malwares modifiquem a plataforma ou se escondendo de você, por isso, pode ser facilmente removido se o seu aparelho é afetado. Android Market também tem a capacidade de remoção de malware remotamente a partir do seu telefone ou tablet, se necessário.Nenhuma abordagem de segurança é infalível, e escrutínio adicional muitas vezes pode levar a melhorias importantes. Nossos sistemas estão ficando cada vez melhor na detecção e eliminação de malwares a cada dia, e continuamos a convidar a comunidade para trabalhar conosco para manter a segurança Android.”

     Então é isso,  para quem quiser ver o post na integra, basta clicar aqui
     
     Volto por aqui quando tiver mais novidades…


Abrcs
Natanael Fonseca

Calculando fatorial em Android ( Hello World )

Olá pessoal,

   Acho que alguns alunos e amigos mais próximos tinham ouvido e com certeza percebido a minha empolgação com desenvolvimento mobile e, principalmente a plataforma Android, pois bem, diante de tamanha onda de Tablets e SmartPhones que o mercado tem nos proporcionado, bem que tava na hora de mostrar algo mais divertido aqui no blog ;-).
    Aproveitei o tempinho livre e resolvi fazer um “Hello World” em Android, na verdade não é bemmmmm um Hello World clássico, é uma aplicação que calcula o fatorial de um numero inteiro positivo usando recursividade e o exibe em um toast.
     Essa aplicação foi construída usando a plataforma 3.1, conhecida como HoneyComb. Primeiramente usei um LinearLayout para dispor os diversos componentes(ImageView, TextView, EditText e etc.) de forma vertifcal, depois adicionei um evento do tipo “OnClick” que aciona automaticamente o método calcularFatorial dentro da Activity e por ultimo chamo o método showToastMessage que cria um objeto Toast e o exibe por alguns instantes na tela, criando um efeito bem interessante.
Código do Layout


<linearlayout
    android:layout_width=”fill_parent”
    android:layout_height=”fill_parent”
    android:gravity=”center_horizontal”
    android:orientation=”vertical” android:background=”#FFFFFF” >


    <imageview</imageview
        android:id=”@+id/imageView2″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:layout_gravity=”left”
        android:src=”@drawable/androidleaning” />


    <textview</textview
        android:id=”@+id/textView1″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”Fatorial”
        android:textSize=”15pt”
        android:textAppearance=”?android:attr/textAppearanceLarge” />


    <textview</textview
        android:id=”@+id/textView2″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/app.introduction” />


    <textview</textview
        android:id=”@+id/textView3″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/app.definicao” />


    <imageview</imageview
        android:id=”@+id/imageView1″
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:src=”@drawable/fatorial” />


    <textview</textview
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:layout_gravity=”left”
        android:text=”@string/form.titulo”
        android:textSize=”8pt” />


    <edittext</edittext
        android:id=”@+id/etValor”
        android:layout_width=”match_parent”
        android:layout_height=”wrap_content”
        android:inputType=”number” >


       
   


    <button</button
        android:id=”@+id/btCalcular”
        android:layout_width=”wrap_content”
        android:layout_height=”wrap_content”
        android:text=”@string/button.label” android:onClick=”calcularFatorial” />


Código da Activity


package com.blogspot.thecodingoflife.android;


import java.math.BigInteger;


import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;


/**
 * 
 * Activity que calcula um determinado fatorial…
 * 
 * @author Natanael Fonseca
 *
 */
public class FirstAppActivity extends Activity {

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
   
        super.onCreate(savedInstanceState);
        
        setContentView(R.layout.main);
        
    }
    


    public void calcularFatorial(View view){
   
    EditText edText = (EditText) this.findViewById( R.id.etValor );
   
    long n = Integer.parseInt( edText.getText().toString() );
   
    showToastMessage(“O Fatorial deste número é : ” + fatorial( BigInteger.valueOf(  n  ) )  );
   
    }
    
    private BigInteger fatorial(BigInteger n ){
   
    if( n.compareTo( BigInteger.ONE ) <= 0 ){
    return BigInteger.ONE;
    }else{
    return n.multiply( fatorial( n.subtract( BigInteger.ONE )  ));
    }
   
    }
    
    
    //Exibe um ToastMessage por um curto periodo de tempo
    private void showToastMessage(String msg){


        Toast toast = Toast.makeText(this, msg, Toast.LENGTH_LONG );
        toast.show();


    }
    
}

Resultado Final

App Roando no Galaxy Tab 10.1


Download do Projeto

Baixe aqui o projeto ! Para rodar, basta importar no eclipse e, lembrando é claro que você precisará ter o ADT como plugin.

Abrcs.
Natanael Fonseca