JNI OnLoadAndroid NDK چیست؟

Android Native Development Kit به اختصار NDK، یک مجموعه ابزار است که به توسعه دهندگان اجازه می دهد تا کد های نوشته شده در زبان برنامه نویسی سی و سی پلاس پلاس را مجددا استفاده کنند و از طریق رابط کاربری جاوا (JNI) آن را در برنامه خود بکار گیرند.

اپلیکیشن های اندروید در ماشین مجازی Dalvik اجرا می شوند. NDK به شما این امکان را می دهد تا بخش هایی از اپلیکیشن های خود را با استفاده از زبان های نیتیو مانند C و ++C اجرا کنید. این امر می تواند مزایا برخورداری از کلاس های خاصی از اپلیکیشن ها را داشته باشد، به این صورت که استفاده مجدد از کد موجود و در بعضی موارد، افزایش سرعت را فراهم می کند.

کاربرد Android NDK

Android NDK به طور کلی برای برنامه نویسی گرافیکی یا سنسورهایی با تاخیر کم استفاده می شود که واقعا به بهینه سازی و سرعت اضافی نیاز دارند.

اولین کاربرد NDK این است که عملکرد اپلیکیشن را بهبود می بخشد. این معمولا برای اپلیکیشن های محاسباتی و گرافیکی مانند موتورهای بازی، شبیه سازی فیزیک یا پردازش سیگنال استفاده می شود.

دومین کاربرد آن، استفاده از C++ / C در برنامه نویسی اندروید و درنتیجه قابلیت حمل اپلیکیشن ها است. استفاده از C++ / C اجازه می دهد مقدار زیادی از کد را برای پورت کردن اپلیکیشن به سیستم های دیگر مجددا استفاده شود.

آخرین کاربرد استفاده از C++ / C  امکان استفاده از کتابخانه های موجود و کد توسعه یافته از دیگر سیستم ها است. همچنین برای توسعه یک اپلیکیشن چند منظوره (iOS، ویندوز) نیز مناسب می باشد.

Android NDK با ابزارهای SDK و همچنین از طریق Android Studio IDE یا Eclipse ADT IDE قدیمی کار می کند. با این حال، NDK برای استفاده به تنهایی طراحی نشده است.

 

نصب Android NDK

برای نصب و راه اندازی آن می توانید به سایتی که در ویدئو زیر آمده مراجعه کرده و طبق آن Android NDK را نصب کنید. این راهنما اطلاعاتی را در اختیار شما قرار می دهد تا با NDK کار کنید.

برای اطلاعات بیشتر می توانید به صفحه دانلود Android NDK مراجعه کنید.

 

شروع کار با Android NDK

در این قسمت با نحوه استفاده از NDK و شروع یک پروژه اندروید آشنا می شوید تا یک کتابخانه بومی ++C ایجاد کنید که توابع آن در کلاس های جاوا در دسترس باشند.

 

رابط باینری اپلیکیشن

رابط باینری اپلیکیشن یک رابط سطح پایین بین اپلیکیشن و OS یا یک نرم‌افزار دیگر ایجاد می کند. در این بخش با ایجاد آن در اپلیکیشن اندروید با استفاده از NDK آشنا می شوید.

 

رابط کاربری یا UI

به منظور تعامل بهتر کاربر با اپلیکیشن از رابط کاربری یا UI استفاده می شود که در این قسمت با ایجاد آن در اپلیکیشن اندروید با استفاده از NDK آشنا می شوید.

 

آشنایی با Client در Android NDK:

 

نحوه اولین اجرا پروژه در Android NDK:

 

استفاده از LibLog

LibLog به طور خاص و عمدتا برای توسعه دهندگان کتابخانه طراحی شده که می خواهند قابلیت های ورود به سیستم را فراهم کنند.

 

استفاده از  JNI OnLoad

در این بخش با تابع JNI OnLoad در کتابخانه های نیتیو جهت استفاده از کد سی پلاس پلاس آشنا می شوید.