Desenvolvimento Android usando C e C ++ [fechado]


47

Sou desenvolvedor C, C ++. Estou interessado em desenvolvimento móvel. Quero saber como posso desenvolver aplicativos Android usando C e C ++. Li que eles estão fornecendo um kit para desenvolvedores de C, C ++, mas ele não tem todas as funções do kit Java. Devo optar pelo kit de desenvolvimento C / C ++ ou é melhor aprender java, pois eles podem não fornecer todas as funcionalidades no futuro?

Respostas:


33

Versão curta: trabalhar com C ++ no Android é possível e mais fácil a cada versão do Android SDK / NDK, mas é mais difícil do que trabalhar com Java.


Versão longa :

Para cada versão, o Google adiciona mais funcionalidades ao Android Native Development Kit e a torna cada vez mais independente do código Java.

Leia http://developer.android.com/sdk/ndk/overview.html para obter mais detalhes:

Escreva uma atividade nativa, que permita implementar os retornos de chamada do ciclo de vida no código nativo. O Android SDK fornece a classe NativeActivity, que é uma classe de conveniência que notifica o código nativo de qualquer retorno de chamada do ciclo de vida da atividade (onCreate (), onPause (), onResume (), etc). Você pode implementar os retornos de chamada em seu código nativo para manipular esses eventos quando eles ocorrerem. Os aplicativos que usam atividades nativas devem ser executados no Android 2.3 (API Nível 9) ou posterior. Você não pode acessar recursos como Serviços e Provedores de Conteúdo de forma nativa; portanto, se desejar usá-los ou qualquer outra API de estrutura, ainda poderá escrever o código JNI para fazer isso.

O problema é que, se você usar o NDK mais recente, não poderá implantar e muitas versões Android não recentes.

De qualquer forma, mesmo nas versões NDK anteriores, você pode ter um código Java mínimo (para interagir com o SO) e o código completo do aplicativo em C ++ ou qualquer coisa nativa.

Também há esforços para ajudar os desenvolvedores nativos a trabalharem totalmente em C ou C ++ por meio de plugins IDE como este Vs-Android, que é um plug-in para o Visual Studio 201x, ocultando todo o processo de compilação e geração: http://code.google.com / p / vs-android /

Além disso, se você planeja portar seu aplicativo para outro sistema operacional, usar C ++ para o núcleo do aplicativo (talvez com uma linguagem de script no topo) é uma boa idéia. É apenas mais caro no tempo de desenvolvimento do que outras alternativas - por motivos específicos ao C ++ e às implementações disponíveis das ferramentas de desenvolvimento, por exemplo, tempos de compilação excessivos podem prejudicar sua produtividade efetiva.

Dito isto, essa não é a maneira mais fácil de trabalhar em aplicativos móveis.


8

Eu aconselho você a usar o C ++ se tiver um plano firme de entrar em Desenvolvimento de Jogos. Mas se não, é melhor você ir para Java. Aqui está uma boa cartilha para você no site oficial do Android:

Desenvolvimento de jogos para Android: uma rápida cartilha

NOTA: Leia a etapa 2 (Etapa 2: Escolha um idioma) do tutorial.

Se você não conhece Java e gosta de desenvolver aplicativos no Android a longo prazo, é essencial aprender Java. Existem ótimos tutoriais no site oficial. Há um bom livro que você pode pegar para aprender especificamente para o desenvolvimento do Android: Aqui está: Aprenda Java para o Desenvolvimento do Android


A pessoa que postou a pergunta já conhece C ++, então qual é o sentido de seu conselho?
abhi

7

Devo optar pelo kit de desenvolvimento C / C ++ ou é melhor aprender java, pois eles podem não fornecer todas as funcionalidades no futuro?

A resposta é ambas.

  • Se você estiver escrevendo aplicativos em que o desempenho é uma das principais preocupações, eles quase precisam estar em algo que não seja o java. (C / C ++ é o mais popular) Jogos é o item mais caro, mas existem outros.
  • Se você estiver desenvolvendo um Android, também deve aprender java a um nível razoável.

Eu não entendo o que você quer dizer com fazer o Android Dev requer java, mas se você quiser fazer o Android Game Dev, use c / c ++. Por que não usar c / c ++ o tempo todo.
Lance Pollard
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.