Apresentação

Preview:

DESCRIPTION

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

Citation preview

domingo, 29 de abril de 12

Carlos Cavalcanti

@CarlosCaval Carlos.Caval@hotmail.com

Desenvolvedor

CarlosCavalcanti.com

domingo, 29 de abril de 12

Carlos Cavalcanti Desenvolvedor

Graduando em Sistemas da Informação

Formação

Web

Mobile

Conhecimento

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

Mandar mensagem!domingo, 29 de abril de 12

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

Um pouco de númerosdomingo, 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. 2011Source: 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 publ ic idade na sua aplicação, e receber por isso.

domingo, 29 de abril de 12

domingo, 29 de abril de 12

Ganhando dinheiro sem cobrar!

US$1.000.000,00/mês

domingo, 29 de abril de 12

VáriosTipos

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 Rubinvice-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

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

Download the Android SDK

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

Pilha

Conceito

de

domingo, 29 de abril de 12

Intent

domingo, 29 de abril de 12

Intenções

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

domingo, 29 de abril de 12

Activity

domingo, 29 de abril de 12

layout/main.xmldomingo, 29 de abril de 12

domingo, 29 de abril de 12

Classe Rdomingo, 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/

MySQLPostgresH2SQLiteAndroid SQLiteDerby

Microsoft SQL ServerNetezzaODBCDB2OracleHSQLDB

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

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

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

Log

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

domingo, 29 de abril de 12

@CarlosCaval

Carlos.Caval@hotmail.com

Obrigado!

CarlosCavalcanti.com

domingo, 29 de abril de 12

Recommended