Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Sidiq Permana
Intel Android Software Innovator & CIO of
Nusantara Beta Studio
Pengenalan Android
NDK
 NDK adalah satu toolset yang disediakan oleh android untuk
memudahkan pengembang dalam mengintegrasikan kode
atau librar...
 Dapat menggunakan kode-kode / library yang ditulis
dalam bahasa C/C++ ke dalam aplikasi yang
dikembangkan
 Memudahkan i...
 Kode dan project kita akan semakin kompleks
 Dibutuhkan pemahaman terhadap C/C++ dan JNI (Java
Native Interface) bagi y...
 Ketika kamu bertemu dengan algoritma dengan
kompleksitas yang tinggi atau kalkulasi kompleks pada
permodelan matematika
...
Contoh Aplikasi yang menggunakan NDK
 TuneIn Radio Pro
 textPlus
 Microsoft Tag
 Star Chart
 SPYMouse
 SoundHound
 Roll in the Hole
 Facebook
 Raging ...
Contoh library dan project yang
menggunakan NDK
 http://opencv.org/platforms/android.html
 http://giderosmobile.com/
 https://github.com/zxing/zxing
 http://sipdroid....
Bagaimana NDK Bekerja
JNI
Java Android
Common
Libraries
C Based
Libraries
The
Communication
Between C++ and
JAVA is Using ...
 Harus familiar dengan bahasa C/C++
 Harus familiar dengan JNI (Java Native Interface)
 Terkadang harus menggunakan com...
 Semua device dengan Intel Processor pada smartphone android
sudah mendukung Ekosistem Android secara menyeluruh
 Dalvik...
Want more ?
https://software.intel.com
 The case : menampilkan teks “Hello World dari NDK!!!”
dengan menggunakan Android NDK
Show me the code
 Android SDK sudah terinstal
 Android NDK sudah terinstal
 Cygwin (Untuk windows sudah terinstal)
Pastikan....
C/C++ code dalam bentuk JNI
Android.mk
Letakan di folder jni
Java Code
Hasil kompilasi
Jadi apa yang didapat ?
 Objective : Untuk mendapatkan gambaran proses
sederhana C/C++, JNI dan Java dalam NDK
Case 2 : Hitung Luas Persegi Panja...
C/C++ Code
Android.mk
Java Code
 Klik kanan di
project lalu pilih
add native support
 Klik Finish pada
dialog yang
muncul
Ndk enable
 Klik kanan di
project lalu
pilih Make
Targets 
Create
 Masukan
nama “Target
Name” pada
dialog dan
“OK”
Kompilasi
C/C++...
 Build .so
dengan cara
Make Target
 Build, lalu
pilih target
yang sudah
dibuat
sebelumnya
lalu Build
pada dialog
yang mu...
Result
Want more ? Lets’s write some codes.
Thank you
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Pengenalan android ndk
Prochain SlideShare
Chargement dans…5
×

Pengenalan android ndk

4 038 vues

Publié le

Pengenalan Android NDK

Publié dans : Ingénierie
  • Soyez le premier à commenter

Pengenalan android ndk

  1. 1. Sidiq Permana Intel Android Software Innovator & CIO of Nusantara Beta Studio Pengenalan Android NDK
  2. 2.  NDK adalah satu toolset yang disediakan oleh android untuk memudahkan pengembang dalam mengintegrasikan kode atau library yang ditulis dalam bahasa C dan C++ kedalam aplikasi yang dikembangkan  NDK dalam beberapa kasus akan meningkatkan peforma komputasi dan pemrosesan data yang kompleks  NDK akan memudahkan penulisan kode untuk terintegrasi langsung dengan kernel dan hardware device pada android  NDK digunakan oleh SDK android sebagai abstraksi layer presentasi ke layer hardware. Sehingga memudahkan developer untuk berinteraksi langsung dengan hardware tanpa menggunakan bahasa Java Apa itu NDK
  3. 3.  Dapat menggunakan kode-kode / library yang ditulis dalam bahasa C/C++ ke dalam aplikasi yang dikembangkan  Memudahkan interaksi langsung dengan hardware yang dibutuhkan jika ada custom usage yang dibutuhkan  Dalam beberapa kasus C/C++ memberikan performa aplikasi yang bagus untuk melakukan proses komputasi untuk kalkulasi yang besar  Sebagai solusi jika memang proses-proses tertentu hanya bisa atau hanya terdapat dukungan dalam bahasa C/C++ Manfaat menggunakan NDK
  4. 4.  Kode dan project kita akan semakin kompleks  Dibutuhkan pemahaman terhadap C/C++ dan JNI (Java Native Interface) bagi yang belum familiar  Kebutuhan resource yang besar bagi pengguna windows untuk download cygwin dan Android NDK yang lumayan besar Kelemahan Menggunakan NDK
  5. 5.  Ketika kamu bertemu dengan algoritma dengan kompleksitas yang tinggi atau kalkulasi kompleks pada permodelan matematika  Ketika aplikasi kamu membutuhkan koneksi langsung ke layer device seperti membaca signal radio dari bluetooth, koneksi ke VOIP, implementasi physic computation pada game atau bahkan akses untuk me-render augmentasi kamera dengan penambahan object secara real time. Waktu terbaik menggunakan NDK
  6. 6. Contoh Aplikasi yang menggunakan NDK
  7. 7.  TuneIn Radio Pro  textPlus  Microsoft Tag  Star Chart  SPYMouse  SoundHound  Roll in the Hole  Facebook  Raging ThunderPocketCloud  Camera Zoom FX  Blow Up  Paper Camera  Ocean HD Screen Saver  Office Suite  Jump Desktop  Fieldrunners  Etc...
  8. 8. Contoh library dan project yang menggunakan NDK
  9. 9.  http://opencv.org/platforms/android.html  http://giderosmobile.com/  https://github.com/zxing/zxing  http://sipdroid.org/  Etc...  Hampir semua game engine sudah mengenkapsulasi ndk- programming didalam sdk nya. Sehingga developer tinggal akses saja pada resource yang dibutuhkan contoh : Unity dan Gideros
  10. 10. Bagaimana NDK Bekerja JNI Java Android Common Libraries C Based Libraries The Communication Between C++ and JAVA is Using JNI (Java Native Interface) Native Development Kit
  11. 11.  Harus familiar dengan bahasa C/C++  Harus familiar dengan JNI (Java Native Interface)  Terkadang harus menggunakan command line tapi di eclipse sudah di simplify dengan klik kanan :D  Familiar dengan penggunaan cygwin dan harus terinstal terlebih dahulu (untuk pengguna windows, untuk mac dan linux sudah default)  Harus familiar dengan Android Application Development baik itu SDK nya maupun IDE nya Pemahaman dasar untuk menggunakan NDK ?
  12. 12.  Semua device dengan Intel Processor pada smartphone android sudah mendukung Ekosistem Android secara menyeluruh  Dalvik Virtual Machine sudah teroptimalisasi untuk Intel platform  Aplikasi berbasis NDK akan langsung bisa dijalankan tanpa adanya kompilasi ulang untuk Intel platform  Sejak tahun 2011 Android NDK sudah menyediakan toolchain berbasis x86  Performa aplikasi ? Jelas tidak perlu ditanyakan  Porting aplikasi hanya dibutuhkan jika ada kode yang bergantung pada prosesor tertentu  Seperangkat Tools pendukung Apa yang Intel punya untuk mendukung pengembangan aplikasi NDK ?
  13. 13. Want more ? https://software.intel.com
  14. 14.  The case : menampilkan teks “Hello World dari NDK!!!” dengan menggunakan Android NDK Show me the code
  15. 15.  Android SDK sudah terinstal  Android NDK sudah terinstal  Cygwin (Untuk windows sudah terinstal) Pastikan....
  16. 16. C/C++ code dalam bentuk JNI
  17. 17. Android.mk
  18. 18. Letakan di folder jni
  19. 19. Java Code
  20. 20. Hasil kompilasi
  21. 21. Jadi apa yang didapat ?
  22. 22.  Objective : Untuk mendapatkan gambaran proses sederhana C/C++, JNI dan Java dalam NDK Case 2 : Hitung Luas Persegi Panjang dengan NDK
  23. 23. C/C++ Code
  24. 24. Android.mk
  25. 25. Java Code
  26. 26.  Klik kanan di project lalu pilih add native support  Klik Finish pada dialog yang muncul Ndk enable
  27. 27.  Klik kanan di project lalu pilih Make Targets  Create  Masukan nama “Target Name” pada dialog dan “OK” Kompilasi C/C++ code menjadi lib .so
  28. 28.  Build .so dengan cara Make Target  Build, lalu pilih target yang sudah dibuat sebelumnya lalu Build pada dialog yang muncul
  29. 29. Result
  30. 30. Want more ? Lets’s write some codes. Thank you

×