SlideShare una empresa de Scribd logo
1 de 79
Descargar para leer sin conexión
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

Más contenido relacionado

Similar a Apresentação

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
 

Similar a Apresentação (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?
 

Más de 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
 

Más de 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
 

Último

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx2m Assessoria
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuisKitota
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx2m Assessoria
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsDanilo Pinotti
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploDanilo Pinotti
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx2m Assessoria
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx2m Assessoria
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx2m Assessoria
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfSamaraLunas
 

Último (9)

ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docxATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
ATIVIDADE 1 - SISTEMAS DISTRIBUÍDOS E REDES - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 

Apresentação