Pengembangan Android menggunakan C dan C ++ [ditutup]

47

Saya adalah pengembang C, C ++. Saya tertarik dengan pengembangan ponsel. Saya ingin tahu bagaimana cara mengembangkan aplikasi Android menggunakan C dan C ++, saya telah membaca bahwa mereka menyediakan kit untuk pengembang C, C ++ tetapi tidak memiliki semua fungsi pada Java kit. Haruskah saya menggunakan C / C ++ development kit atau lebih baik belajar java karena mungkin tidak menyediakan semua fungsionalitas di masa depan?

fuddin
sumber

Jawaban:

33

Versi singkat: bekerja dengan C ++ di Android dimungkinkan dan lebih mudah dengan setiap versi Android SDK / NDK, tetapi lebih sulit daripada bekerja dengan Java.


Versi panjang:

Untuk setiap versi, Google menambahkan lebih banyak fungsi ke Android Native Development Kit dan membuatnya semakin independen pada kode Java.

Baca http://developer.android.com/sdk/ndk/overview.html untuk detail lebih lanjut:

Tulis kegiatan asli, yang memungkinkan Anda untuk menerapkan panggilan balik siklus hidup dalam kode asli. Android SDK menyediakan kelas NativeActivity, yang merupakan kelas praktis yang memberi tahu kode asli Anda tentang panggilan balik siklus aktivitas (onCreate (), onPause (), onPause (), onResume (), dll). Anda dapat menerapkan panggilan balik dalam kode asli Anda untuk menangani peristiwa ini ketika terjadi. Aplikasi yang menggunakan aktivitas asli harus dijalankan di Android 2.3 (API Level 9) atau lebih baru. Anda tidak dapat mengakses fitur seperti Layanan dan Penyedia Konten secara asli, jadi jika Anda ingin menggunakannya atau API kerangka kerja lainnya, Anda masih dapat menulis kode JNI untuk melakukannya.

Masalahnya adalah hanya jika Anda menggunakan NDK terbaru, Anda tidak akan dapat menggunakan dan banyak versi Android yang tidak terbaru.

Pokoknya bahkan dengan versi NDK sebelumnya, Anda dapat memiliki kode Java minimal (untuk berinteraksi dengan OS) dan kode aplikasi lengkap dalam C ++ atau apa pun yang asli.

Ada juga upaya dalam membantu pengembang asli untuk bekerja sepenuhnya dalam C atau C ++ melalui plugin IDE seperti ini Vs-Android yang merupakan plugin untuk Visual Studio 201x menyembunyikan semua proses kompilasi dan pembuatan dari Anda: http://code.google.com / p / vs-android /

Juga, jika Anda berencana melakukan port aplikasi Anda ke OS lain, menggunakan C ++ untuk inti aplikasi Anda (mungkin dengan bahasa scripting di atas) adalah ide yang bagus. Ini hanya lebih mahal pada waktu pengembangan daripada alternatif lain - untuk alasan khusus untuk C ++ dan itu tersedia implementasi alat dev, misalnya terlalu banyak waktu kompilasi dapat membunuh produktivitas efektif Anda.

Yang sedang berkata, itu bukan cara yang paling mudah untuk bekerja pada aplikasi seluler.

Klaim
sumber
8

Saya akan menyarankan Anda untuk menggunakan C ++ jika Anda memiliki rencana yang kuat untuk masuk ke Pengembangan Game. Tetapi jika tidak, Anda lebih baik pergi ke Jawa. Ini adalah primer yang bagus untuk Anda di situs web android resmi:

Pengembangan Game untuk Android: A Primer Cepat

CATATAN: Harap baca langkah 2 (Langkah Dua: Pilih Bahasa) dari tutorial ini.

Jika Anda tidak mengenal Java sama sekali dan ingin mengembangkan aplikasi di Android untuk jangka panjang, penting untuk mempelajari Java. Ada tutorial hebat yang diberikan di situs web resmi. Ada buku bagus yang bisa Anda ambil untuk belajar secara khusus untuk pengembangan Android: Ini dia: Learn Java for Android Development

Maxood
sumber
Orang yang mengeposkan pertanyaan sudah tahu C ++, jadi apa gunanya saran Anda?
abhi
7

Haruskah saya menggunakan C / C ++ development kit atau lebih baik belajar java karena mungkin tidak menyediakan semua fungsionalitas di masa depan?

Jawabannya adalah keduanya.

  • Jika Anda menulis aplikasi apa pun di mana kinerja menjadi perhatian utama, mereka hampir harus berada di sesuatu selain java. (C / C ++ paling populer) Game adalah item tiket besar, tetapi ada yang lain.
  • Jika Anda melakukan pengembangan Android, Anda juga harus meluangkan waktu untuk mempelajari java ke tingkat yang wajar.
pengguna606723
sumber
Saya tidak mengerti apa yang Anda maksud dengan melakukan dev android membutuhkan java, namun jika Anda ingin melakukan dev game android gunakan c / c ++. Mengapa tidak menggunakan c / c ++ saja.
Lance Pollard