Desenvolvendo aplicações
   Android na Nuvem

José Papo
AWS Tech Evangelist
@josepapo
5 bilhões de celulares no mundo


Mais de 1 milhão de apps nas App Stores


  32 bilhões de apps serão baixadas em 2012


50 bilhões de dólares em apps e músicas
Suportando as principais aplicações Móveis
Conteúdo Dinâmico da
  Aplicação Móvel
Amazon EC2
Servidores on-demand
Servidores on-demand
Sistemas Operacionais   Linguagens e Bibliotecas   Aplicações Certificadas
Exemplo
         Servidor Micro
On-demand 100% - A partir de 15 dólares
Reservado 100% - A partir de 6,5 dólares
Bancos de Dados
   Relacional e NoSQL
Opções de Bancos de Dados

     Relacional             NoSQL
Conteúdo Estático da
  Aplicação Móvel
Amazon S3
Armazenamento Elástico
Amazon S3
Amazon CloudFront
Rede de Distribuição de Conteúdo Flexível
Locais Edge AWS (CloudFront & Route 53)
Exemplos e cases de
aplicações Android na
       Nuvem
SDKs para os principais smartphones


                                 SOAP
                                 REST
RegisterDeviceRequest registerDeviceRequest = new RegisterDeviceRequest(
                this.endpoint, this.useSSL, uid, key);
ResponseHandler handler = new ResponseHandler();

response = this.processRequest(registerDeviceRequest, handler);
if (response.requestWasSuccessful()) {
          AmazonSharedPreferencesWrapper.registerDeviceId(
                         this.sharedPreferences, uid, key);
}


AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb();

KeySchemaElement kse = new KeySchemaElement().withAttributeName(
                "userNo").withAttributeType(ScalarAttributeType.N);
KeySchema ks = new KeySchema().withHashKeyElement(kse);
ProvisionedThroughput pt = new ProvisionedThroughput()
                .withReadCapacityUnits(10l).withWriteCapacityUnits(5l);

CreateTableRequest request = new CreateTableRequest()
               .withTableName(PropertyLoader.getInstance().getTestTableName())
               .withKeySchema(ks).withProvisionedThroughput(pt);

ddb.createTable(request);
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, PHOTO_SELECTED);




AmazonS3Client s3Client = new AmazonS3Client( new BasicAWSCredentials(
MY_ACCESS_KEY_ID, MY_SECRET_KEY ) );




PutObjectRequest por = new PutObjectRequest( Constants.getPictureBucket(),
Constants.PICTURE_NAME, new java.io.File( filePath) );
s3Client.putObject( por );
Nuvem é Democracia!
Nuvem é Liberdade!
OFERTA
   GRATUITA!
aws.amazon.com/pt/free
OBRIGADO!
       aws.typepad.com/brasil
        slideshare.net/jpapo

José Papo
AWS Tech Evangelist
@josepapo
Desenvolvendo aplicacoes moveis Android na Nuvem da Amazon Web Services

Desenvolvendo aplicacoes moveis Android na Nuvem da Amazon Web Services

  • 1.
    Desenvolvendo aplicações Android na Nuvem José Papo AWS Tech Evangelist @josepapo
  • 2.
    5 bilhões decelulares no mundo Mais de 1 milhão de apps nas App Stores 32 bilhões de apps serão baixadas em 2012 50 bilhões de dólares em apps e músicas
  • 3.
    Suportando as principaisaplicações Móveis
  • 6.
    Conteúdo Dinâmico da Aplicação Móvel
  • 7.
  • 8.
    Servidores on-demand Sistemas Operacionais Linguagens e Bibliotecas Aplicações Certificadas
  • 9.
    Exemplo Servidor Micro On-demand 100% - A partir de 15 dólares Reservado 100% - A partir de 6,5 dólares
  • 10.
    Bancos de Dados Relacional e NoSQL
  • 11.
    Opções de Bancosde Dados Relacional NoSQL
  • 12.
    Conteúdo Estático da Aplicação Móvel
  • 13.
  • 14.
  • 15.
    Amazon CloudFront Rede deDistribuição de Conteúdo Flexível
  • 16.
    Locais Edge AWS(CloudFront & Route 53)
  • 18.
    Exemplos e casesde aplicações Android na Nuvem
  • 19.
    SDKs para osprincipais smartphones SOAP REST
  • 21.
    RegisterDeviceRequest registerDeviceRequest =new RegisterDeviceRequest( this.endpoint, this.useSSL, uid, key); ResponseHandler handler = new ResponseHandler(); response = this.processRequest(registerDeviceRequest, handler); if (response.requestWasSuccessful()) { AmazonSharedPreferencesWrapper.registerDeviceId( this.sharedPreferences, uid, key); } AmazonDynamoDBClient ddb = UserPreferenceDemoActivity.clientManager.ddb(); KeySchemaElement kse = new KeySchemaElement().withAttributeName( "userNo").withAttributeType(ScalarAttributeType.N); KeySchema ks = new KeySchema().withHashKeyElement(kse); ProvisionedThroughput pt = new ProvisionedThroughput() .withReadCapacityUnits(10l).withWriteCapacityUnits(5l); CreateTableRequest request = new CreateTableRequest() .withTableName(PropertyLoader.getInstance().getTestTableName()) .withKeySchema(ks).withProvisionedThroughput(pt); ddb.createTable(request);
  • 23.
    Intent intent =new Intent(Intent.ACTION_GET_CONTENT); intent.setType("image/*"); startActivityForResult(intent, PHOTO_SELECTED); AmazonS3Client s3Client = new AmazonS3Client( new BasicAWSCredentials( MY_ACCESS_KEY_ID, MY_SECRET_KEY ) ); PutObjectRequest por = new PutObjectRequest( Constants.getPictureBucket(), Constants.PICTURE_NAME, new java.io.File( filePath) ); s3Client.putObject( por );
  • 25.
  • 26.
  • 27.
    OFERTA GRATUITA! aws.amazon.com/pt/free
  • 28.
    OBRIGADO! aws.typepad.com/brasil slideshare.net/jpapo José Papo AWS Tech Evangelist @josepapo