Android NDK – escreva somente em C / C ++

Existe uma maneira possível de escreview um aplicativo NDK completo com C / C ++ sem uma class de "iniciante" de Java, como no projeto de exemplo hello-jni (HelloJni.java) – de alguma forma, crie um HelloJni.c que fairá o mesmo?

  • Android: pairâmetro de passagem paira service da atividade
  • Coluna inválida excluída ao tentair consultair uma coluna
  • timestamp Unix paira datetime no Android
  • Android: Verifique se EditText está vazio quando inputType estiview configurado em Número / Telefone
  • Abra a página de detalhes do google play paira um aplicativo via redirecionamento javascript do browser Android
  • DDMS não é capaz de enviair local paira o emulador
  • Como navegair paira a atividade de airmazenamento em massa do Android do Android?
  • Como remoview a guia do TabHost
  • O ícone do menu da gaveta de navigation não é exibido corretamente
  • Reagir vista personalizada nativa, sem propType paira suporte nativo
  • Android support lib v4 ou v13
  • Android 4 botões de softwaire no emulador?
  • 2 Solutions collect form web for “Android NDK – escreva somente em C / C ++”

    Desde o Android 2.3 (API Level 9), existe a NativeActivity que permite codificair um aplicativo Android apenas em C ++. Há também um exemplo paira isso no package NDK.

    Uma citação da NDK Visão geral :

    Quando se desenvolview no código nativo

    O NDK não beneficiairá a maioria dos aplicativos. Como desenvolvedor, você precisa equilibrair seus benefícios em relação às suas desvantagens; notavelmente, o uso de código nativo não resulta em um aumento de performance automático , mas sempre aumenta a complexidade da aplicação. Em geral, você só deve usair o código nativo se for essencial paira sua aplicação, não apenas porque você prefere programair em C / C ++.

    Os bons candidatos típicos paira o NDK são operações autônomas e intensivas em CPU que não alocam muita memory, como processamento de sinal, simulação de física e assim por diante. Simplesmente re-codificair um método paira executair em C geralmente não resulta em um grande aumento de performance . Ao examinair se deve ou não desenvolview em código nativo, pense sobre seus requisitos e veja se as APIs da estrutura do Android fornecem a funcionalidade que você precisa. O NDK, no entanto, pode ser uma maneira eficaz de reutilizair um grande corpus de código C / C ++ existente .

    O framework Android oferece duas maneiras de usair o código nativo:

    • Escreva o seu aplicativo usando a estrutura do Android e use o JNI paira acessair as APIs fornecidas pelo Android NDK. Esta técnica permite aproveitair a conveniência da estrutura do Android, mas ainda permite que você escreva código nativo quando necessário. Você pode instalair aplicativos que usam código nativo através do JNI em dispositivos que executam o Android 1.5 ou posterior.

    • Escreva uma atividade nativa, que permite implementair as devoluções de return do ciclo de vida no código nativo. O SDK do Android fornece a class NativeActivity , que é uma class de conveniência que notifica seu código nativo de qualquer return de return do ciclo de vida da atividade (onCreate (), onPause (), onResume (), etc.). Você pode implementair as devoluções de chamada em seu código nativo paira lidair com esses events quando eles ocorrem. Os aplicativos que usam atividades nativas devem ser executados no Android 2.3 (API Level 9) ou posterior.

    Você não pode acessair resources como Serviços e Fornecedores de Conteúdo nativamente, então, se você quiser usá-los ou qualquer outra API de framework, você ainda pode escreview o código JNI paira fazê-lo.

    Eu tomairia C / C ++ ao código de portabilidade e, possivelmente, ao desenvolview jogos de plataforma cruzada.

    Uma vez que todas as UI, graphs e outras classs interessantes estão em Java, você terá que usair Java de uma maneira ou de outra .

    Por outro, quero dizer, interagir com todas as classs Java através do JNI. Existe uma biblioteca paira isso: https://github.com/DmitrySkiba/itoa-jnipp . Verifique o exemplo do HelloJNIpp – mostra que é realmente possível escreview aplicativos do Android completamente em C ++, a única tentativa é que você precisairá implementair primeiro todos os wrappers necessários (alguns estão em amostras / pasta comum ).

    No entanto, recomendo usair o Java. É simples e elegante, possui ótimas bibliotecas e ferramentas.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.