Mobile ilovalar yaratishda Dart dasturlash tilining o'rni va ahamiyati Ermonov Sherzod Ibrayim o'g'li Guliston Davlat Universiteti magstranti Anotatsiya


extern "C" JNIEXPORT jint JNICALL Java_com_mindorks_androidndkexample_MainActivity_add


Download 1.23 Mb.
bet5/5
Sana14.11.2023
Hajmi1.23 Mb.
#1771866
1   2   3   4   5
Bog'liq
Mobile ilovalar yaratishda Dart dasturlash tilining o

extern "C" JNIEXPORT jint JNICALL
Java_com_mindorks_androidndkexample_MainActivity_add( JNIEnv *env, jobject, jint x, jint y) {
//return an integer
return x + y;
}
//Subtraction function
extern "C" JNIEXPORT jint JNICALL
Java_com_mindorks_androidndkexample_MainActivity_sub( JNIEnv *env, jobject, jint x, jint y) {
//return an integer
return x — y;
}
//Multiplication function
extern "C" JNIEXPORT jint JNICALL
Java_com_mindorks_androidndkexample_MainActivity_multiply( JNIEnv *env, jobject, jint x, jint y) {
//return an integer
return x * y;
}
//Division function
extern "C" JNIEXPORT jint JNICALL
Java_com_mindorks_androidndkexample_MainActivity_divide( JNIEnv *env, jobject, jint x, jint y) {
//return an integer
return x / y;
}
Ko'rib turganingizdek yuqorida add(ikkita raqamni qo'shish uchun), sub(ayirish), multiply(ko'paytirish) va divide(bo'lish) nomli to'rtta funksiya keltirilgan. Har bir funktsiyani qaytuvchi qiymat tipi- jint. Bundan tashqari, har bir funksiya parametr sifatida ikkita integer ni oladi va ikkalasi ham jint tipiga kiradi.
Endi bizning keyingi vazifamiz Kotlin faylimizga native-lib faylini yuklash bo'ladi va bu uchun System.loadLibrary ("native-lib") usuli bizga yordamga keladi.
// Used to load the 'native-lib' library on application startup.
init {
System.loadLibrary("native-lib")
}
Endi, native-lib faylida ishlatilgan xuddi shu nomdagi to'rtta Kotlin tashqi metodlarini yaratamiz.
external fun add(x: Int, y: Int): Int
external fun sub(x: Int, y: Int): Int
external fun multiply(x: Int, y: Int): Int
external fun divide(x: Int, y: Int): Int
Siz NDK uchun kerakli bo'lgan asosiy tushunchalarni barchasini ko'rib, to'rt funksiya orqali bajardingiz. Endi siz shu kabi funksiyalardan Java/Kotlin fayllarida ehtiyojingizga ko'ra foydalanishingiz mumkin bo'ladi.
Native tilning foydalanishdagi kamchiliklari
Native tilini ishlatishning kamchiliklari shundaki, agar siz APK Split yoki APK Bundle dan foydalanmasangiz, faqat NDK ning o'zidan foydalanish APK hajmini oshiradi. Ya'ni NDK Android arxitekturasiga asoslangan kompyuter o'qiydigan .so ko'rinishidagi faylni yaratadi. Misol uchun, agar bizda mips, x86, armeabi, armeabi-v7a, armeabi-v8a bo'lsa, u holda .so fayli barcha beshta arxitektura uchun alohida yaratilishiga tog'ri keladi. Agar bitta .so faylining o'lchami 5MB bo'lsa, shunda dastur hajmi 5MB bo'lishi kerak tog'rimi, yo'q, aslida u 5*5 = 25MB bo'ladi.
Agar siz APK Split yoki APK Bundle dan foydalanayotgan bo'lsangiz, siz har xil arxitektura uchun alohida, bizni misolimizda besh xil APK yaratasiz va beshta APK ning barchasini Play Store ga yuklaysiz. Shunda Play Store qurilmaning arxitekturasini o'zi aniqlab, so'ngra kerakli APK ni yuklab olish uchun taqdim etadi.
Xulosa
Biz bu maqolada Android ilovalarimizda C va C ++ kabi native tillaridan foydalanishni o'rgandik. Odatda, o'zaro cross-platform larda ilovalar bilan ishlayotganimizda yoki yuqori mahsuldorlikka ega bo'lgan ilovalarni yaratishimiz kerak bo'lsa, biz o'z dasturimizga native tillarni qo'shishimiz mumkin bo'ladi. Boshqa holatlarda, Java yoki Kotlin bilan ishlash tavsiya etiladi.
Download 1.23 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling