1-laboratoriya mashg'uloti. Java dasturlash tili haqida tushuncha



Download 3,68 Mb.
bet54/54
Sana06.07.2022
Hajmi3,68 Mb.
#746840
1   ...   46   47   48   49   50   51   52   53   54
Amaliy qism.
2 - qadam: yangi loyiha yaratish
Yangi Android loyihasini yarating. Kelgusida muammolarga yo'l qo'ymaslik uchun loyihani saqlang, shunda uning yo'lida bo'sh joy belgilari bo'lmasligi kerak. Masalan, loyiha yarating, paket nomi sifatida "com.mamlambo.sample.ndk1" ni va "AndroidNDK1SampleActivity" ni Faoliyat sifatida ko'rsating.
Loyihaning ildizida "jni" nomli papkani yarating. Bu erda mahalliy kodli fayllar bo'ladi. Agar siz JNI bilan yaxshi tanish bo'lsangiz, Android NDK aslida C kodini kompilyatsiya qilish uchun sarlavhali fayllar to'plami cheklangan JNI ekanligini bilishdan mamnun bo'lasiz.
3 - qadam: Android loyihasiga C kodini qo'shing
jni papkasida native.c deb nomlangan fayl yarating va unga quyidagi kodni qo'shing
#include
#include
#include
#define DEBUG_TAG "NDK_AndroidNDK1SampleActivity"
void Java_com_mamlambo_sample_ndk1_AndroidNDK1SampleActivity_helloLog(JNIEnv* env,
jobject this, jstring logThis)
{
jboolean isCopy;
const char* szLogThis=(*env)->GetStringUTFChars(env, logThis,&isCopy);
__android_log_print(ANDROID_LOG_DEBUG, DEBUG_TAG,"NDK:LC: [%s]", szLogThis);
(*env)->ReleaseStringUTFChars(env, logThis, szLogThis);
}
Shu tarzda yaratilgan funksiya java ob'ektidan String parametrini oladi, uni C-stringga aylantiradi va LogCat-ga yozadi. Funktsiyaning o'tkir qirrali nomi tasodifan tanlanmagan, u muhim ma'lumotlarni o'z ichiga oladi: birinchi navbatda naqsh nomi ("Java"), keyin paket nomi, sinf nomi va nomi ko'rsatiladi. usul. Ismning har bir qismi pastki chiziq bilan ajratilgan.
Funktsiyaning dastlabki ikkita parametri alohida ma'noga ega. Birinchi parametr JNI muhitini belgilaydi va ko'pincha yordamchi funktsiyalar bilan ishlatiladi. Ikkinchi parametr - bu Java qismi bo'lib, uning funktsiyasi uning bir qismi hisoblanadi.
4 -qadam: Java -dan mahalliy kodni chaqirish
Loyihamizda tugma yarataylik, siz bosganingizda biz quyidagi kodni chaqiramiz:
helloLog("This will log to LogCat via the native call.");
Shuningdek, siz helloLog funktsiyasini chaqiriladigan sinfda e'lon qilishingiz kerak. Buni chiziq yordamida qilishingiz mumkin
private native void helloLog(String logThis);
Shunday qilib, biz kompilyatorga va bog'lovchiga bu funktsiyani bajarilishini mahalliy kodli papkada izlash kerakligini ma'lum qilamiz.
Nihoyat, kutubxonani yuklash kerak, u erda kod oxir -oqibat tuziladi. Faoliyat sinfiga quyidagi boshlang'ichni qo'shing.
static{
System.loadLibrary("ndk1");
}
System.loadLibrary () kutubxonaning nomi bilan yuklanishini ta'minlaydi. Siz har qanday nomdan foydalanishingiz mumkin.


Labarotoriya ishlari uchun topshiriqlar.
1. Belgilangan massivni siz bilgan usulda o'sish tartibida saralaydigan usul yarating.
2. Belgilangan massivni ekranda satrda ko'rsatadigan usul yarating. Yaratilgan usul va oldingi topshiriq usulidan foydalanib, har biri tasodifiy sonlar bilan 10 ta elementdan iborat 5 ta massivni to'ldiring va 5 ta massivni ekranda, har biri alohida satrda aks ettiring.
3. A va b ikkita tamsayıli parametrlarga ega bo'lgan statik usul yarating va [a; b] segmentidan tasodifiy butun sonni uning qiymati sifatida qaytaring. Bu usul yordamida 20 ta butun sonli massivni to'ldiring va uni ekranda aks ettiring.
Download 3,68 Mb.

Do'stlaringiz bilan baham:
1   ...   46   47   48   49   50   51   52   53   54




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish