Avançar para a área de conteúdo

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Na primeira vez que você efetua sign in no developerWorks, um perfil é criado para você. Informações selecionadas do seu perfil developerWorks são exibidas ao público, mas você pode editá-las a qualquer momento. Seu primeiro nome, sobrenome (a menos que escolha ocultá-los), e seu nome de exibição acompanharão o conteúdo que postar.

Todas as informações enviadas são seguras.

  • Fechar [x]

Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

Todas as informações enviadas são seguras.

  • Fechar [x]

Reutilizar o código C existente com o Android NDK

Aprenda a usar o Kit de Desenvolvimento Nativo do Android

Frank Ableson, Software designer
Frank Ableson é um empreendedor e desenvolvedor de software no norte de Nova Jersey, especializado em software de aplicativo móvel e embutido. Atualmente ele está escrevendo um livro sobre o desenvolvimento de aplicativo do Android para a Manning Publications. Seu interesse profissional é em sistemas embutidos, comunicações sem fio e eletrônicos automotivos. Seus maiores fãs são sua esposa, Nikki, e seus filhos.

Resumo:  O Kit de Desenvolvimento de Software (SDK) do Android usado pela maioria dos desenvolvedores de aplicativos Android exige o uso da linguagem de programação Java™ . Mas há uma grande quantidade de código de linguagem C disponível on-line. O Kit de Desenvolvimento Nativo (NDK) do Android permite que o desenvolvedor Android reutilize o código de origem C existente em um aplicativo Android. Neste tutorial criaremos um aplicativo de processamento de imagem em Java que usa código C para executar operações básicas de processamento de imagem.

Data:  18/Mai/2011
Nível:  Intermediário

Atividade:  6326 visualizações
Comentários:  

Antes de iniciar

Uma das primeiras motivações para explorar o NDK é a oportunidade de aproveitar projetos de software livre, muitos dos quais escritos em C. Após a conclusão deste tutorial, teremos aprendido a criar uma biblioteca de Java Native Interface (JNI), escrita em C e compilada com o Kit de Desenvolvimento Nativo (NDK), e a incorporado em um aplicativo Android escrito na linguagem Java. O aplicativo demonstra como executar operações básicas de processamento de imagem em dados de imagem brutos. Aprenderemos também a expandir o ambiente de desenvolvimento Eclipse para integrar um projeto do NDK em um arquivo de projeto do SDK do Android. Com essa base, estaremos mais bem equipados para transferir o código de software livre existente para a plataforma Android.

Sobre este tutorial

Este tutorial apresenta o NDK do Android no ambiente Eclipse. O NDK é usado para acrescentar funcionalidade a um aplicativo Android que use a linguagem de programação C. O tutorial começa com uma olhada de alto nível no NDK e seus cenários de uso comuns. A partir daí, é apresentado o tópico de processamento de imagem, seguido por uma introdução e demonstração do aplicativo deste tutorial: o IBM Photo Phun. Esse aplicativo é uma mistura de código Java baseado no SDK e código C compilado no NDK. O tutorial continua apresentando a Java Native Interface (JNI), uma tecnologia interessante ao trabalhar com o NDK. Uma olhada nos arquivos de origem do projeto concluído fornece um roteiro para o aplicativo desenvolvido aqui. Depois, vamos criar esse aplicativo passo a passo. Há explicações sobre a classe Java e os arquivos de origem em C. Para concluir, o ambiente de desenvolvimento Eclipse é customizado para integrar a cadeia de ferramentas do NDK diretamente ao processo de desenvolvimento Eclipse fácil de usar.


Pré-requisitos

Para acompanhar este tutorial, é preciso saber desenvolver aplicativos em Android com o SDK do Android e ter familiaridade básica com a linguagem de programação C. Além disso, é preciso ter os seguintes:

  • Eclipse e Android Developer Tools (ADT) — Editor de código primário, Compilador Java e plug-in Android Development Tools
  • Kit de Desenvolvimento de Software (SDK) do Android
  • Kit de Desenvolvimento Nativo (NDK) do Android
  • Imagem PNG — Imagem usada para testar operações de processamento de imagem

Criei as amostras de código deste tutorial em um MacBook Pro com Eclipse V3.4.2 e Android SDK V8, com suporte ao release 2.2 do Android (Froyo). O release do NDK usado neste tutorial foi o r4b. O código precisa da versão r4b ou posterior porque os recursos de manipulação de imagem do NDK do Android não estão disponíveis em releases anteriores do NDK.

Consulte Recursos para obter links para essas ferramentas.

1 de 10 | Próximo

Comentários



static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Software livre
ArticleID=658959
TutorialTitle=Reutilizar o código C existente com o Android NDK
publish-date=05182011
author1-email=frank@cfgsolutions.com
author1-email-cc=

Tags

Help
Use o campo de pesquisa para encontrar todos os tipos de conteúdo no My developerWorks com essa tag.

Use a barra de rolagem para ver mais ou menos tags.

Tags populares mostra as principais tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Minhas tags mostra suas tags para esta zona de conteúdo em particular (por exemplo, Java technology, Linux, WebSphere).

Use o campo de pesquisa para localizar todos os tipos de conteúdo no Meu developerWorks com essa tag. Tags populares mostra as tags principais para essa zona de conteúdo particular (por exemplo, tecnologia Java, Linux, WebSphere). My tags shows your tags for this particular content zone (for example, Java technology, Linux, WebSphere). Minhas tags mostra as suas tags para essa zona de conteúdo em particular (por exemplo, tecnologia Java, Linux, WebSphere).