Apresentação
-
Upload
carlos-cavalcanti -
Category
Technology
-
view
1.984 -
download
0
description
Transcript of Apresentação
domingo, 29 de abril de 12
Carlos Cavalcanti
@CarlosCaval [email protected]
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
Open Handset Alliance
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