O documento discute o futuro do Android, mencionando:
1) Sua arquitetura e aquisição pela Google;
2) O crescimento da plataforma com 500 mil aplicativos em 2011;
3) Novos dispositivos com quad-core e recursos como reconhecimento facial.
1. Android: conheça o
futuro Inevitável!
Alessandro de Oliveira Faria (A.K.A.CABELO)
cabelo@opensuse.org
2. Perfil Técnico:
Alessandro de Oliveira Faria (A.K.A. CABELO)
Diretor de pesquisas
NETi TECNOLOGIA
●
Atuando no mercado de software desde 1986
●
Embaixador e openSUSE Member;
●
Membro da comunidade Viva O Linux;
●
Conselheiro Administrativo Linux do projeto Tecnociência;
●
Projetista/mantenedor mais de 90 RPMs no openSUSE Build Service;
Mantenedor e Desenvolvedor
●
droidFrete: Cálculo de frete na plataforma Android.
●
droidRastreamento: Rastreabilidade de objeto postados.
●
stampDate: Serviço de menu KDE para estampar data em imagens.
●
libHAIRCAPTURE: Biblioteca de video captura em Linux.
●
IPCMSG: Biblioteca de comunicação interprocessos.
●
easyPCSC: Biblioteca para utilização de cartões smartcard
●
twitterME: Adicina usuários com QRCode.
Publicações:
●
Linux Magazine 9 Artigos
●
Internet 100 artigos técnicos (VOL/Tecnociência/Linha de Código).
3. Arquitetura
O Dalvik é uma máquina virtual performática
Em 2005 a google comprou a Android Inc
(surgiu em 2003)., uma pequena empresa
de desenvolvimento de sistemas
embarcados. Atualmente com exceção da
Apple, da Nokia e da Microsoft,
praticamente todos os outros grandes
fabricantes possuem projetos relacionados
ao Android.
O Android usa um gerenciamento de aplicativos nada convencional, pois os os
aplicativos abertos continuam ativos ao finalizar e são fechados somente quando o sistema
precisa de recursos. Na contrapartida, desenvolvedores nada caprichoso pode degradar o
sistema.
4. Notícias
Algumas informações
●Esta plataforma aberta resultou em julho de 2011 no
Android Market a marca de 500.000 aplicativos.
Está disponível também o App Inventor, uma
plataforma de desenvolvimento rápido, baseada na
Open Blocks Java library.
● Lojas http://www.android.com/market,
● http://slideme.org
● LG
● http://andappstore.co
● http://shop4apps.motorola.com/
5. Notícias
Algumas informações
Os aplicativos disponíveis vão desde aplicativos realmente inovadores
e uteis, até mini-aplicativos especializados que se limitam a mostrar
alguma informação específica, passando por todos os tipos de jogos e
inutilidades, que se dividem entre aplicativos gratuitos e pagos.
A a idéia de tornar todos os aplicativos compatíveis com todos os dispositivos
baseados no Android, é uma ideia “QUASE” impossível de implementar na prática, pois
cada aplicativo exige uma versão mínima do sistema para rodar, além também casos de
aplicativos com requerimentos específicos (como para telas WXGA, que não rodam nos
aparelhos com telas HVGA).
Sendo assim leva-se em conta as propriedades do aparelho sobre o qual está rodando,
exibindo apenas os aplicativos compatíveis com ele.
6. Notícias
Algumas informações
Android torna-se IMORTAL
● Abertura do código-fonte 3.0 – 4.0
● Kindle Fire, Baidu, Aliyun OS, Mozilla e Facebook.
● Barômetro, NFC, Reconhecimento Facial.
● Android em controle remotos – Motorola Covair.
● Aplicativos Android executados em plataformas BlackBerry.
7. Notícias
Invasão dos quad-core
- HTC Edge/Supreme/Endeavor: O Edge promete
Tegra 3 quad-core de 1,5GHz, 1GB de RAM, tela de
4,7 polegadas com resolução HD, câmera de 8
megapixels.
- LG X3: Além do Tegra 3, tela HD de 4,7″ e câmera
traseira de 8MP – e câmera frontal de 1,3MP – o LG
X3 deve contar com bateria de 2.000mAh. Isso é
menos que o Razr Maxx
- Asus Padfone: Um dock que o torna um tablet!
Dizem que rodará Tegra 3, em vez do processador
Snapdragon presente no modelo atual.
- Fujitsu Arrows:Tegra 3, 1GB de RAM, tela HD de
4,6″, uma câmera impressionante de 13,1
megapixels com ISO 25.600, além de ser à prova
d’água e de poeira .
10. Notícias
Algumas informações
Android 2.2: está disponível inclusive o suporte a multitouch, com gestos
para zoom;
Deslizamento os dedos de uma tecla a outra, sem precisar tirá-los do teclado;
A linguagem padrão Java, embora sacrifique parte do desempenho, (reduz a eficiência
energética, resultando em um maior consumo de energia),na contrapartida obtemos
ganhos de portabilidade.
Compartilhamento da conexão através
da interface Wi-Fi e também via
Bluetooth.
Acesso a root permite enxergar além
do limite.
14. Notícias
Algumas informações
Vale a pena mencionar sobre o uso do Android em x86,
uma medida estratégica do Google para o caso de a Intel
conseguir eventualmente conseguir embarcar com força no
ramo de tablets e smartphones com as versões de baixo
consumo do Atom http://www.android-x86.org/ Vale a pena
mencionar sobre o produto ThinkPad X1 Hybrid terá Android e
Windows 7.
17. Instalação e configuração do SDK
Download e descompactação do SDK
Pagina principal:
http://developer.android.com/sdk/index.html
$ tar zxvf androidsdk_r04linux_86.tgz
$ cd androidsdklinux_86/tools
$ ./android
$ export PATH=${PATH}:<pasta de instalação do
android>/tools
24. Criando o primeiro Ola Mundo
Imprimir ola mundo
package com.android.hello;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
public class HelloAndroid extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
TextView tv = new TextView(this);
tv.setText("Ola Mundo, Viva Pitágoras!");
setContentView(tv);
}
}
26. Instalação e configuração do NDK
Download e descompactação do NDK
Pagina principal:
http://developer.android.com/sdk/ndk/index.html
$ unzip androidndkr4blinuxx86.zip
Pronto o NDK esta instalado com sucesso!
30. Instalação e configuração do NDK
Criação protótipo da função nativa e makefile.
$ cd ~/workspace/HelloNDK
$ javah o hellondk.h classpath bin com.cabelo.hellondk.HelloNDK
$ mkdir jni
$ cp hellondk.h jni/
$ cd jni
$ vi Android.mk
LOCAL_PATH := $(call mydir)
include $(CLEAR_VARS)
LOCAL_DEFAULT_CPP_EXTENSION := cpp
LOCAL_MODULE := hellondk
LOCAL_SRC_FILES := hellondk.cpp
include $(BUILD_SHARED_LIBRARY)
31. Instalação e configuração do NDK
Criação da função nativa
$ vi hellondk.cpp
#include <hellondk.h>
JNIEXPORT jstring JNICALL
Java_net_bruary_hellondk_HelloNDK_sayHello(JNIEnv *env, jobject obj){
return env>NewStringUTF("Hello, NDK!");
}
35. Aplicações de video captura
Inicialização e propriedades.
<SurfaceView android:id="@+id/surface"
android:layout_width="fill_parent" android:layout_height="10dip"
android:layout_weight="1">
</SurfaceView>
import android.hardware.Camera;
Camera camera = Camera.open();
camera.release();
Camera.Parameters p = mCamera.getParameters();
p.setPictureFormat(PixelFormat.JPEG);
p.setPreviewSize(w, h);
mCamera.setParameters(p);
36. Aplicações de video captura
Preview e captura
camera.startPreview();
[ … ]
camera.stopPreview();
private void takePicture() {
camera.takePicture(shutterCallback, rawCallback, jpegCallback); }
ShutterCallback shutterCallback = new ShutterCallback() {
public void onShutter() {
[ … ] } };
PictureCallback rawCallback = new PictureCallback() {
public void onPictureTaken(byte[] _data, Camera _camera) {
[ … ] } };
37. Aplicações de video captura
Gravação em disco
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
FileOutputStream outStream = null;
nomeImagem = String.format("/sdcard/DCIM/Camera/img%d.jpg",
System.currentTimeMillis());
outStream = new FileOutputStream(nomeImagem);
outStream.write(data);
outStream.close();
}
};