Яратилган иловаларни текшириб кўриш учун бизга компьютерга уланган смартфон керак бўлади. Лекин доим ҳам бизда бундай шароит бўлавермайди. Шунинг учун Android Studio дастурлаш муҳити бизга виртуал қўрилма яратиб олиш имконини берган. Виртуал қурилма бизга дастур лойиҳасини текшириб кўриш имконини беради. Бу виртуал қурилмани биз Android Virtual Device, яъни қисқа қилиб AVD деб юритамиз Бу Android тизими асосида ишлайдиган смартфонларнинг эмулятори ҳисобланади

Эмуляторни яратиш учун биз Android Studio дастур муҳитида битта кичкинагина илова яратишимиз керак бўлади Шунинг учун аввал биринчи иловани яратишни ўрганамиз

Илова яратиш учун биз Android Studio да лойиҳа яратишимиз керак бўлади. Лойиҳа яратиш жараёнида унинг таркибида модул яратилади. Бу модулда биз илова экрани ва дастур кодини ёзамиз ва бу модулни ишга юклаш орқали иловага эга бўламиз. Шу сабабли, модулни илованинг дастлабки коди лойихани эса контейнер, яъни модулни таркибида сақловчи сифатида қабул қиламиз.

Оддий қилиб тушунтирсак, лойиха тузилиши қуйидагича бўлади:

Модуль

Бу холатда битта лойихада битта модул борлиги кўриниб турибди. Лекин, битта лойихада бир нечта модул бўлиши ҳам мумкин

Бу ерда биринчи лойиҳада иккита модул, иккинчи лойиҳада эса учта модул борлиги кўриниб турибди Лойиҳани ишга туширган вақтда айнан қайси модулни юклаш кераклиги кўрсатилади ва бу модул битта алохида илова ҳисобланади. Демак, битта лойиҳада бир нечта Android илова яратилар экан!

Ҳозир қайси усул яхшилигини таъкидлаб ўтирмаймиз. Сизга қайси қулай бўлса шуни қилишингиз мумкин, яъни ҳар бир модул учун биттадан лойиха, ҳамма модул учун битта лойиҳа ёки бир қанча модул учун битта лойиҳа. Буни ўзингиз хал қилинг!

Мен эса, startandroid.ru сайти муаллифининг фикрини қўллаган ҳолда, барча модулларни битта лойиҳада яратишни танлайман.

Android Studio ни ишга туширамиз. Дастурни ишга юклаш учун бош менюда унинг нишони ўрнатилган вақтда хосил қилинган бўлади. Агар бундай бўлмаса, Сиз дастурни олдинги дарсимизда кўрсатилган папканинг bin номли папкасида топишингиз мумкин. У ерда studio.exe ёки 64 разрядли Windows бўлса studio64.exe файли мавжуд бўлади.

Дастурлаш муҳити очилди. Бу ердан Start a new Android Studio project ни танлаймиз.

Лойихани яратиш ойнаси очилди. Ўзимизга керакли майдонларни тўлдирамиз

Бу ерда:

  • Application name - лойиханинг номи. Бу ном Android Studio муҳити очилганда лойихалар рўйхатида кўрсатиб турилади Бу ерга Android darslar(Android lessons) деб ёзамиз
  • Company Domain - сайт номи. Бу ерга сайт номини киритамиз, мисол учун менда бу - murodjon.uz
  • Package name - пакет номи. Бу ном Java дастурлаш тилининг тушунчаси. Бу ҳақида батафсил мана бу манзил ёки ушбу манзилдан билиб олишингиз мумкин
  • Мен эса ўзим тушунганимча қисқароқ қилиб айтиб бераман.

    Пакетлар кўп бўлса уларни битта папкада ушлаб туриш мумкин эмас. Баъзан катта дастурларда пакетлар минглаб, ҳатто, ўн минглаб яратилади. Уларни битта папкада сақлаш пакетдан фойдаланувчига ноқулайликлар олиб келади. Шунинг учун каталоглаштириш механизми ишлаб чиқилган ва бу Java га ҳам алоқадор. Java дастурлаш тилидан фойдалангандан физик синф элементи алохида папкада сақланади. Унинг структураси қуйидаги қоидага бўйсунади. Масалан, ишлаб чиқиладиган махсулот бирор тижорат ташкилотиники бўлса, унинг дастулабки каталоги com билан белгиланади. Ундан сўнг ташкилот номи, масалан, ChinorElegant, сўнгра эса лойиха номи келади. Бизнинг мисолимизда: uz - Ўзбекистон сайти, murodjon - сайт учун олган ном ва androiddarslar - лойиха номи.

    Эътибор берган бўлсангиз, лойиха номида олдинги берилган ном пробел белгиси билан ажратиб, бош ҳарфлар билан ёзилди. Кейинги ном эса пробел қўйилмасдан, кичик ҳарфлар билан ёзилди. Шунга албатта эътибор беришингизни сўрайман. Агар ёзилган ном нотўғри бўлса, юқоридаги расмда кўрсатилган ойна қуйидаги кўринишда бўлади:

    Хатоликлар қизил хошия билан ажратиб кўрсатилмоқда

  • Project location - лойиҳанинг барча файллари сақланадиган жой. Барча лойиҳалар алоҳида папкада бўлишлиги учун мен уни D:\AndroidStudioProjects\Androiddarslar кўринишида белгиладим

Юқорида келтирилган маълумотлар ҳозирча Сиз учун тушунарли бўлмаган бўлса, бундан хавотир олманг. Дарсларимиз давомида булар нимага кераклигини жуда яхши тушуниб оласиз.

Энди дарсни давом эттирамиз, яъни ойнадан Next тугмасини босамиз

Бу ойна қайси платформада код ёзишимизни ва Minimum SDKни сўрайди. Ҳозирча барчаси қандай бўлса шундайлигича қолдирамиз.

Next тугмасини босамиз

Ойна ўзига керакли компонентларни юклаб олиши мумкин(одатда биринчи юклашда шундай бўлади).

Хосил бўлган ойнадан Empty Activityни танлаймиз.

Next тугмасини босамиз. Хосил бўлган ойнада хеч нарсани ўзгартирмаймиз. Чунки ҳозирча булар ўзи нима эканлигини билмаймиз

Finish тугмасини босамиз. Лойиҳа яратиляпти.

Android Studio очилди. Дастлаб у Сизга маслахатлар ойнасини кўрсатиши мумкин. Агар у Сизга керак бўлмаса байроқча(Checkbox) белгисини олиб ташланг ва Close тугмасини босинг

Дастур муҳити остки қисмида жараённи кўрсатиб турувчи майдон бор. Агар у кўриниб турган бўлса, демак қандайдир жараён амалга оширилмоқда ва кутиб туриш талаб этилади.

Ва ниҳоят лойиҳа очилди.

Шу оннинг ўзидаёқ тахрирлаш учун бир қанча файллар бериляпти. Уларга ҳозирча хеч қандай ўзгартиришлар киритмаймиз.

Дастур муҳити ойнасининг чап қисмида app сўзини кўриб турибмиз. Бу модул ҳисобланади Ўзгаришсиз қабул қилинганда (default, по умолчанию) лойиҳа яратиш жараёнида app модули хосил бўлади. Бу албатта қизиқ, лекин унга ҳозирча эътибор қаратмаймиз ва ўзимизнинг модулимизни яратамиз. Айтиб ўтишим керак, биз ҳозирча app модулини ишлатмасак ҳам уни ўчириб юборишни Сизга маслахат бермаган бўлардим. Чунки, биз лойиҳани яратиш чоғимизда айнан шу модулга боғлиқ холатлар мавжуд бўлиши муқаррар(!). (Яна билмадим!)

Шундай қилиб лойиҳа яратилди. Энди шу лойиҳа таркибида ўзимизнинг модулимизни яратамиз. Яна бир марта такрорлаб ўтамиз, келгусида ҳар бир дарсимиз учун яратиладиган модул айнан шу лойиҳа таркибида бўлади. Модул яратиш ҳам лойиҳа яратиш билан деярли бир хил кўринишда бўлади.

Модул яратиш учун File менюсидан New, ундан NewModule ни танлаймиз(кейинчалик File->New->New Module тарзида берамиз).

Хосил бўлган ойнадан модул типини танлаймиз: Phone & Tablet Application

Next тугмасини босамиз ва юқоридаги ойна каби керакли майдонларни тўлдирамиз

Application/Library name - смарфоннинг иловалари рўйхатида кўринувчи илова номи.

Module name - бу модулнинг номи. Бу лойиҳанинг чап томонида кўринувчи рўйхатда акс этади (app каби). Модул номини киритишда кейинчалик осон топиш учун startandroid.ru сайтида чоп этилган мақола муаллифининг андозасидан фойдаланамиз. Андозага кўра, модул номини белгилаш учун p<дарс номери(000)><лойиха номери(0)> дан фойдаланамиз Масалан, бизнинг биринчи иловамиз бўлгани учун уни қуйидагича белгилаймиз: p0031firstproject. Бунда p - лойиҳа, 003 - 3-дарс, 1 эса дарсдаги биринчи модул.

Package name - пакет номи. Уни тахрирлаш учун майдон тўғрисидаги Edit (Ҳозир у бизнинг расмда Done кўринишида турибди) га чертамиз ва firstproject нинг олдига p0031 ни киритиб қўямиз

Minimum SDK - ўзгаришсиз қолдирилади ва Next тугмасини босамиз.

Навбатдаги ойнадан Empty Activityни танлаймиз ва Next тугмасини босамиз.

Бу ерда ҳеч нарсани ўзгартирмаймиз

Finish тугмасини босамиз ва кутамиз.

Бир оз муддатдан сўнг модул яратилади ва биз уни лойиҳанинг чап томонидаги рўйхатда кўришимиз мумкин. Рўйхатдаги p0031firstproject - биз яратга янги модул номи.

Бу модулни очиб, таркибини кўришимиз мумкин. Қисқача қилиб танишиб чиқадиган бўлсак, модулдаги AndroidManifest.xml файли дастур манифести ёки илованинг конфигурацияси. java ва унинг таркибидаги бошқа папкаларда бизнинг илова учун ёзилган барча кодлар жойлашади. res - папкасида турли типдаги файл-ресурслар жойлашган бўлади.

Буларнинг барчаси билан дарслар давомида тўлиқ тушунчаларга эга бўлиб борамиз.

Энди дастурни ишга тушириб кўрамиз. Бунинг учун бизга мос модул керак бўлади. Уни юқоридаги рўйхатдан танлаймиз.

Керакли модулни танлагандан кейин, бироз ўнгроқда жойлашган яшил учбурчак тугмани ёки клавиатурадан Shift+F10 тугмалар комбинациясини босамиз.

Олдин таъкидлаганимиздек, бизга реал Android қурилма ёки эмулятор керак бўлади.

Ҳозирча биз дастурни ишга юклай олмаймиз, чунки бизнинг рўйхатда хеч қандай қурилма йўқ. Шу холатда бирор Android қурилмани USB орқали улаш мумкин ва у рўйхатда пайдо бўлади (Албатта драйвер ёки созламаларда муаммолар бўлмаса).

Ёки янги эмулятор яратишимиз мумкин. Бунинг учун Create New Virtual Device тугмасини босамиз.

Бу ердан форм-фактор қурилмани танлаш мумкин. Ўз холатича қолдирамиз ва Next тугмасини босамиз.

Кейин x86 Images вкладкасига ўтиб у ердан Download сўзи бўлмаган образни танлаймиз, чунки у юклаб бўлинган бўлади ва ундан фойдаланишимиз мумкин.

Ҳозирги холатда бизда Android нинг 7.1.1 версияси ўрнатилган бўлиб, ундан фойдаланиш мумкин. Агар Сизга бошқа версия керак бўлса, у холда уни юклаб олишингиз мумкин. Next тугмасини босамиз.

Кейинги қадамда биздан Эмуляторга ном беришни ва унинг созламаларини тўғрилашни талаб қилади. Барчасини қандай бўлса, шундайлигича қолдирамиз.

Finish тугмасини босамиз. Натижада олдинги ойнада янги яратилган эмуляторнинг номи пайдо бўлди. Энди ундан фойдаланиш мумкин.

Эмуляторни танлаб OK тугмасини босамиз

Бир қанча вақтдан сўнг(орадан дақиқалар ўтиши мумкин) эмулятор экранингизда пайдо бўлади

Кўриб турганимиздек, экранда эмулятор ишга тушади, ундан сўнг унинг ойнасида Android тизими юкланади ва охирида бизнинг илова дастуримиз кўринади.

Сарлавҳада First Project деган ёзув турибди. Айнан шу ёзувни биз модул яратиш вақтида кўрсатган эдик. Хуллас, агар шу ергача мувафақиятли келган бўлсангиз, у холда Сиз биринчи Android иловангизни ишга туширган бўласиз ва бунинг учун Сизни табриклаймиз.

Насиб қилса ҳали олдимизда юзлаб бундай иловаларни ишга юклаш турибди ва биз бунга албатта эришамиз дея умид қиламан.

Агар эмулятор Сизнинг иловангизни кўрсатмаган бўлса, у холда Android Studio бу эмуляторни кўряптими ёки йўқ - буни текширинг. Бунинг учун дастур муҳитининг қуйи қисмида жойлашган Android Monitor ни чертинг.

Агар эмулятор рўйхатда мавжуд бўлсаю, иловангиз кўринмаган бўлса, у ҳолда яна бир марта shift+F10 тугмалар комбинациясини ишга туширинг.

Агар эмулятор рўйхатда бўлмаса, у холда эмуляторни ёпинг ва бошқатдан ишга юкланг.

Огоҳлантириб қўйиш керак, дарсларда келтирилган скриншотлар баъзи ўринларда бир-биридан фарқ қилиб қолиши мумкин. Масалан, 2.3.3 га ёзилган код. Ҳозир эса биз 7.1.1 ни кўриб ўтдик. Янги версияларда янги компонентлар қўшилиб боради. Эскилари эса одатда ўз холича қолади. Ўзгаришлар етарли даражада кам бўлади ва бу ҳақида албатта эскирган компонент сифатида эълон қилинади

P.S.

Сизда лойиха очилган бўлса, Android Studio дастур муҳити кейинги ташрифингизда шу лойихани очиб беради. Агар Сиз янги ўрнатилганда кўринган старт ойнасини кўришни хохласангиз у холда File->Close Project буйруқлар кетма кетлигини амалга оширишингиз керак Шунингдек, фойдаланувчи номини крилл харфлари билан берманг, бу албатта кейинчалик Сизга муаммо келтириб чиқаради.

P.S.S.

 

Кейинги дарсимизда иловамизга турли элементлар ўрнатиш ва уларнинг хусусиятларини ўзгартиришни ўрганамиз