it-swarm.dev

Android Entwicklung mit C und C ++

Ich bin ein C, C++ - Entwickler. Ich interessiere mich für mobile Entwicklung. Ich möchte wissen, wie ich Android Apps mit C und C++ entwickeln kann, ich habe lesen , dass sie ein Kit für C, C++ Entwickler bereitstellen, aber es hat nicht Alle Funktionen ab Java Kit. Sollte ich mich für das C/C++ - Entwicklungskit entscheiden oder es ist besser zu lernen Java, da sie in Zukunft möglicherweise nicht alle Funktionen bieten ?

47
user4124

Kurzversion: Arbeiten mit C++ unter Android ist mit jeder Android SDK/NDK-Version möglich und einfacher, aber es ist schwieriger als mit Java zu arbeiten).


Lange Version :

Für jede Version fügt Google Android Native Development Kit) weitere Funktionen hinzu und macht es immer unabhängiger vom Java Code).

Lesen Sie http://developer.Android.com/sdk/ndk/overview.html für weitere Details:

Schreiben Sie eine native Aktivität, mit der Sie die Lebenszyklus-Rückrufe in nativem Code implementieren können. Das Android SDK bietet die NativeActivity-Klasse, eine Convenience-Klasse, die Ihren nativen Code über alle Rückrufe des Aktivitätslebenszyklus (onCreate (), onPause (), onResume () usw.) informiert Implementieren Sie die Rückrufe in Ihrem nativen Code, um diese Ereignisse zu behandeln, wenn sie auftreten. Anwendungen, die native Aktivitäten verwenden, müssen auf Android 2.3 (API Level 9) oder höher) ausgeführt werden. Sie können nicht auf Funktionen wie Dienste zugreifen und Inhaltsanbieter nativ. Wenn Sie sie oder eine andere Framework-API verwenden möchten, können Sie dazu weiterhin JNI-Code schreiben.

Das Problem ist nur, dass Sie, wenn Sie das neueste NDK verwenden, nicht in der Lage sind, viele nicht aktuelle Android -Versionen) bereitzustellen.

Selbst mit früheren NDK-Versionen können Sie nur minimalen Java Code (für die Interaktion mit dem Betriebssystem) und den vollständigen Anwendungscode in C++ oder irgendetwas Nativem haben.

Es gibt auch Bemühungen, nativen Entwicklern zu helfen, über IDE Plugins wie dieses Vs-Android, ein Plugin für Visual Studio 201x, das den gesamten Kompilierungs- und Generierungsprozess vor Ihnen verbirgt, vollständig in C oder C++ zu arbeiten: http://code.google.com/p/vs-Android/

Wenn Sie planen, Ihre Anwendung auf ein anderes Betriebssystem zu portieren, ist es eine gute Idee, C++ für den Kern Ihrer Anwendung zu verwenden (möglicherweise mit einer Skriptsprache). Die Entwicklungszeit ist nur teurer als bei anderen Alternativen - aus C++ - spezifischen Gründen und aufgrund der verfügbaren Implementierungen von Entwicklertools können beispielsweise zu lange Kompilierungszeiten Ihre effektive Produktivität beeinträchtigen.

Dies ist jedoch nicht die einfachste Möglichkeit, an mobilen Apps zu arbeiten.

33
Klaim

Ich würde Ihnen raten, sich für C++ zu entscheiden, wenn Sie einen festen Plan für die Spieleentwicklung haben. Wenn nicht, entscheiden Sie sich besser für Java. Hier ist eine gute Einführung für Sie auf der offiziellen Website Android:

Spieleentwicklung für Android: Eine kurze Einführung

HINWEIS: Bitte lesen Sie Schritt 2 (Schritt 2: Wählen Sie eine Sprache) des Tutorials.

Wenn Sie Java überhaupt nicht kennen und Apps auf Android langfristig entwickeln möchten), ist es wichtig, Java zu lernen. Es werden großartige Tutorials angeboten Auf der offiziellen Website gibt es ein schönes Buch, das Sie zum Lernen speziell für Android Entwicklung: Hier ist es: Learn Java für Android Entwicklung

8
Maxood

Sollte ich mich für das C/C++ - Entwicklungskit entscheiden oder ist es besser, Java] zu lernen, da diese möglicherweise in Zukunft nicht alle Funktionen bieten?

Die Antwort ist beides.

  • Wenn Sie Anwendungen schreiben, bei denen die Leistung im Vordergrund steht, müssen sie sich fast ausschließlich in Java befinden. (C/C++ ist am beliebtesten) Spiele sind das große Ticketelement, aber es gibt noch andere.
  • Wenn Sie eine Android Entwicklung) durchführen, sollten Sie sich auch die Zeit nehmen, um Java auf einem vernünftigen Niveau zu lernen).
7
user606723