79
domingo, 29 de abril de 12

Apresentação

Embed Size (px)

DESCRIPTION

Slide da apresentação "Iniciando no mundo Android" no Flisol Natal 2012.

Citation preview

Page 1: Apresentação

domingo, 29 de abril de 12

Page 2: Apresentação

Carlos Cavalcanti

@CarlosCaval [email protected]

Desenvolvedor

CarlosCavalcanti.com

domingo, 29 de abril de 12

Page 3: Apresentação

Carlos Cavalcanti Desenvolvedor

Graduando em Sistemas da Informação

Formação

Web

Mobile

Conhecimento

domingo, 29 de abril de 12

Page 4: Apresentação

Projetos

domingo, 29 de abril de 12

Page 5: Apresentação

Afinal, o

que um

celular deve

fazer?domingo, 29 de abril de 12

Page 6: Apresentação

Fazer ligação?

domingo, 29 de abril de 12

Page 7: Apresentação

Mandar mensagem!domingo, 29 de abril de 12

Page 8: Apresentação

Muitas outras funcionalidades...domingo, 29 de abril de 12

Page 9: Apresentação

=domingo, 29 de abril de 12

Page 10: Apresentação

domingo, 29 de abril de 12

Page 11: Apresentação

PODER

domingo, 29 de abril de 12

Page 12: Apresentação

Poderemos ver...

domingo, 29 de abril de 12

Page 13: Apresentação

domingo, 29 de abril de 12

Page 14: Apresentação

Passaremos o dia inteiro...

domingo, 29 de abril de 12

Page 15: Apresentação

domingo, 29 de abril de 12

Page 17: Apresentação

Um pouco de númerosdomingo, 29 de abril de 12

Page 18: Apresentação

Crescimento

domingo, 29 de abril de 12

Page 19: Apresentação

2008 - 1 modelo

domingo, 29 de abril de 12

Page 20: Apresentação

2009 - 15 modelos

domingo, 29 de abril de 12

Page 21: Apresentação

2010 - 44 modelos

domingo, 29 de abril de 12

Page 22: Apresentação

2011 - +300 modelos

domingo, 29 de abril de 12

Page 23: Apresentação

Você escolhe!

domingo, 29 de abril de 12

Page 24: Apresentação

U.S. smartphone market share by operating system, Feb.-Apr. 2011Source: The Nielsen Company

domingo, 29 de abril de 12

Page 25: Apresentação

Millennial Media. Julho, 2011

domingo, 29 de abril de 12

Page 26: Apresentação

http://developer.android.com/resources/dashboard/platform-versions.html

domingo, 29 de abril de 12

Page 27: Apresentação

http://developer.android.com/resources/dashboard/platform-versions.html

domingo, 29 de abril de 12

Page 28: Apresentação

Possibilidades...

domingo, 29 de abril de 12

Page 29: Apresentação

$25.00

domingo, 29 de abril de 12

Page 30: Apresentação

• Cobrar para que os usuários façam o download de sua aplicação;

• Colocar publ ic idade na sua aplicação, e receber por isso.

domingo, 29 de abril de 12

Page 31: Apresentação

domingo, 29 de abril de 12

Page 32: Apresentação

Ganhando dinheiro sem cobrar!

US$1.000.000,00/mês

domingo, 29 de abril de 12

Page 33: Apresentação

VáriosTipos

domingo, 29 de abril de 12

Page 34: Apresentação

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

Andy Rubinvice-presidente sênior do Google Mobile

domingo, 29 de abril de 12

Page 35: Apresentação

Ambiente

• Linux• Mac OS• Windows XP ou superior

domingo, 29 de abril de 12

Page 36: Apresentação

Ferramenta

Text

domingo, 29 de abril de 12

Page 37: Apresentação

domingo, 29 de abril de 12

Page 38: Apresentação

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

Download the Android SDK

domingo, 29 de abril de 12

Page 39: Apresentação

domingo, 29 de abril de 12

Page 40: Apresentação

domingo, 29 de abril de 12

Page 41: Apresentação

domingo, 29 de abril de 12

Page 42: Apresentação

domingo, 29 de abril de 12

Page 43: Apresentação

domingo, 29 de abril de 12

Page 44: Apresentação

domingo, 29 de abril de 12

Page 45: Apresentação

domingo, 29 de abril de 12

Page 46: Apresentação

domingo, 29 de abril de 12

Page 47: Apresentação

domingo, 29 de abril de 12

Page 48: Apresentação

domingo, 29 de abril de 12

Page 49: Apresentação

domingo, 29 de abril de 12

Page 50: Apresentação

domingo, 29 de abril de 12

Page 51: Apresentação

Banco de dados

Nativo!

domingo, 29 de abril de 12

Page 52: Apresentação

Activity

domingo, 29 de abril de 12

Page 53: Apresentação

domingo, 29 de abril de 12

Page 54: Apresentação

Pilha

Conceito

de

domingo, 29 de abril de 12

Page 55: Apresentação

Intent

domingo, 29 de abril de 12

Page 56: Apresentação

Intenções

domingo, 29 de abril de 12

Page 57: Apresentação

domingo, 29 de abril de 12

Page 58: Apresentação

Code START!domingo, 29 de abril de 12

Page 59: Apresentação

domingo, 29 de abril de 12

Page 60: Apresentação

domingo, 29 de abril de 12

Page 61: Apresentação

domingo, 29 de abril de 12

Page 62: Apresentação

Activity

domingo, 29 de abril de 12

Page 63: Apresentação

layout/main.xmldomingo, 29 de abril de 12

Page 64: Apresentação

domingo, 29 de abril de 12

Page 65: Apresentação

Classe Rdomingo, 29 de abril de 12

Page 66: Apresentação

AndroidManifest.xml

domingo, 29 de abril de 12

Page 67: Apresentação

domingo, 29 de abril de 12

Page 68: Apresentação

domingo, 29 de abril de 12

Page 69: Apresentação

domingo, 29 de abril de 12

Page 70: Apresentação

domingo, 29 de abril de 12

Page 71: Apresentação

domingo, 29 de abril de 12

Page 72: Apresentação

domingo, 29 de abril de 12

Page 73: Apresentação

Bibliotecas

- Ormlite- Robotium

domingo, 29 de abril de 12

Page 74: Apresentação

Ormlite http://ormlite.com/

MySQLPostgresH2SQLiteAndroid SQLiteDerby

Microsoft SQL ServerNetezzaODBCDB2OracleHSQLDB

domingo, 29 de abril de 12

Page 75: Apresentação

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

Page 76: Apresentação

Classe DBpublic class Db extends OrmLiteSqliteOpenHelper { protected List<BaseDao<?, ?>> daoInstances = new ArrayList<BaseDao<?, ?>>(5); public static String DATABASE_NAME = "main.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 newVersion) { 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

Page 77: Apresentação

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

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

BaseDao

domingo, 29 de abril de 12

Page 78: Apresentação

Log

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

domingo, 29 de abril de 12

Page 79: Apresentação

@CarlosCaval

[email protected]

Obrigado!

CarlosCavalcanti.com

domingo, 29 de abril de 12