SlideShare ist ein Scribd-Unternehmen logo
1 von 79
Downloaden Sie, um offline zu lesen
domingo, 29 de abril de 12
Carlos Cavalcanti
  Desenvolvedor




                   CarlosCavalcanti.com




                   @CarlosCaval           Carlos.Caval@hotmail.com

domingo, 29 de abril de 12
Conhecimento

                                                   Web

                                                   Mobile




                       Formação
             Graduando em Sistemas da Informação




Carlos Cavalcanti                                           Desenvolvedor
domingo, 29 de abril de 12
Projetos




domingo, 29 de abril de 12
Afinal,
                                o
                              que
                               um
                             celular
                              deve
                             fazer?
domingo, 29 de abril de 12
Fazer ligação?




domingo, 29 de abril de 12
domingo, 29 de abril de 12
                             Mandar mensagem!
Muitas outras funcionalidades...
domingo, 29 de abril de 12
=
domingo, 29 de abril de 12
domingo, 29 de abril de 12
PODER




domingo, 29 de abril de 12
Poderemos ver...




domingo, 29 de abril de 12
domingo, 29 de abril de 12
Passaremos o dia inteiro...




domingo, 29 de abril de 12
domingo, 29 de abril de 12
Open Handset Alliance




domingo, 29 de abril de 12
Um pouco de números
domingo, 29 de abril de 12
Crescimento




domingo, 29 de abril de 12
2008 - 1 modelo




domingo, 29 de abril de 12
2009 - 15 modelos




domingo, 29 de abril de 12
2010 - 44 modelos




domingo, 29 de abril de 12
2011 - +300 modelos




domingo, 29 de abril de 12
Você escolhe!




domingo, 29 de abril de 12
U.S. smartphone market share by operating system, Feb.-Apr.
                             2011
                             Source: The Nielsen Company




domingo, 29 de abril de 12
Millennial Media. Julho, 2011




domingo, 29 de abril de 12
http://developer.android.com/resources/dashboard/platform-versions.html




domingo, 29 de abril de 12
http://developer.android.com/resources/dashboard/platform-versions.html




domingo, 29 de abril de 12
Possibilidades...




domingo, 29 de abril de 12
$25.00

domingo, 29 de abril de 12
• Cobrar para que os usuários façam
   o download de sua aplicação;
 • Colocar publicidade na sua
   aplicação, e receber por isso.




domingo, 29 de abril de 12
domingo, 29 de abril de 12
US$1.000.000,00/mês




       Ganhando
       dinheiro sem
       cobrar!
domingo, 29 de abril de 12
Vários
                             Tipos




domingo, 29 de abril de 12
“Há mais de 500,000 aparelhos
     Android sendo ativados todos os dias, e
     está crescendo 4.4% por semana.”




                                        Andy Rubin
                                  vice-presidente sênior do Google Mobile




domingo, 29 de abril de 12
Ambiente
      • Linux
      • Mac OS
      • Windows XP ou superior




domingo, 29 de abril de 12
Ferramenta



                                 Text




domingo, 29 de abril de 12
domingo, 29 de abril de 12
Download the Android SDK


http://developer.android.com/sdk/index.html




domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
Banco de dados


                             Nativo!




domingo, 29 de abril de 12
Activity

domingo, 29 de abril de 12
domingo, 29 de abril de 12
Conceito


     de



domingo, 29 de abril de 12
                             Pilha
Intent

domingo, 29 de abril de 12
Intenções




domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
                             Code START!
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
Activity




domingo, 29 de abril de 12
layout/main.xml
domingo, 29 de abril de 12
domingo, 29 de abril de 12
Classe R
domingo, 29 de abril de 12
AndroidManifest.xml




domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
domingo, 29 de abril de 12
Bibliotecas

    - Ormlite
    - Robotium




domingo, 29 de abril de 12
Ormlite               http://ormlite.com/

 MySQL                       Microsoft SQL Server
 Postgres                    Netezza
 H2                          ODBC
 SQLite                      DB2
 Android SQLite              Oracle
 Derby                       HSQLDB



domingo, 29 de abril de 12
Modelo

  @DatabaseTable(tableName="pessoas")
  public class Pessoa {

  	     @DatabaseField(generatedId = true)
  	     private Integer id;
  	     @DatabaseField(index = true)
  	     private String nome;
  	     @DatabaseField
  	     private String sobreNome;




domingo, 29 de abril de 12
public class Db extends OrmLiteSqliteOpenHelper {
    protected List<BaseDao<?, ?>> daoInstances = new ArrayList<BaseDao<?, ?>>(5);
    public static String DATABASE_NAME = "main.db";


                                                                          Classe DB
    public static int DATABASE_VERSION = 1;
    public static Class<?>[] entities = { Pessoa.class };
    public Db(Context context) {
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }
    public void onCreate(SQLiteDatabase db, ConnectionSource connectionSource) {
        try {
            Log.i(Db.class.getName(), "onCreate");
            createTables(connectionSource);
        } catch (SQLException e) {
            Log.e(Db.class.getName(), "Can't create database", e);
            throw new RuntimeException(e);
        }
    }
    public void createTables(ConnectionSource connectionSource) throws SQLException {
        for (int i = 0; i < entities.length; i++)
            TableUtils.createTable(connectionSource, entities[i]);	    	    	
    }
    public void onUpgrade(SQLiteDatabase db, ConnectionSource connectionSource, int oldVersion, int newVersio
        try {
            dropAllTables(connectionSource);
            onCreate(db, connectionSource);
        } catch (SQLException e) {
            Log.e(Db.class.getName(), "Can't drop databases", e);
            throw new RuntimeException(e);
        }
    }
    public void dropAllTables(ConnectionSource connectionSource) throws SQLException {
        for (int i = 0; i < entities.length; i++) {
            TableUtils.dropTable(connectionSource, entities[i], true);
        }
    }

domingo, 29 de abril de 12
BaseDao


            public class BaseDao<T, ID> extends BaseDaoImpl<T, ID> {

            	     public BaseDao(Class<T> dataClass) throws SQLException {
            	     	   super(Teste01Activity.db.getConnectionSource(), dataClass);
            	     }
            	
            }




domingo, 29 de abril de 12
Log



                   Log.v("Aplicação", "mensagem...");




domingo, 29 de abril de 12
CarlosCavalcanti.com

    @CarlosCaval




  Obrigado!



                  Carlos.Caval@hotmail.com


domingo, 29 de abril de 12

Weitere ähnliche Inhalte

Ähnlich wie Android developer portfolio template

Boas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on RailsBoas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on Railsrinaldifonsecanascimento
 
Boas práticas de Design em Aplicações Rails
Boas práticas de Design em Aplicações RailsBoas práticas de Design em Aplicações Rails
Boas práticas de Design em Aplicações Railsrinaldifonsecanascimento
 
Palestra explorando o views 3
Palestra explorando o views 3Palestra explorando o views 3
Palestra explorando o views 3André Pfeiffer
 
Persistencia de dados em aplicações Android
Persistencia de dados em aplicações AndroidPersistencia de dados em aplicações Android
Persistencia de dados em aplicações AndroidAntonio Marin Neto
 

Ähnlich wie Android developer portfolio template (6)

Flisol 2012
Flisol 2012Flisol 2012
Flisol 2012
 
Boas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on RailsBoas Práticas de Design em Aplicações Ruby on Rails
Boas Práticas de Design em Aplicações Ruby on Rails
 
Boas práticas de Design em Aplicações Rails
Boas práticas de Design em Aplicações RailsBoas práticas de Design em Aplicações Rails
Boas práticas de Design em Aplicações Rails
 
Palestra explorando o views 3
Palestra explorando o views 3Palestra explorando o views 3
Palestra explorando o views 3
 
Persistencia de dados em aplicações Android
Persistencia de dados em aplicações AndroidPersistencia de dados em aplicações Android
Persistencia de dados em aplicações Android
 
O que é DevOps afinal?
O que é DevOps afinal?O que é DevOps afinal?
O que é DevOps afinal?
 

Mehr von Carlos Cavalcanti

Hello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no androidHello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no androidCarlos Cavalcanti
 
Testes automatizados de interface no Android
Testes automatizados de interface no AndroidTestes automatizados de interface no Android
Testes automatizados de interface no AndroidCarlos Cavalcanti
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Carlos Cavalcanti
 
Android: Mercado&Desenvolvimento
Android: Mercado&DesenvolvimentoAndroid: Mercado&Desenvolvimento
Android: Mercado&DesenvolvimentoCarlos Cavalcanti
 

Mehr von Carlos Cavalcanti (8)

Study jam - dia 1
Study jam  - dia 1Study jam  - dia 1
Study jam - dia 1
 
Hello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no androidHello world ao mundo mobile focado no android
Hello world ao mundo mobile focado no android
 
Testes automatizados de interface no Android
Testes automatizados de interface no AndroidTestes automatizados de interface no Android
Testes automatizados de interface no Android
 
Aula android 03
Aula android 03Aula android 03
Aula android 03
 
Aula android 01.pdf
Aula android 01.pdfAula android 01.pdf
Aula android 01.pdf
 
Introdução a java
Introdução a javaIntrodução a java
Introdução a java
 
Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?Como ganhar dinheiro no mundo mobile?
Como ganhar dinheiro no mundo mobile?
 
Android: Mercado&Desenvolvimento
Android: Mercado&DesenvolvimentoAndroid: Mercado&Desenvolvimento
Android: Mercado&Desenvolvimento
 

Android developer portfolio template