Afsuski, Java-ning murakkabligi har kimning unda dasturlashiga to'sqinlik qiladi. Ob'ektga yo'naltirilgan dasturlash tili sifatida u sinf konstruktorlari ko'rinishidagi juda ko'p xususiyatlarga ega, ish paytida ilovalarning ishdan chiqishiga olib keladigan istisnolar va ishlab chiqishda doimo e'tiborga olinishi kerak bo'lgan boshqa jihatlar. Biroq, Java kodini o'qish va tuzish oson, ayniqsa uning dizayni uchun qabul qilingan standartlarga rioya qilingan taqdirda.
Android uchun Java-ni ishlab chiqishda nafaqat kodni o'z ichiga olgan Java sinflari, balki tizimga dastur haqida asosiy ma'lumotlarni taqdim etadigan XML-dagi manifest fayllar va buyruqlar yozilgan Gradle, Maven yoki Ant avtomatik qurish tizimlari qo'llaniladi. Groovy, POM va XML mos ravishda; sukut bo'yicha loyihalar Gradle-dan foydalanadi va Java-da ishlab chiqishni o'rganishning dastlabki bosqichlarida Groovy-da yozilgan fayllarni tahrirlashingiz shart emas. UI qismini joylashtirish uchun odatda XML ham ishlatiladi.
2014-yil dekabr oyida Google tomonidan Android OS uchun rasmiy ishlab chiqish muhiti sifatida tan olingan Android Studio yildan-yilga takomillashtirilib, Android ishlab chiquvchilari hayotini osonlashtirmoqda. Vizual UI muharriri va kodni to'ldirish kabi xususiyatlar ishlab chiqish jarayonini yanada qulayroq qilishga yordam beradi.
Android rivojlanishiga to'liq kirishga tayyor bo'lganlar uchun birinchi navbatda Java tavsiya etiladi. Biroq, agar tilning o'ziga xos xususiyatlari tufayli o'zingizni qiyin his qilsangiz, unda oddiyroq narsadan boshlang va o'zingizni ishonchli his qilganingizda qaytib keling.
Til rasmiy ravishda Android hamjamiyatiga 2017-yilning may oyida Google I/O’da taqdim etilgan. 2019-yilda allaqachon Google uni Android-ni rivojlantirish uchun afzal qilingan tanlov sifatida tan oldi va Java-ni fonga o'tkazdi. Bu shuningdek, yangi standart vositalarni (kutubxonalar, Android Studio funktsiyalari) yaratish birinchi navbatda Kotlinga qaratilganligini anglatadi.
2019 yildan beri Live Typing Android ishlab chiquvchilari faqat Kotlinda yozishadi. Superbro kabi loyihalar ushbu tilda yozilgan va asta-sekin unga tarjima qilinmoqda.
Kotlin Java, Scala, TypeScript kabi zamonaviy dasturlash tillarining eng yaxshilarini o'z ichiga oladi. Asosiy afzalliklarga ma'lumotlar turlarini avtomatik aniqlash, funktsional paradigmani qo'llab-quvvatlash va kengaytma funktsiyalari kiradi. Shu bilan birga, til bir qator keng ko'lamli muammolardan himoyalangan, masalan, "milliarddagi xato" yoki NullPointerException. Bularning barchasi uning mashhurligini tushuntiradi - 2019 yilgi StackOverflow so'roviga ko'ra, Kotlin hamjamiyat tomonidan eng sevimli besh tildan biri edi.
Kotlin Java-ga asoslangan bo'lib, tajribali ishlab chiquvchilar uchun o'tishni osonlashtiradi. Agar Java sizga notanish bo'lsa, avval u bilan ishlashni tavsiya qilamiz. Ko'p eski kodga ega yirik loyihalar Java-da yozilgan bo'lishi mumkin. Ya'ni, tijorat rivojlanishida Java bilimi talab qilinadigan vazifalar bo'lishi mumkin.
C/C++
Java NDK yordamida Android Studio tomonidan ham qo'llab-quvvatlanadigan quyi darajadagi tillar. Bu sizga o'yinlar yoki boshqa resurs talab qiladigan dasturlarni yaratish uchun foydali bo'lishi mumkin bo'lgan mahalliy ilovalarni yozish imkonini beradi. Android Studio Android NDK (Native Development Kit) orqali C/C++ yordamini taklif etadi. Bu shuni anglatadiki, kod Java Virtual Machine orqali emas, balki to'g'ridan-to'g'ri qurilma orqali ishlaydi, bu sizga xotira, sensorlar, imo-ishoralar va boshqalar kabi tizim elementlarini ko'proq boshqarish imkonini beradi, shuningdek, maksimal resurslarni siqib chiqarish imkoniyatini beradi. Android qurilmalari. Bu shuningdek, C yoki C++ tillarida yozilgan kutubxonalardan foydalanishingiz kerakligini bildiradi.
O'z navbatida, uni sozlash qiyin va unchalik qulay emas, shuning uchun uni faqat murakkab operatsiyalarni tezda bajarish kerak bo'lgan dastur modullarini yozish uchun ishlatish tavsiya etiladi: grafikalar, videolar va murakkab 3D modellarni qayta ishlash va ko'rsatish.
Android mahalliy ilovalarni yaratish uchun Python-dan foydalanishni qo'llab-quvvatlamasligi bu mumkin emas degani emas. Ushbu tilning muxlislari Python kodini kerakli holatga kompilyatsiya qilish imkonini beruvchi ko'plab vositalarni ishlab chiqdilar va turli kutubxonalarning mavjudligi Materiallar dizayni bo'yicha ko'rsatmalarga muvofiq hatto mahalliy interfeyslarni yaratishga imkon beradi. Eng mashhur ramka Kivy bo'lib, u sof Python-da Play Market ilovasini yaratishga imkon beradi.
ASOSIY
Oddiyligi va samimiyligi tufayli BASIC yangi dasturchilar uchun eng maqbul kirish nuqtasidir.
Yomon xabar shundaki, u Android Studio tomonidan qo'llab-quvvatlanmaydi va Unity va Xamarin muhitlari uchun mos emas. Yaxshi xabar shundaki, BASIC, B4A uchun maxsus ishlab chiqish muhiti mavjud bo'lib, unda siz Android ilovalarini yaratishingiz mumkin. B4A tez va oson dasturlash uchun mo'ljallangan RAD vizual prototiplash kontseptsiyasini o'zida mujassam etgan. Bu erda juda ko'p qulay dizayn echimlari va har qanday muammoda yordam beradigan foydali hamjamiyat mavjud.
Yana bir salbiy tomoni shundaki, BASIC-da resurs talab qiladigan o'yinlarni yaratib bo'lmaydi va dasturiy ta'minotning norasmiy holati tufayli Google yordamiga ishonmasligingiz kerak. Bu shuni anglatadiki, ilovalar Material Designga mos kelmaydi va siz faqat BASIC tilini biladigan professional dasturchi hisoblanmaysiz. Va ushbu maqoladagi tillar va muhitlarning butun ro'yxati orasida bu yagona pullikdir.
Lua (Corona SDK yordamida)
Androidni ishlab chiqishni o'rganish qulayligi va ishlab chiquvchining nazorat qilish hissi o'rtasidagi muvozanat. Corona o'zaro platformali grafik dvigateli Lua tiliga asoslangan. LUA Java-ga qaraganda ancha sodda va Corona SDK bu til bilan ishlashni oson va yoqimli qiladi. U barcha mahalliy kutubxonalarni qo'llab-quvvatlaydi, bu sizga ko'plab platformalar uchun yozish imkonini beradi.
Kod yozish uchun sizga Notepad++ kerak, uni kompilyatsiya qilmasdan ishga tushirish uchun esa emulyator kerak. Agar APK yig'ilgan bo'lsa va dastur o'rnatishga tayyor bo'lsa, siz ilovani onlayn vosita orqali ishga tushirishingiz mumkin. Asosiy dasturlash ko'nikmalariga ega bo'lgan holda, siz Corona-dan foydalangan holda Android-ni ishlab chiqishni qiyinchiliksiz o'zlashtirishingiz mumkin.
Ba'zi cheklovlar va cheklovlar mavjud edi, bu jiddiy narsalarni rivojlantirish va o'zingizni professional sifatida ko'rsatishni imkonsiz qildi. Agar sizga ilovangizda ilova ichidagi xaridlar kabi funksionallik kerak boʻlsa, uni ishlab chiqish imkoniyati uchun, xuddi mahalliy Android API-dan foydalanganingiz uchun toʻlashingiz kerak boʻladi.
Agar siz umuman veb-dasturlash, xususan HTML, CSS va JavaScript haqida biror narsa bilsangiz, bu bilim sizga PhoneGap ramkasidan foydalangan holda asosiy platformalararo ilovalarni yaratishda foydali bo'ladi. Bu bizning ro'yxatimizning oxirgisi, ammo Android rivojlanishini engishning eng muhim usuli emas.
Live Typing-da ilovalarni ishlab chiqish uchun PhoneGap-dan foydalanishning asosiy sabablari quyidagilar edi:
- bir vaqtning o'zida bir nechta platformalar uchun dasturni ishlab chiqish vaqti va narxini qisqartirish (shahar sport muassasalariga obuna olish uchun ariza);
- mijozning mavjud veb-saytidan va uning qismlaridan foydalanish imkoniyati (xizmatlar va onlayn xaridlar uchun to'lov uchun ariza).
Xulosa
Umuman olganda, Android uchun ilovalar deyarli har qanday mashhur tilda yaratilishi mumkin - hamma narsa uchun ramkalar va yordamchi dasturlar mavjud. Biroq, agar siz Android-ning professional dasturchisi bo'lishni istasangiz, operatsion tizimning barcha imkoniyatlaridan foydalaning va Android-ning eng so'nggi xususiyatlaridan foydalanish imkoniyatiga ega bo'lsangiz, Java yoki Kotlin sizning sodiq hamrohlaringiz bo'ladi. Ushbu tillar sizga notanish bo'lsa ham va murakkab ko'rinsa ham, ular Android operatsion tizimi uchun boy, chiroyli va funktsional ilovalar yozishni o'rganishga arziydi.
Va biz to'plagan maqolamizdan Android rivojlanishining nazariy tomoni bilan tanishishni boshlashingiz kerak.
Va agar siz mobil ilovani yaratishga qaror qilsangiz, lekin qaysi platformadan boshlashni bilmasangiz, unda Android-dan boshlang. Android ilovalarini yuklab olish iOSga qaraganda 65% yuqori, Android ilovalarini loyihalash va ishlab chiqish xarajatlari esa kamroq. Ishonchli mobil ishlab chiqish studiyasini qidiryapsizmi? , va biz siz bilan bog'lanamiz.
Biroz vaqt oldin rasmiy Android uchun IDE ADT plagini bilan Eclipse (Java uchun de-fakto standarti sifatida) mavjud edi. Biroz vaqt o'tgach, JetBrains-dan IDE Java dasturchilari orasida mashhurlikka erisha boshladi, keyin u uchun Android-ni ishlab chiqish uchun plagin paydo bo'ldi va odamlar asta-sekin Eclipse-dan unga o'tishni boshladilar.
Biroz vaqt o'tgach, Google Android Studio IDEA asosida nima qilishini e'lon qiladi. Va endi Android Studio-ning ikkinchi versiyasi yaqinlashmoqda va Eclipse faqat yomon tush sifatida eslanadi :)
Android Studio— Android uchun rasmiy ishlab chiqish muhiti. Asosan, Android Studio plaginlari bilan mashhur Java IDE IntelliJ IDEA hisoblanadi.
Hozirda Android IDE ni tanlashda quyidagi variantlar mavjud:
- Tutilish. Bir muncha vaqt oldin Java uchun eng mashhur IDE, endi Androidni ishlab chiqish uchun foydalaning juda tavsiya etilmaydi.
- IntelliJ IDEA. Ajoyib IDE, Android uchun yaxshi.
- Android Studio. Android uchun eng yaxshi IDE. U IDEA dan kichik narsalarda farq qiladi, lekin bu mayda-chuydalar juda va juda yoqimli va ishimizni ancha osonlashtiradi :) Bu yerda biz e'tiborimizni qaratamiz.
Avvalo, sizda JDK (Java Development Kit) o'rnatilganligiga ishonch hosil qilishingiz kerak. Bu Java-da ishlab chiqish uchun zarur komponent hisoblanadi va Android uchun ishlab chiqish Java-da amalga oshirilganligi sababli, Android uchun ishlab chiqish uchun ham talab qilinadi.
Ikkinchidan, "satr raqamlarini ko'rsatish" va "usul ajratgichlarini ko'rsatish" katakchalarini belgilang:
Birinchisi matnning chap tomonidagi satr raqamlarini ko'rsatadi, ikkinchisi koddagi usullar o'rtasida ajratgichlarni chizadi.
Ushbu ikkita variant, ayniqsa, yangi boshlanuvchilar uchun nihoyatda muhim va men nima uchun ular sukut bo'yicha o'chirilganligini tushunmayapman.
Uchinchidan, avtoto'ldirishni sozlang. Buni amalga oshirish uchun "Harf-harflar sezgir yakunlash" da "Yo'q" ni tanlang:
Keling, nima uchun bunday bo'lishini tushuntiraman. Odatiy parametr avtoto'ldirish faqat birinchi harf to'g'ri kiritilsa ishlaydi degan ma'noni anglatadi. Hech qaysi holatda kodni yozishni boshlashingizdan qat'i nazar, "Yo'q" opsiyasi avtomatik to'ldirishga olib keladi.
Ushbu variantning standart ma'nosi, oldingi ikkitasi kabi, meni hayratda qoldiradi.
Birinchi loyihani yaratish
Biz Android Studio-ni sozlash va o'rnatishni aniqladik, birinchi loyihamizni yaratish vaqti keldi.
Android Studio asosiy oynasida "ni bosing. Yangi Android Studio loyihasini ishga tushiring«:
Yangi oyna paydo bo'ladi, unda biz bir nechta amallarni bajarishimiz kerak.
Birinchisida siz dastur nomini, kompaniya domenini (paket nomi ushbu ikki parametrdan yaratiladi) va loyihaning diskdagi joylashuvini belgilashingiz kerak:
Android-da, Java-da bo'lgani kabi, dasturning asosiy identifikatori paket nomidir. Agar siz ilgari Java bilan ishlagan bo'lsangiz, uning nima ekanligini bilasiz. Bilmaydiganlar uchun men Google-ni tavsiya qilaman, yoki, masalan, bu erda.
Keyinchalik, Android Studio bizdan SDK ning qaysi va qaysi versiyalaridan foydalanishni xohlashimizni so'raydi. Hozircha "Telefon va planshet" SDK biz uchun etarli bo'ladi; API versiyasini tavsiya etilgan 15 o'rniga 16 ga o'rnating, chunki API 15 endi ahamiyatli emas va umuman keng tarqalmagan:
Keyingi ekranda bizdan qaysi dastur komponentlarini yaratmoqchi ekanligimiz so'raladi. "Bo'sh faoliyat" ni tanlang:
Keyingi bosqichda hech narsani o'zgartirmasdan "Finish" tugmasini bosing.
Ushbu jarayonni tugatgandan so'ng, siz nihoyat birinchi loyihangizni ko'rasiz:
Bu allaqachon juda funktsional, ammo uni ishga tushirish uchun bizga Android emulyatori kerak.
Android emulyatorini yaratish
Android emulyatorini yaratish uchun bizga kerak Android AVD menejeri(AVD = Android Virtual Device). Xavotir olmang, boshqa hech narsa o'rnatishingiz shart emas. Shunchaki ushbu tugmani bosing:
Keyin ushbu tugmada:
Va keyin bir necha marta "Keyingi" tugmasini bosing va nihoyat "Finish" tugmasini bosing.
Hello World ishga tushirilishi
Yaratilgan birinchi loyihamizni ishga tushirish vaqti keldi Android Studio!
Ushbu tugmani bosing (yoki Shift-F10):
Shundan so'ng siz dialog oynasini ko'rasiz, unda sizdan IDE yig'ilgan dasturni ishga tushirishi kerak bo'lgan qurilmani tanlashingiz so'raladi:
Ok bilan belgilangan katakchani belgilang va OK tugmasini bosing. Loyiha qurishni boshlaydi, emulyator ishga tushadi, dastur emulyatorga o'rnatiladi va dastur ishga tushadi.
Bu biroz vaqt talab etadi (kompyuteringiz qanchalik kuchli bo'lsa, shunchalik kam vaqt ketadi), chunki so'nggi bir necha yil ichida katta yaxshilanishlarga qaramay, emulyator juda sekin ishlaydi.
Va endi, 1-10 daqiqadan so'ng (emulyatorni ishga tushirgandan so'ng, loyihalar, albatta, tezroq yig'iladi va ishga tushiriladi), siz nihoyat emulyator ekranida Salom dunyongizni ko'rasiz!
Hammasi shu va keyingi darsda biz ko'rib chiqamiz.
Har kuni yangi darslar qo'shiladi! Hech narsani o'tkazib yubormaslik uchun bizning kanalimizga obuna bo'ling
Salom. Bugun men Linux Foundation veb-saytida Android uchun dasturlash kursi haqidagi postga duch keldim va shu bilan birga men ushbu darslarning tarjimasini ko'rishni istagan ko'plab sharhlarga duch keldim. Hozirdan boshlab, mikrokontrollerlar uchun to'rt yillik ishlab chiqishdan so'ng, men mobil qurilmalar uchun dasturlashni o'rganishni boshladim, shu bilan birga men darsning birinchi qismini tarjima qilishga qaror qildim.
Yangi boshlanuvchilar uchun Android dasturlash. 1-qism
Android smartfonlari va planshetlari bizning sumkalarimiz va cho'ntaklarimizda tobora ko'proq topilmoqda va Android dasturlash ham mashhur bo'lib bormoqda. Bu ajoyib ishlab chiqish platformasi - API yaxshi hujjatlashtirilgan va ulardan foydalanish oson va smartfoningizda ishga tushirishingiz mumkin bo'lgan narsani yaratish juda qiziqarli. Dastlab, siz Linux kompyuteringizda emulyator yordamida kodni yaratish va sinab ko'rish orqali buni amalga oshirishingiz mumkin. Ikki qismli kirishning birinchi qismi oddiy taymer ilovasini qanday yaratishni tushuntiradi va Android API bilan tanishtiradi. Kurs Java, XML va dasturlash texnologiyalari haqida asosiy tushunchani o'z ichiga oladi, ammo bu haqda juda noaniq tushunchaga ega bo'lsangiz ham, sinab ko'ring.Ishga kirishish va rivojlanish muhiti
Versiyalar haqida bir oz: Android-ning so'nggi versiyasi 4.2 (Jelly Bean), ammo ushbu jadvaldan ko'rinib turibdiki, u hali keng tarqalmagan. 4.0 (Ice Cream Sandwich) yoki 2.3 (Gingerbeard) versiyalaridan birida ishlab chiqishni boshlash yaxshidir, ayniqsa Android versiyalari orqaga qarab mos (yaʼni 2.3 versiyasi uchun kodingiz 4.2 da ishlaydi) va keyingi versiya uchun ishlab chiqilgan ilovalar. har doim ham eskisi ustida ishlamaydi. Bu erda ko'rsatilgan kod 4.0 va 2.3 versiyalarida ishlashi kerak.Rivojlanish muhitini olishning eng oson yo'li Android Bundle-ni o'rnatishdir, uni yuklab olishingiz mumkin. Bundan tashqari, sizga JDK 6 kerak bo'ladi (faqat JRE emas). Android gcj bilan mos kelmasligini unutmang. Agar siz allaqachon Eclipse yoki boshqa IDE dan foydalanayotgan bo'lsangiz, uni Android uchun sozlashga urinib ko'rishingiz mumkin. Buni qanday qilish tasvirlangan. Endi Eclipse yordamida yoki buyruq satridan Countdown deb nomlangan loyiha yarating. Men sozlamalarni BuildSDK 4.0.3 va minimal SDK 2.2 ga o'rnatdim va (Eclipse'da) BlankActivity shablonidan foydalandim.
Android uchun birinchi loyiham: interfeys
Android uchun bizning birinchi dasturimiz tugmani bosgandan keyin 10 soniyadan boshlab ortga hisoblashni ko'rsatadigan taymer bo'ladi. Kod yozishdan oldin biz interfeysni yaratishimiz kerak - foydalanuvchi dasturimizni ishga tushirganda nimani ko'radi. Siz res/layout/activity_countdown.xml ni ochishingiz va XML shablonini yaratishingiz kerak - Eclipse muharriri yoki matn/XML muharriridan foydalanib, quyidagilarni kiriting:Tabriklaymiz, siz hozirgina birinchi Android ilovangizni yaratdingiz. Ushbu kirishning ikkinchi qismida biz Android ilovasining tuzilishini batafsil ko'rib chiqamiz va dasturimizga ba'zi yaxshilanishlar kiritamiz: ortga hisoblash vaqtini kiritish, "To'xtatish" tugmasi va menyu. Biz uni emulyatorda emas, balki haqiqiy qurilmada ham ishga tushiramiz.
Android dasturlash - bu mobil qurilmalar sohasida qiziqarli ish. Kim smartfon yoki planshet uchun o'z o'yinini ishlab chiqishni, foydali dastur yozishni va EverNote va Angry Birds kabi loyihalar muvaffaqiyatini takrorlashni orzu qilmagan?
Noyob dasturlarni yaratish uchun sizga barcha ijodkorlik, aqliy hushyorlik va ijodiy yondashuv kerak bo'ladi. Siz ajoyib g'oyalar bilan to'lib-toshganmisiz? Android dasturlashni tanlab, siz tezda muvaffaqiyat va tan olinishga erishishingiz mumkin, ehtimol ITning boshqa sohalariga qaraganda tezroq.
Android ishlab chiqaruvchisi har doim o'z ishining natijalarini ko'radi, chunki har bir alohida dastur poydevordan tomgacha "g'isht bilan g'isht" qurilgan alohida loyihadir. Sizning kodingiz tufayli ilova yoki o'yin jonlanadi, ranglar va noyob xususiyatlarga ega bo'lib, sizning ijodingizni asarga aylantiradi. Android dasturchilari deyarli hech qanday chegaralar bilan cheklanmagan; ular xohlagancha yaratishlari mumkin. Android dasturchining asosiy maqsadi mashhur dastur yaratishdir. Buni qanday va qanday yo'l bilan qilishingiz faqat sizga bog'liq!
Android dasturchisi smartfon va planshetlar, shu jumladan o'yinlar uchun ilovalarni yaratadi, sinovdan o'tkazadi va qo'llab-quvvatlaydi.
Buning uchun siz Android uchun dasturlash tili - Java ni bilishingiz kerak. Siz til sintaksisini yaxshi bilishingiz va Java dasturlash muhitlari bilan ishlashingiz kerak. Rivojlanish muhitlari dastur yozishni osonlashtirish uchun mo'ljallangan maxsus interfeyslardir. O'rta darajadagi quyidagi qobiqlarni bilish kifoya: NetBeans, Eclipse, IntelliJ IDEA. Ammo Android Studio yoki Android SDK-ga e'tibor qaratgan ma'qul - Android uchun mo'ljallangan maxsus ishlab chiqish muhitlari.
Ingliz tilini bilish juda muhim, chunki Java yoki Android-ning so'nggi versiyalari uchun ko'plab qo'llanmalar shunchaki rus tiliga tarjima qilinmagan. Agar sizda ingliz tili bo'yicha texnik bilimingiz etarli bo'lmasa, bu muhim emas - rus tilidagi kurslar mavjud: "Android uchun dasturni qanday yozish kerak".
Ariza beruvchi Java-da keng qo'llaniladigan belgilash tili bo'lgan XML bo'yicha asosiy bilimga ega bo'lishi kerak. Bundan tashqari, Android dasturchisi mijoz va server o'rtasidagi aloqa tamoyillarini tushunishi kerak. Foydalanish qulayligi haqida unutmang - dastur qanchalik qulayligi ko'p jihatdan uning mashhurligini aniqlaydi. Yaxshi interfeys yaratish - bu doimo sayqallanishi kerak bo'lgan san'at.
Android dasturchisi operatsion tizimdagi so'nggi o'zgarishlardan xabardor bo'lishi kerak, chunki Android juda tez rivojlanmoqda va versiyalarni o'zgartirganda yangi OS xususiyatlari paydo bo'lishini kuzatmasangiz, tez orada sizning bilimlaringiz eskiradi.
Agar sizda aniq qo'shimcha ma'lumot bo'lsa, masalan, zaif signal veb-ilovaning ishlashiga qanday ta'sir qilishini tushunasiz, keyin ishga qabul qilish imkoniyatingiz ortadi. Biroq, Android dasturlarini ko'proq yoki kamroq jiddiy kompaniyada sinab ko'rgan va haqiqiy ish tajribasiga ega bo'lganlargina bunday ko'nikmalarga ega bo'lishlari mumkin. Biroq, yangilik yo'q: IT sohasidagi tajriba katta rol o'ynaydi.
Bugungi kunda Android dasturlash barcha darajadagi kompaniyalarda talabga ega. Yirik IT-studiyalar "oqimdagi" ilovalar va o'yinlarni yaratish bilan shug'ullanadi, shuning uchun ular doimo yangi xodimlarga muhtoj. Ammo karerangizni boshlash uchun siz kichik tashkilotlarning vakansiyalariga qarashingiz mumkin. Axir ular ham ilovalar yaratishga qiziqishadi. Misol uchun, onlayn-do'konlar yoki oziq-ovqat yetkazib berish xizmatlari ko'pincha o'zlarining Android ilovasiga ega.
Bundan tashqari, siz har doim o'z omadingizni sinab ko'rishingiz va bestsellerga aylanishi mumkin bo'lgan o'z arizangizni yozishga harakat qilishingiz mumkin, shunda siz uchun barcha yo'llar ochiq bo'ladi va bu qulay keksalik uchun etarli bo'lishi kerak :)
Ishlash uchun eng yaxshi joylardan ba'zilari banklar bo'ladi, bu erda siz mijoz ilovalarini qo'llab-quvvatlashingiz kerak bo'ladi. Bu mas'uliyatli va juda yaxshi maoshli ish bo'lib, uni faqat qattiq bilim va tajribaga ega bo'lsangizgina olish mumkin. Va agar siz Android uchun o'yin yaratishni bilsangiz, mobil o'yin sanoatiga yo'l siz uchun ochiq.
Android dasturchisining maoshi bevosita uning malakasi, ish tajribasi va suhbat natijalariga bog'liq. Moskvada o'rtacha hisobda siz quyidagi raqamlarga ishonishingiz mumkin:
- Boshlanishi: 56 000 rub.
- Mutaxassis: 108 000 rub.
- Guruh sardori: 134 000 rub.
Va bu miqdorlar chegaradan uzoqdir. Mutaxassis bo'lganingizda, oyiga 200 ming rublga ishonishingiz mumkin. Va agar siz o'z bo'limingizda etakchilik lavozimini egallay olsangiz, unda mukofot 300 mingga yaqinlashishi mumkin.
Android dasturlashni har tomonlama o'rganish kerak: bir vaqtning o'zida ilovalar yozishni o'rganing va operatsion tizimning o'zi funktsiyalari haqida bilib oling. Uning ochiqligi va moslashtirish moslashuvchanligi tufayli siz allaqachon OS arxitekturasi bo'yicha biroz tajriba va bilimga ega bo'lishingiz mumkin. Ammo Androidni ishlab chiqish chuqurroq ko'nikmalarni talab qiladi, shuning uchun sizga ijodiy energiyangizni izchil kod qatorlariga qanday yo'naltirishni o'rgatadigan kurslar kerak bo'ladi.
O'qish uchun joy sifatida maktabimiz tomonidan olib boriladigan Android dasturchi kurslarini tavsiya qilishimiz mumkin. Ularda siz to'g'ridan-to'g'ri ilovalar bilan ishlaysiz, shu bilan birga tegishli bilimlarga ega bo'lasiz: tarmoq protokollari, grafikalar bilan ishlash, fayl tizimi bilan ishlash va boshqa ko'plab foydali ko'nikmalar. Trening yakunida sizning qo'lingizda o'z arizangiz bo'ladi, uni portfelingizga qo'yishingiz mumkin.
Android uchun ishlab chiqishni qanday boshlash kerak
Androidni ishga tushirish - yangi boshlanuvchilar va ilg'orlar uchun Android qo'llanmasi
Turli mavzulardagi Telegram chatlarida bizga qo'shiling
Ushbu hujjatda siz hozir qaysi darslar ustida ishlayotganimni va keyingi darslar nima haqida bo'lishini ko'rishingiz mumkin
Android darslar
Agar siz yangi boshlovchi bo'lsangiz, unda darslar bilan o'rganishni boshlang. Ular sizga Androidni noldan o'rta darajagacha o'rganishga yordam beradi.
Treningni boshlang
Blog
Blogda turli SDKlar, APIlar, kutubxonalar, naqshlar va oddiygina qiziqarli holatlar haqida materiallar mavjud.
Blogga o'ting
Ilg'or ishlab chiquvchilar foydali va talab qilinadigan texnologiyalar va kutubxonalarni batafsil yoritib boradigan kurslarga qiziqishadi.
Arxitektura komponentlari
Ilovalar arxitekturasini yaratish uchun Googledan mexanizmlar to'plami.
Kursdan o'tish
Sinov
Har bir Android dasturchisi uchun foydali vosita. Ilovalaringizdagi xatolardan xalos bo'ling.
Kursdan o'tish
Xanjar 2
Dependency Injection naqshini amalga oshirishda ajoyib yordamchi. Bu sizning kodingizni toza qilishga va ob'ektlar orasidagi bog'liqlikni kamaytirishga yordam beradi.
Kursdan o'tish
Android dasturlash bo'yicha darslar
Mobil qurilmalarni dasturlash 1.0 Java platformasini qo'llab-quvvatlaydigan mobil telefonlarda ishlashga mo'ljallangan zamonaviy dasturlarni yaratishni o'rganishga yordam beradi. Mobil qurilmalarni dasturlash ilovasi har qanday turdagi telefonlar uchun dastur, shu jumladan ularni keyingi sotish uchun tijorat dasturlarini yaratishga yordam beradi. Ilova asosiy bilimlar bo'lmagan taqdirda ham qulay bo'ladi va dasturlarni yaratish uchun kerakli operatsiyalar va harakatlarni to'liq tushunishga yordam beradi.
Mobil qurilmani dasturlash xususiyatlari:
- Java (J2ME) yoki MIDletPascal tillarida dasturlashni o'rganish imkoniyati;
- har qanday turdagi dasturlarni, shu jumladan ofis, o'yin, multimedia (wav, midi yoki mp3-ni qo'llab-quvvatlaydigan), Internetda ishlash uchun, SMS va boshqa turlarni yuborishni qo'llab-quvvatlaydigan dasturlarni yaratish imkoniyati;
- yaratilgan dasturlarning imkoniyatlarini kengaytirish uchun qo'shimcha kutubxonalardan foydalanish imkoniyati;
- eng keng tarqalgan modellarning mobil telefon emulyatorlaridan foydalanish imkoniyati;
- kabel, infraqizil port, Bluetooth yoki WAP yordamida dasturlarni mobil telefonga yuklab olish, shuningdek ularni sinovdan o'tkazish va disk raskadrovka qilish imkoniyati;
- mobil kontentni yaratish qobiliyati: ringtonlar, Java o'yinlari va dasturlari, animatsiya, logotiplar va boshqalar;
- maxsus vositalar yordamida Java dasturlarini buzish usullarini o'rganish qobiliyati;
- maxsus vositalar yordamida dasturlarni xakerlikdan himoya qilishni o'rganish qobiliyati.
Afzalliklari:
- Java-da dasturlar yaratish asoslarini o'rganish qobiliyati;
- "RedBrowser" virusining tavsifini ko'rish;
- yaratilgan dasturlarni Internetda joylashtirish va sotish imkoniyati;
- mexanizmini o'rganish va SMS to'lov yordamida mustaqil ravishda yaratilgan dasturlarni sotish imkoniyati.
Kamchiliklari:
- har qanday besh oylik o'quv kurslarini olish uchun siz ularni ishlab chiquvchilarga to'lashingiz kerak (siz sinov darsini ko'rishingiz mumkin);
- Barcha kurslarga kirish uchun litsenziya talab qilinadi.
Shuningdek, dasturlarga qarang:
Paskal ABC
MobileJavaBookCreator
Barcha mobil telefonlar haqida
123D haykaltaroshlik
Kub
Men ishga metroda keta boshladim. Men hayron bo'ldim: yo'lda sevgan ishingiz bilan shug'ullanish mumkinmi? Bizda Android telefoni (etarlicha katta), Wi-Fi va qirq daqiqalik bo'sh vaqtimiz bor.
Barchaga ma'lum bo'lgan Google'da qidiruv ba'zi dalda beruvchi ma'lumotlarga ega bo'ldi. Ha, ular Android qurilmalarida va, xususan, metroda dasturlashadi. Afsuski, faqat planshetlarda. Asosiy muammo klaviatura ekanligi aniq. To'g'rirog'i, uning yo'qligi. Ekrandagilar, qoida tariqasida, yomon va Ctrl+C, Ctrl+V kombinatsiyasini bosishga ruxsat bermaydi - dasturchilarning asosiy kombinatsiyasi. O'n barmoq bilan teginishning etishmasligi haqiqiy dasturchini hech qachon to'xtatmagan (aslida ikkita barmoq etarli)
Lekin meni planshetlar emas, telefonlar qiziqtiradi!
Biroz qidiruvdan so'ng men quyidagi konfiguratsiyaga qaror qildim:
VimTouch VimTouch Full Runtime-ning qo'shimcha o'rnatilishini talab qiladi, men qachon boshlanishidan oldin yoki qachonligini eslay olmayman. O'ylaymanki, siz ikkala dasturni bir vaqtning o'zida yuklab olishingiz mumkin.
Hacker's Keyboard uchun siz rus tilidagi ruscha ruscha lug'at uchun plaginni o'rnatishingiz mumkin
SGit hech narsa talab qilmadi. Bu nima uchun kerakligini tushuntirishga hojat yo'q.
Albatta, ikkalasi uchun ham, uchinchisi uchun juda ko'p variantlar mavjud, ammo
Vim telefonda tahrirlash uchun eng qulay bo'lib tuyuldi. U odatda muharrir sifatida qulay. Boshqarish uchun tugmalar birikmasini qo'llab-quvvatlaydigan barcha muharrirlar telefon qutisida qoldirilgan. Bu erda Vim qoidalari! Men universal qurilmamni barcha qurilmalarim uchun ishlatganman.vimrc. Ishlar. Ushbu dastur Android uchun moslashtirilgan. Maxsus sozlanishi buyruq qatori va menyusi mavjud.
Faqatgina oddiy dasturlash klaviaturasini tanlash kerak edi, bu sizga barcha turdagi boshqaruv elementlari, alt va metalardan foydalanishga imkon beradi. Bozorda taqdim etilgan ko'pchilik orasida faqat bitta oddiy narsa bor edi: Hacker's Keyboard. Uning bitta kamchiligi bor - tugmalar juda kichik.
Tez navigatsiya
Yassi barmoqli dasturchilar dam olishmoqda.
Klaviaturada bir qator sozlamalar mavjud, siz maxsus tugmachalarni yoqishingiz va o'chirib qo'yishingiz mumkin. Eng ijobiy sozlamalardan biri - oltinchi qatorda maxsus belgilar to'plamidan foydalanish. Xususan, uzoq vaqt bosish boshqa rejimlarga o'tmasdan qo'shimcha belgilar to'plamini tanlash imkonini beradi. Hatto harakatlanish uchun o'qlar ham mavjud. Boshqa klaviaturalar to'g'ri joylashuvi bilan olib tashlandi. Meni g'azablantiradigan narsa bu ruscha/inglizcha slaydni bo'sh joy bilan almashtirish.
Ushbu uch komponentning kombinatsiyasi, xususan, metro vagonidan chiqmasdan, ushbu eslatmalarni yozish va nashr qilish imkonini beradi.
Android SDK platformasida dasturlash bo'yicha darslar dasturlashni noldan o'rganishni rejalashtirgan yangi boshlanuvchilar uchun ham, Android uchun ilovalar yaratadigan tajribali ishlab chiquvchilar va dasturchilar uchun ham to'plangan bo'limga xush kelibsiz.
Umuman olganda, mobil ilovalarni ishlab chiqish juda murakkab jarayon bo'lib, hujjatlarni sinchkovlik bilan o'rganish va barcha jarayonlarni sinchkovlik bilan tushunishni talab qiladi.
Android darslar
Bu o'z-o'zini o'rganish va Android SDK platformasini yoki shunga o'xshash narsalarni bosqichma-bosqich o'zlashtirish orqali dasturni qanday yaratishni tushunishga yordam beradi.
Agar siz Android dasturlarini yozish bo'yicha sayohatingizni endigina boshlayotgan bo'lsangiz, Android SDK da birinchi loyihangizni yaratishdan boshlashingiz kerak. Ushbu maqolada biz to'liq loyihani yaratish uchun nima kerakligini, to'liq ishlab chiqish muhitini joylashtirish uchun nimani yuklab olish va o'rnatish kerakligini batafsil ko'rib chiqamiz.
Ilovalarni yaratish jarayoni ADT yordamida Eclipse ilovasi orqali amalga oshirilishini ham tushunishingiz kerak, bu tegishli qo'llanmada yoritilgan.
Android OS uchun dasturlash
Android OS (Android) kitoblari va konfiguratsiya, boshqaruv va dasturlash bo'yicha adabiyotlar
Android (android) — smartfonlar, internet planshetlari, elektron kitoblar, raqamli pleyerlar, soatlar, oʻyin pristavkalari, netbuklar, televizorlar va boshqa qurilmalar uchun operatsion tizim. Linux yadrosi va Google'ning Java virtual mashinasini o'z tatbiq etishiga asoslangan. Android sizga Google tomonidan ishlab chiqilgan kutubxonalar orqali qurilmani boshqaradigan Java ilovalarini yaratish imkonini beradi. Android Native Development Kit C va boshqa tillarda yozilgan kutubxonalar va dastur komponentlarini portlash imkonini beradi. 2014 yilning ikkinchi choragida sotilgan smartfonlarning 86 foizida Android operatsion tizimi o‘rnatilgan. Shu bilan birga, 2014 yil davomida 1 milliarddan ortiq Android qurilmalari sotilgan. Siz ushbu sahifada ishlab chiquvchilar va foydalanuvchilar uchun boshqaruv va dasturlashni o'rgatish bo'yicha kitoblar, qo'llanmalar va adabiyotlarni mutlaqo bepul ko'rishingiz va yuklab olishingiz mumkin.
Kechirasiz, bu boʻlim qurilmoqda. Sizda SQL sintaksisida xatolik bor; "1-qatorda" yaqinida foydalanish uchun to'g'ri sintaksis uchun MySQL server versiyasiga mos keladigan qo'llanmani tekshiring
Har qanday biznesda eng qiyin narsa bu boshlanishi. Ko'pincha kontekstga kirish qiyin, men birinchi Android ilovamni ishlab chiqishga qaror qilganimda duch keldim. Ushbu maqola boshlamoqchi bo'lganlar uchun, lekin qaerdan bilmayman.
Maqola dasturni ishlab chiqishning butun tsiklini qamrab oladi. Birgalikda biz bitta ekranli oddiy Tic-Tac-Toe o'yinini yozamiz (Android OS da bu Faoliyat deb ataladi).
Java-ni ishlab chiqish tajribasining etishmasligi Android-ni o'zlashtirishga to'sqinlik qilmasligi kerak. Shunday qilib, misollar Java-ga xos konstruksiyalardan foydalanmaydi (yoki ular imkon qadar minimallashtiriladi). Agar siz, masalan, PHP yozsangiz va dasturiy ta'minotni ishlab chiqishning asosiy tamoyillari bilan tanish bo'lsangiz, ushbu maqola siz uchun eng foydali bo'ladi. O'z navbatida, men Java-ni ishlab chiqish bo'yicha mutaxassis emasligim sababli, manba kodi "Java-ni rivojlantirish bo'yicha eng yaxshi amaliyotlar" yorlig'iga mos kelmaydi deb taxmin qilish mumkin.
Kerakli dasturlar va yordamchi dasturlarni o'rnatish
Men kerakli vositalarni sanab o'taman. Ulardan 3 tasi bor:
- Android ishlab chiqishni qo'llab-quvvatlaydigan IDE:
- Eclipse + ADT plagini;
- IntelliJ IDEA Community Edition;
- Netbeans + nbandroid plagini;
Utilitlar yuqorida ko'rsatilgan tartibda o'rnatiladi. Ro'yxatdagi barcha IDE-larni o'rnatishning ma'nosi yo'q (agar siz to'g'ri tanlashda qiynalmasa). Men IntelliJ IDEA Community Edition-dan foydalanaman, bugungi kunda Java uchun eng ilg'or IDE-lardan biri.
Virtual qurilma ishga tushirilmoqda
AVD Manager-ni ishga tushirib, qo'shimcha paketlarni (turli xil versiyalarning SDK) o'rnatib, kerakli parametrlarga ega virtual qurilmani yaratishni boshlashingiz mumkin. Interfeysni tushunish qiyin bo'lmasligi kerak.Qurilmalar ro'yxati
Loyiha yaratish
Men har doim ishga kirishishni xohlayman, tayyorgarlik tadbirlarini minimallashtirib, IDEda loyiha yaratishni o'z ichiga oladi, ayniqsa, loyiha ta'limga oid bo'lsa va ishlab chiqarish niyatida emas.Shunday qilib, Fayl->Yangi loyiha:
F6 tugmachasini bosish orqali loyiha yig'iladi, kompilyatsiya qilinadi va virtual qurilmada ishga tushiriladi.
Loyiha tuzilishi
Oldingi skrinshotda loyihaning tuzilishi ko'rsatilgan. Ushbu maqolada biz faqat amaliy maqsadlarni ko'zlaganimiz sababli, biz faqat ish jarayonida foydalanadigan papkalarga e'tibor qaratamiz. Bular quyidagi kataloglar: gen, res Va src.Jildda gen loyiha qurilganda avtomatik ravishda yaratiladigan fayllar mavjud. Siz ularni qo'lda o'zgartira olmaysiz.
Res papkasi rasmlar, matnlar (shu jumladan tarjimalar), standart qiymatlar, tartiblar kabi resurslarni saqlash uchun mo'ljallangan.
src- bu ishning asosiy qismi bo'lib o'tadigan papka, chunki bu erda bizning dasturimizning manba kodi bo'lgan fayllar saqlanadi.
Birinchi qatorlar
Faoliyat (ilova ekrani) yaratilishi bilan onCreate() usuli chaqiriladi. IDE uni 2 qator bilan to'ldirdi:
super.onCreate(savedInstanceState); setContentView(R.layout.main);
setContentView usuli (this.setContentView ga ekvivalent) joriy ekran uchun xml tartibini o'rnatadi. Quyida biz xml maketlarini “layout” va ekranlarni “Faoliyat” deb ataymiz. Ilovadagi tartib quyidagicha bo'ladi:
TableLayout ushbu ilova uchun ideal. Id har qanday resursga tayinlanishi mumkin. Bunday holda, TableLayout id = main_l bilan belgilanadi. findViewById() usulidan foydalanib, ko'rinishga kirishingiz mumkin:
xususiy TableLayout tartibi; // bu KrestikinolikiActivity sinfining umumiy xususiyatidir void onCreate(Bundle savedInstanceState) ( super.onCreate(savedInstanceState); setContentView(R.layout.main); layout = (TableLayout) findViewById(R.id.main_l); buildGameField );)
Endi biz buildGameField() usulini amalga oshirishimiz kerak. Buning uchun matritsa shaklida maydon hosil qilish kerak. Buni O'yin sinfi amalga oshiradi. Avval hujayralar uchun Square sinfini va ob'ektlari bu kataklarni to'ldiradigan Player sinfini yaratishingiz kerak.
Square.java
com.example paketi; umumiy sinf Kvadrat ( xususiy oʻyinchi oʻyinchisi = null; ommaviy boʻshliqni toʻldirish(Player oʻyinchisi) ( this.player = oʻyinchi; ) ommaviy boolean isFilled() ( if (oʻyinchi != null) ( true; ) qaytarilishi false; ) ommaviy oʻyinchi getPlayer () (o'yinchini qaytarish; ) )Player.java
com.example paketi; umumiy toifadagi o'yinchi ( xususiy String nomi; umumiy o'yinchi(String nomi) ( this.name = name; ) public CharSequence getName() ( qaytish (CharSequence) nomi; ) )Ilovamizning barcha sinflari src papkasida joylashgan.
Game.java
com.example paketi; ommaviy sinf Oʻyin ( /** * maydon */ xususiy kvadrat maydoni; /** * Konstruktor * */ umumiy oʻyin() ( maydon = yangi kvadrat; squareCount = 0; // (int i = 0, l) uchun maydonni toʻldirish = maydon.uzunlik;iKrestikinolikiActivity konstruktorida o'yinni ishga tushirish.
public KrestikinolikiActivity() (oʻyin = new Game(); game.start(); // keyinroq amalga oshiriladi)
KrestikinolikiActivity sinfining buildGameField() usuli. U jadvalga (o'yin maydoni) dinamik ravishda qatorlar va ustunlarni qo'shadi:
xususiy tugma tugmalari = yangi tugma; //(....) xususiy void buildGameField() ( Kvadrat maydon = game.getField(); uchun (int i = 0, lenI = field.length; i)
8-qator View.OnClickListener interfeysini amalga oshiradigan ob'ektni yaratadi. Keling, o'rnatilgan Listener sinfini yarataylik. U faqat KrestikinolikiActivity orqali ko'rinadi.
public class Listener View.OnClickListener ( private int x = 0; private int y = 0; public Listener(int x, int y) ( this.x = x; this.y = y; ) public void onClick(View view) ni amalga oshiradi. ( Tugma tugmasi = (tugma) ko'rinishi; ) )
O'yin mantig'ini amalga oshirish uchun qoladi.
ommaviy toifali Oʻyin ( /** * oʻyinchilar */ shaxsiy oʻyinchi oʻyinchilari; /** * maydon */ xususiy kvadrat maydoni; /** * oʻyin boshlandimi? */ shaxsiy mantiqiy boshlandi; /** * joriy oʻyinchi */ xususiy ActivePlayer o'yinchisi; /** * To'ldirilgan katakchalar sonini hisoblaydi */ shaxsiy int to'ldirilgan; /** * Jami katakchalar */ private int squareCount; /** * Konstruktor * */ public Game() (maydon = new Square; squareCount = 0; // maydonni to'ldirish (int i = 0, l = maydon.uzunlik; i
G'olibni aniqlash
K.O. tic-tac-toe bo'yicha g'olib X yoki O ni vertikal yoki gorizontal yoki diagonal bo'ylab maydon uzunligiga teng bo'lgan chiziqqa qo'ygan kishi g'olib deb hisoblaydi. Aqlga keladigan birinchi fikr har bir holat uchun usullarni yozishdir. Menimcha, bu holatda mas'uliyat zanjiri yaxshi ishlaydi. Keling, interfeysni aniqlaylikcom.example paketi; umumiy interfeys WinnerCheckerInterface ( umumiy o'yinchi checkWinner(); )
O'yin g'olibni aniqlash uchun javobgar bo'lganligi sababli, u ushbu interfeysni amalga oshiradi. Virtual "laynsmenlar"ni yaratish vaqti keldi, ularning har biri o'z tomonini tekshiradi. Ularning barchasi WinnerCheckerInterface interfeysini amalga oshiradi.
WinnerCheckerHorizontal.java
com.example paketi; public class WinnerCheckerHorizontal WinnerCheckerInterface ( xususiy O'yin o'yini; ommaviy WinnerCheckerHorizontal(O'yin o'yini) ( this.game = o'yin; ) ommaviy Player checkWinner() ( Kvadrat maydon = game.getField(); O'yinchi currPlayer; O'yinchi lastPlayer = null; (int uchun) i = 0, len = maydon.uzunlik;iWinnerCheckerVertical.java
com.example paketi; umumiy sinf WinnerCheckerVertical WinnerCheckerInterface ( xususiy O'yin o'yini; ommaviy WinnerCheckerVertical (O'yin o'yini) ( this.game = o'yin; ) ommaviy O'yinchi checkWinner() ( Kvadrat maydon = game.getField(); O'yinchi currPlayer; O'yinchi lastPlayer = null; (int uchun) i = 0, len = maydon.uzunlik;iWinnerCheckerDiagonalLeft.java
com.example paketi; public class WinnerCheckerDiagonalLeft WinnerCheckerInterface ( xususiy Game game; public WinnerCheckerDiagonalLeft(Game game) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer; Player lastPlayer = muvaffaqiyat soni = int; 1; uchun (int i = 0, len = maydon.uzunlik; iWinnerCheckerDiagonalRight.java
com.example paketi; public class WinnerCheckerDiagonalRight amalga oshiradi WinnerCheckerInterface ( xususiy Game game; public WinnerCheckerDiagonalRight(Game game) ( this.game = game; ) public Player checkWinner() ( Square field = game.getField(); Player currPlayer; Player lastPlayer = muvaffaqiyat soni = int; 1; uchun (int i = 0, len = maydon.uzunlik; iKeling, ularni O'yin konstruktorida ishga tushiramiz:
//(....) /** * "Hakamlar" =). Har bir harakatdan so'ng ular * g'olib bor yoki yo'qligini tekshirishadi */ shaxsiy WinnerCheckerInterface winnerCheckers; //(....) public Game() ( //(....) winnerCheckers = yangi WinnerCheckerInterfeys; winnerCheckers = new WinnerCheckerHorizontal(bu); winnerCheckers = new WinnerCheckerVertical(bu); winnerCheckers = yangi WinnerCheckerDiagonalLeft(this); winnerCheckers = yangi WinnerCheckerDiagonalRight(bu); //(....) )
checkWinner() ni amalga oshirish:
public Player checkWinner() ((WinnerCheckerInterface winChecker: winnerCheckers) uchun ( O'yinchi g'olibi = winChecker.checkWinner(); agar (g'olib != null) ( g'olibni qaytaradi; ) ) nullni qaytaradi; )
Biz har bir harakatdan keyin g'olibni tekshiramiz. Listener sinfining onClick() usuliga kod qo'shamiz
public void onClick(View view) ( Tugma tugmasi = (tugmacha) koʻrinishi; Oʻyin g = oʻyin; Player player = g.getCurrentActivePlayer(); if (makeTurn(x, y)) ( button.setText(player.getName()) ; ) O'yinchi g'olibi = g.checkWinner(); if (g'olib != null) ( gameOver(g'olib); ) if (g.isFieldFilled()) ( // agar maydon to'ldirilgan bo'lsa gameOver(); ) )
GameOver() usuli 2 variantda amalga oshiriladi:
private void gameOver(Player player) ( CharSequence text = "Player \"" + player.getName() + "\" yutdi!"; Toast.makeText(bu, matn, Toast.LENGTH_SHORT).show(); game.reset (); refresh(); ) private void gameOver() ( CharSequence text = "Chizish"; Toast.makeText(bu, matn, Toast.LENGTH_SHORT).show(); game.reset(); refresh(); )
Java uchun gameOver(Player player) va gameOver() turli usullardir. Builder Toast.makeText-dan foydalanib, siz tezda bildirishnoma yaratishingiz va ko'rsatishingiz mumkin. refresh() maydon holatini yangilaydi:
private void refresh() ( Kvadrat maydon = game.getField(); for (int i = 0, len = field.length; i)
Tayyor! Umid qilamanki, ushbu maqola sizga Androidni rivojlantirish dunyosida qulay bo'lishingizga yordam berdi. E'tiboringiz uchun tashakkur!
Tugallangan dasturning video