Android: conheça o futuro Inevitável!Alessandro de Oliveira Faria (A.K.A.CABELO)           cabelo@opensuse.org
Perfil Técnico:                         Alessandro de Oliveira Faria (A.K.A. CABELO)                                      ...
Arquitetura                          O Dalvik é uma máquina virtual performática                                          ...
Notícias           Algumas informações●Esta plataforma aberta resultou em julho de 2011 noAndroid Market a marca de 500.00...
Notícias                                                 Algumas informações Os aplicativos disponíveis vão desde aplicati...
Notícias                                                Algumas informações                               Android torna-se...
Notícias  Invasão dos quad-core- HTC Edge/Supreme/Endeavor: O Edge prometeTegra 3 quad-core de 1,5GHz, 1GB de RAM, tela de...
NotíciasPantech Vega – Reconhecendo movimentos
NotíciasAlgumas informações
Notícias                                                  Algumas informaçõesAndroid 2.2: está disponível inclusive o supo...
NotíciasAlgumas informações
NotíciasAlgumas informações
NotíciasAlgumas informações
Notícias                                              Algumas informações   Vale a pena mencionar sobre o uso do Android e...
Processamento de imagem           Onde utilizar o NDK?
Processamento de imagem              NDK é preciso?
Instalação e configuração do SDK                               Download e descompactação do SDKPagina principal:http://dev...
Instalação e configuração do SDK            Configuração da maquina virtual
Instalação e configuração do SDK                   Instalação do eclipse
Instalação e configuração do SDK                 Configuração do Eclipse
Instalação e configuração do SDK                 Configuração do Eclipse
Instalação e configuração do SDK                 Configuração do Eclipse
Criando o primeiro Ola Mundo                                      Imprimir ola mundopackage com.android.hello;import andro...
Criando o primeiro Ola Mundo              Executando o programa
Instalação e configuração do NDK                              Download e descompactação do NDKPagina principal:http://deve...
Criando o primeiro Ola Mundo com NDK                           Abrindo projeto
Instalação e configuração do NDK                       Arquivo layout
Instalação e configuração do NDK                  Criação protótipo da função nativa e makefile.$ cd ~/workspace/HelloNDK$...
Instalação e configuração do NDK                                    Criação da função nativa$ vi hellondk.cpp#include <hel...
Instalação e configuração do NDK                      Criação protótipo da função nativa e makefile.$ /usr/local/share/and...
Instalação e configuração do NDK                  Execução do programa
Aplicações de video captura       Permissão de uso da CAMERA.
Aplicações de video captura                                  Inicialização e propriedades.    <SurfaceView android:id="@+i...
Aplicações de video captura                                         Preview e capturacamera.startPreview();[ … ]camera.sto...
Aplicações de video captura                                        Gravação em disco   PictureCallback jpegCallback = new ...
Processando imagemhttp://code.google.com/p/android-playground-erdao/wiki/SnapFace
Processamento em tempo real                                         Preview e capturavoidJava_com_erdao_SnapFace_PreviewVi...
Processamento em tempo real                                                OpenCV$ export ANDROID_NDK=/home/cabelo/android...
Processamento em tempo real                      OpenCV
Dicas                    Ice Cream Sandwich, acabou o botão Menu do Androidhttp://android-developers.blogspot.com/2012/01/...
Críticas e sugestões                               cabelo@opensuse.org                  Obrigado! “Colaborar atrai amigos,...
Android: Conheça o Futuro Inevitável
Android: Conheça o Futuro Inevitável
Upcoming SlideShare
Loading in...5
×

Android: Conheça o Futuro Inevitável

3,440

Published on

Apresentação de alguns programas que podem ser instalados em celulares com sistema operacional; middleware e interface e os procedimentos de instalação do SDK e NDK Android. Principais métodos para captura de imagens na plataforma Android para posterior processamento, exemplos com código fonte de aplicativos de realidade aumentada em celulares Android, demonstração de todo potencial da tecnologia Webtop da Motorola presente no celular Atrix e demonstração da biblioteca de visão computacional openCV nesta plataforma.

Palestrante: Alessandro de Oliveira Faria

Sócio-proprietário da empresa Neti Tecnologia, atua na área desde 1986 e é Consultor Biométrico na tecnologia de reconhecimento facial. Membro colaborador da comunidade Viva O Linux, é mantenedor da biblioteca open-source de vídeo captura e membro do openSUSE.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,440
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Android: Conheça o Futuro Inevitável"

  1. 1. Android: conheça o futuro Inevitável!Alessandro de Oliveira Faria (A.K.A.CABELO) cabelo@opensuse.org
  2. 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 inter­processos.●  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. 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 osaplicativos abertos continuam ativos ao finalizar e são fechados somente quando o sistemaprecisa de recursos. Na contrapartida, desenvolvedores nada caprichoso pode degradar osistema.
  4. 4. Notícias Algumas informações●Esta plataforma aberta resultou em julho de 2011 noAndroid Market a marca de 500.000 aplicativos.Está disponível também o App Inventor, umaplataforma de desenvolvimento rápido, baseada naOpen Blocks Java library.● Lojas http://www.android.com/market,● http://slideme.org● LG● http://andappstore.co● http://shop4apps.motorola.com/
  5. 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 dispositivosbaseados no Android, é uma ideia “QUASE” impossível de implementar na prática, poiscada aplicativo exige uma versão mínima do sistema para rodar, além também casos deaplicativos com requerimentos específicos (como para telas WXGA, que não rodam nosaparelhos 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. 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. 7. Notícias Invasão dos quad-core- HTC Edge/Supreme/Endeavor: O Edge prometeTegra 3 quad-core de 1,5GHz, 1GB de RAM, tela de4,7 polegadas com resolução HD, câmera de 8megapixels.- LG X3: Além do Tegra 3, tela HD de 4,7″ e câmeratraseira de 8MP – e câmera frontal de 1,3MP – o LGX3 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 processadorSnapdragon presente no modelo atual.- Fujitsu Arrows:Tegra 3, 1GB de RAM, tela HD de4,6″, uma câmera impressionante de 13,1megapixels com ISO 25.600, além de ser à provad’água e de poeira .
  8. 8. NotíciasPantech Vega – Reconhecendo movimentos
  9. 9. NotíciasAlgumas informações
  10. 10. Notícias Algumas informaçõesAndroid 2.2: está disponível inclusive o suporte a multitouch, com gestospara 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ênciaenergética, resultando em um maior consumo de energia),na contrapartida obtemosganhos de portabilidade.Compartilhamento da conexão atravésda interface Wi-Fi e também via Bluetooth.Acesso a root permite enxergar alémdo limite.
  11. 11. NotíciasAlgumas informações
  12. 12. NotíciasAlgumas informações
  13. 13. NotíciasAlgumas informações
  14. 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 Intelconseguir eventualmente conseguir embarcar com força noramo de tablets e smartphones com as versões de baixoconsumo do Atom http://www.android-x86.org/ Vale a penamencionar sobre o produto ThinkPad X1 Hybrid terá Android eWindows 7.
  15. 15. Processamento de imagem Onde utilizar o NDK?
  16. 16. Processamento de imagem NDK é preciso?
  17. 17. Instalação e configuração do SDK Download e descompactação do SDKPagina principal:http://developer.android.com/sdk/index.html$ tar ­zxvf android­sdk_r04­linux_86.tgz $ cd android­sdk­linux_86/tools$ ./android$ export PATH=${PATH}:<pasta de instalação do android>/tools 
  18. 18. Instalação e configuração do SDK Configuração da maquina virtual
  19. 19. Instalação e configuração do SDK Instalação do eclipse
  20. 20. Instalação e configuração do SDK Configuração do Eclipse
  21. 21. Instalação e configuração do SDK Configuração do Eclipse
  22. 22. Instalação e configuração do SDK Configuração do Eclipse
  23. 23. Criando o primeiro Ola Mundo Imprimir ola mundopackage 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);   }} 
  24. 24. Criando o primeiro Ola Mundo Executando o programa
  25. 25. Instalação e configuração do NDK Download e descompactação do NDKPagina principal:http://developer.android.com/sdk/ndk/index.html$ unzip android­ndk­r4b­linux­x86.zipPronto o NDK esta instalado com sucesso!
  26. 26. Criando o primeiro Ola Mundo com NDK Abrindo projeto
  27. 27. Instalação e configuração do NDK Arquivo layout
  28. 28. 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.mkLOCAL_PATH := $(call my­dir)include $(CLEAR_VARS)LOCAL_DEFAULT_CPP_EXTENSION := cppLOCAL_MODULE    := hellondkLOCAL_SRC_FILES := hellondk.cppinclude $(BUILD_SHARED_LIBRARY)
  29. 29. 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!"); }
  30. 30. Instalação e configuração do NDK Criação protótipo da função nativa e makefile.$ /usr/local/share/android­ndk­r4b/ndk­build  Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/armeabi$ vi Application.mkAPP_ABI := armeabi armeabi­v7a $ /usr/local/share/android­ndk­r4b/ndk­build   Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/armeabi Compile++ thumb: hellondk <= ~/HelloNDK/jni/hellondk.cpp SharedLibrary  : libhellondk.so Install        : libhellondk.so => ~/HelloNDK/libs/armeabi­v7a
  31. 31. Instalação e configuração do NDK Execução do programa
  32. 32. Aplicações de video captura Permissão de uso da CAMERA.
  33. 33. 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);
  34. 34. Aplicações de video captura Preview e capturacamera.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) {[ … ] } };
  35. 35. 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(); } };
  36. 36. Processando imagemhttp://code.google.com/p/android-playground-erdao/wiki/SnapFace
  37. 37. Processamento em tempo real Preview e capturavoidJava_com_erdao_SnapFace_PreviewView_grayToRgb( JNIEnv*  env,                                      jobject  this,                                      jbyteArray src,                                      jintArray  dst ){ jboolean b; jint len; jbyte* srcPtr=(*env)­>GetByteArrayElements(env,src,&b); jint* dstPtr=(*env)­>GetIntArrayElements(env,dst,&b); len = (*env)­>GetArrayLength(env,src); gray8toRGB32(srcPtr, dstPtr, len); (*env)­>ReleaseByteArrayElements(env, src, srcPtr, 0); (*env)­>ReleaseIntArrayElements(env, dst, dstPtr, 0);};
  38. 38. Processamento em tempo real OpenCV$ export ANDROID_NDK=/home/cabelo/android­ndk­r5c$ export ANDROID_NDK_TOOLCHAIN_ROOT=/home/cabelo/android­ndk­r5c/toolchains$ cd ../android/$ sh ./scripts/cmake_android_armeabi.sh ou cmake_android_neon.sh$ cd build_armeabi$ make $ make install$ adb push HelloAndroid /data$ adb shell chmod 777 /data/HelloAndroid$ adb shell /data/HelloAndroid$ adb pull /mnt/sdcard/HelloAndroid.png$ xv HelloAndroid.png$ adb install tutorial­1­addopencv.apk
  39. 39. Processamento em tempo real OpenCV
  40. 40. Dicas Ice Cream Sandwich, acabou o botão Menu do Androidhttp://android-developers.blogspot.com/2012/01/say-goodbye-to-menu-button.html
  41. 41. Críticas e sugestões cabelo@opensuse.org Obrigado! “Colaborar atrai amigos, competir atrai inimigos...” http://cabelovivaolinux.wordpress.com

×