INTRODUÇÃO A NOVA PLATAFORMA NOKIA ASHA
Maurílio Silva
Nokia Developer Champion
@TK2k
NOKIA ASHA
SERIES 40 1ª EDIÇÃO
128x128 pixels
12bit / 4k cores
200 KB memória de trabalho (Heap)
64 KB arquivo de instalação (Jar file)
Keypad
TOUCH & TYPE
240x320 pixels
18bit / 262k cores
2 MB memória Heap
2 MB arquivo Jar
2.4” single touch
Keypad
FULL TOUCH
240x400 pixels
16bit / 65k cores
2 MB memória Heap
2 MB arquivo Jar
3” multitouch
Acelerômetro
NOKIA ASHA
240x320 pixels
18bit / 262k cores
3 MB memória Heap
5 MB arquivo Jar
3” multitouch
Acelerômetro
Novas APIs da Nokia
Retrocompatibilidade com a Series 40
NOVIDADES
Nokia Asha SDK 1.0
Emulador Nokia Asha 501
Nokia IDE for Java, v2.0
Documentação offline
Depuração no dispositivo via wi-fi
Interface do Usuário e Gráficos
Mudanças na LCDUI
Image Scaling API
Gesture API: novo toque duplo
https://developer.nokia.com/Develop/asha/
NOVIDADES
Framework de aplicações
API de internacionalização (JSR-238)
Ciclo de vida do MIDlet: startApp() / pauseApp() são chamados quando o aplicatico é enviado para o segundo plano (recebimento de chamada, alertas, etc)
Rede
Networking State API: notificações de mudanças no SIM, rede de telefonia e wlan
NOVIDADES
Multimídia
AMMS: Sintonizador de rádio (TUNER), codificação e pós-processamento de imagens
Gravação de vídeo
Removido: com.nokia.mid.sound.Sound (Nokia UI API)
NOVIDADES
Manipulação de dados
Contacts API: notificações de mudanças de contatos na agenda (enquanto o MIDlet está ativo)
File Select API: uso do navegador nativo de arquivos para selecionar arquivos
Phone Settings API: acesso as configurações e notificações de mudanças: modo de vôo, conexão de dados, modo silencioso, etc.
Nokia Notifications API
NOVA EXPERIÊNCIA DO USUÁRIO
BOTÕES FÍSICOS
BOTÃO VOLTAR
BOTÃO VOLTAR
NOVA INTERFACE DO USUÁRIO
DIMENSÃO E ÁREAS DA TELA
NOVAS APIS
NOVAS APIS
NOVAS APIS
PHONE SETTINGS
Estado atual e observador de mudanças (listener)
Modo de vôo
Conexão de dados
Conexão de dados em segundo plano
Conexão de dados em “roaming”
Modo vibração
Modo silencioso
NETWORK STATE
Monitora o estado:
Rede da operadora (local ou “roaming”)
SIM
WLAN
TUNER
Rádio AM / FM
Sintonização
Busca
Silenciador
Modo Stereo
Consulta de intensidade de sinal
Pré-definições
Sem suporte a RDS
AMS (JSR-234)
FILE SELECT API
Navegador nativo de arquivos usado para listar e selecionar arquivos
O navegador nativo tem sua própria UI e gerencia a navegação, listagem e seleção de arquivos.
O navegador pausa o processo que está chamando a API até que um arquivo seja selecionado ou a operação seja cancelada
FILE SELECT API
MIDlet pode usar a API para:
Anexar arquivos a um MMS ou email
Upload de arquivos
Visualização e edição de documentos
Visualização e edição de imagens
Execução ou edição de clipes de áudio ou vídeo
Use essa API se você deseja listar e selecionar arquivos, mas não deseja fazer sua própria implementação para estas funcionalidades
IMAGE SCALING API
Apenas redução (não permite ampliação)
Pelo tamanho de arquivo ou pela dimensão (largura x altura)
Definir a qualidade
Ajustar/manter a proporção
NOKIA NOTIFICATIONS API
Serviço de notificações, similar aos existentes no Windows Phone, Android e iOS
Permite ao desenvolvedor enviar notificações para os dispositivos Asha
As notificações são entregues de várias formas no dispositivo:
Tela de bloqueio
Área de notificações (topo da tela)
Diretamente para o aplicativo
PORTANDO PARA NOKIA ASHA
SERIES 40 Aplicativos non-touch com interface de alto nível (LDCUI) se adaptam automaticamente
APIS ADICIONADAS / REMOVIDAS
COMPATIBILIDADE?
Arquivo binário e código fonte são compatíveis
Aplicativos antigos desenvolvidos com Java ME rodam em aparelhos Nokia Asha 1.0
Compatibilidade com versões anteriores
Verifique o suporte da API no aparelho alvo
O menor denominador comum: aplicativos criados com o Nokia Asha SDK rodam em aparelhos mais velhos
Aplicativos non-touch com interface de alto nível (LDCUI) se adaptam automaticamente nos novos Asha
PORTANDO
Todos os aplicativos Java ME devem funcionar nos aparelhos full touch
Interface de Alto nível
Adapta-se automaticamente
Os componentes incluem suporte a touch
Verifique o layout
Novos componentes de UI (CategoryBar por exemplo) não devem ser usados
Interface de baixo nível
Novo tamanho e proporção da tela (mas, a maioria dos aplicativos Java são flexíveis)
O Java ME tem suporte touch há muitos anos
PORTANDO
Novas APIs
Funcionam apenas nos novos aparelhos
Projetos cuidadosos de aplicativos conseguem manter a compatibilidade
Solução: uso dinâmico de APIs
Um mesmo código para diferentes aparelhos
ANDROID
Asha 501 Phone
300Mhz
Capacitive
Multi-point touch
240x320
5MB
MEMÓRIA
Memória é ouro:
Não tem nada haver com a memória do aparelho
Memória de trabalho (Java Heap) tem 2 ou 4 MB nos aparelhos Series 40 Full Touch
3 MB são garantidos no Asha 501
Memória Flash é prata:
O Arquivo JAR da aplicação não pode ultrapassar os 5 MB (2MB nos full touch)
Alternativa: baixar os recursos necessários e armazenar no RMS
Trate seu arquivo JAR (disponível na loja) como instalador online, contendo os primeiros levels e baixe o restante quando for necessário
OPORTUNIDADE
Portal Nokia Developer
Nokia Developer Champion (NDC)
Nokia Remote Device Access (RDA)
Nokia Store
Nokia Ad Exchange (NAX)
Nokia In-app payment (NIAP, em beta)
http://developer.nokia.com/
PRINCIPAIS MERCADOS
Top 25 downloads em 2012 (os círculos correpondem ao número de downloads)
OBRIGADO. PERGUNTAS?
Mais em:
https://developer.nokia.com/Develop/asha/learning.xhtml
Recommended