O Projecto Este projecto tem como objectivo a criação de uma aplicação para Android que possibilite a visualização de imagens bem como algumas opções de edição das mesmas.
Objectivos
Abrir imagens;
Navegar, aumentar e reduzir a área de visualização;
Recortar parte da imagem;
Gravar a imagem alterada.
Ecrã de Pré-visualização de imagens
Opção de edição recorte
Android? Android é um sistema operativo open source para dispositivos móveis. Foi inicialmente desenvolvido pela Google e posteriormente pela Open Handset Alliance. De acordo com a empresa de consultoria, Gartner, o Android actualmente ocupa cerca de 33% da conta de mercado, mas prevê-se que atinja quase 50% nos próximos 4 anos. *dados referentes a 7 de Abril de 2011
Arquitectura do Sistema Operativo
Tecnologias Usadas Para desenvolver a aplicação recorremos essencialmente a três ferramentas:
Android SDK (IDE Eclipse) - conjunto de emulador, ferramentas e Framework de desenvolvimento para a plataforma; OpenCV - conjunto de bibliotecas em C/C++ usadas para edição de imagem e tratamento de imagem em tempo real. Android NDK - conjunto de ferramentas necessárias para a criação e compilação de bibliotecas nativas.
A ferramenta Opencv foi uma opção alternativa pois, para a edição da imagem, poderíamos simplesmente ter usado Android SDK. As potencialidade do Opencv e o facto de podermos criar as nossas próprias bibliotecas nativas foram as razões que nos levaram a escolher Opencv para a edição de imagem.
APP_IMG - Resultados Ecrã inicial
Dificuldades Uma vez que tínhamos poucos conhecimentos em Java e foi o nosso primeiro contacto com desenvolvimento para Android, uma das dificuldades foi a adaptação à linguagem e adaptação às exigências da arquitectura. Este problema foi facilmente superado recorrendo a tutoriais e algum estudo da arquitectura. Posteriormente, e uma das maiores dificuldades do projecto foi a criação de bibliotecas nativas, uma vez que este processo envolve algum conhecimento em JNI (Java Native Interface). Mas apesar da dificuldade acrescida também conseguimos superar este problema.
Conclusões
Galeria para selecção de fotos
É com satisfação que ao concluirmos este projecto vemos todos os objectivos concluídos e alguns pontos até superados pois, para além dos objectivos iniciais, conseguimos adicionar funcionalidade extra à aplicação.
Linux Kernel - A camada mas baixa do sistema operativo é o kernel Linux que funciona como uma camada de abstracção entre o hardware do dispositivo e software que usa estes recursos Libraries - Todo um conjunto de bibliotecas C/C++ que implementam as funcionalidades básicas do sistema operativo. Android Runtime - Contém uma máquina virtual java optimizada para pequenos dispositivos (Dalvik VM). Application Framework - Framework de alto nível, em Java, para a criação das aplicações Android. Applications and Widget - Todo o conjunto de programas disponíveis para o utilizador.
Outro ponto forte da elaboração do projecto foi o aprofundar do nosso já existente interesse pelo desenvolvimento para Android, pois concluímos que vale a pena investir no desenvolvimento para esta plataforma tão cheia de oportunidades. Projecto: Android APP_IMG ORIENTADOR: Paula Oliveira CO-ORIENTADORES: João Paulo Moura, Carlos Serôdio, Pedro Mestre Alunos: Manuel Santo e Miguel Araújo