- შეიტყობთ პროგრამირების შესახებ ორიენტირებულ ღონისძიებებზე
- გაიგებთ MIT App Inventor პლატფორმის სხვადასხვა ტიპის ბლოკების შესახებ
აქტივობები ამ გაკვეთილისთვის:
ᲦᲝᲜᲘᲡᲫᲘᲔᲑᲔᲑᲘ
მობილური აპლიკაციები დაფუძნებულია მოვლენებზე ორიენტირებულ პროგრამირებაზე.
მოვლენებზე ორიენტირებული პროგრამირება ეფუძნება მოვლენებს და არა კოდის გაშვებას ზემოდან ქვემოთ. ზოგიერთი პროგრამა უბრალოდ ასრულებს ყველა კოდს ერთდროულად, მაგრამ მობილური აპლიკაციები მუშაობს იმის მიხედვით, თუ როგორ ურთიერთქმედებს მომხმარებელი მასთან.
მობილური აპლიკაციები მუშაობა მოვლენებზეა დაფუძნებული , რაც კოდის გასაშვებად ხდება. მაგალითად, როდესაც მომხმარებელი აჭერს ღილაკს, მოვლენა ხდება დაწკაპუნებისას, რაც, საბოლოოდ, იწვევს კოდის გაშვებას. ამას მოვლენის დამმუშავებელი (event handler) ეწოდება .
ᲒᲐᲩᲔᲠᲓᲘ ᲓᲐ ᲒᲐᲜᲘᲮᲘᲚᲔ
შეგიძლიათ იფიქროთ ტელეფონთან ურთიერთობის რამდენიმე ხერხზე? რას აკეთებს თქვენი ტელეფონი? გაეცანით რამდენიმე მაგალითს:
- როდესაც აწკაპუნებთ აპის აიქონზე, აპი იხსნება.
- როდესაც აჭერთ ტექსტური შეტყობინების "გაგზავნას" , ის აგზავნის შეტყობინებას და გამოსცემს ხმას.
- აპლიკაციაში შესვლილას აპიპაროლს ითხოვს.
მოდით დავიწყოთ დავიწყოთ App Inventor-ის სხვადასხვა ნაწილის გადახედვით.
App Inventor აქვს ორი ფანჯარა რომელიც გამოიყენება აპლიკაციის შესაქმნელად. დიზაინერის ღილაკზე დაწკაპუნებით (ეკრანის ზედა მარჯვენა მხარეს) გადადიხართ დიზაინერულ ნაწილზე , სადაც შეიმუშავებთ მომხმარებლის ინტერფეისს. თქვენს აპლიკაციაში, მომხმარებლის ინტერფეისი მოიცავს ყველაფერს, რომლებთანაც მომხმარებელს შეუძლია ურთიერთობა. ეს შეიძლება იყოს ღილაკები, ნავიგაციის ზოლები, ტექსტური ყუთები, სურათები და ა.შ.
APP INVENTOR-ის ᲓᲘᲖᲐᲘᲜᲔᲠᲘᲡ ᲤᲐᲜᲯᲐᲠᲐ
პალიტრა
თქვენ ირჩევთ კომპონენტებს პალიტრიდან დასამატებლად Viewer-ში, რომელიც ფანჯრის შუაშია. არსებობს კომპონენტების რამდენიმე უჯრა შესასწავლად და გამოსაყენებლად.
მაყურებელი
თქვენ გადაიტანეთ თქვენი კომპონენტები Viewer-ზე . კომპონენტები ემატება ზემოდან ქვემოთ, მარცხნივ. თქვენ უნდა გამოიყენოთ Layout კომპონენტები და გასწორება, რათა მეტი კონტროლი მიიღოთ ზუსტად იმაზე, თუ სად გამოჩნდება თქვენი კომპონენტები.
კომპონენტების სია
ეს სია გაძლევთ თქვენს ეკრანზე არსებული ელემენტების მემკვიდრეობით სიას. თქვენ შეგიძლიათ აირჩიოთ ისინი Viewer-ში ან ამ სიაში მათზე დაწკაპუნებით.
თვისებების პანელი
თვისებების პანელი საშუალებას გაძლევთ დააყენოთ თვისებები თითოეული კომპონენტისთვის, როგორიცაა შრიფტის ზომა, გასწორება, ფერი და ა.შ.
უხილავი კომპონენტები
უხილავი კომპონენტები არ გამოჩნდება ეკრანზე, მაგრამ მაინც აპის ნაწილია. ისინი ჩნდება ეკრანის ქვემოთ, როდესაც გადაათრევთ და ჩამოაგდებთ მათ.
როდესაც ვინმე იყენებს თქვენს აპს, ის ურთიერთქმედებს თქვენს მომხმარებლის ინტერფეისთან, ღილაკებზე დაწკაპუნებით, ტექსტის შეყვანით და ა.შ. თქვენი გადასაწყვეტია, რა უნდა გააკეთოს აპმა და დააპროგრამოთ ის ამ მოქმედებების შესასრულებლად.
ბლოკური ედითორი
„Blocks“-ზე დაჭერით გადადიხართ ბლოკური ედითორის ფანჯარაში, სადაც კეთდება კოდირება. ბლოკები გადაგაქვთ მარცხენა პანელიდან სამუშაო სივრცის ეკრანის ცენტრში.
მარცხნივ იპოვით ბლოკებს, რომლებიც შეგიძლიათ გადაიტანოთ სამუშაო სივრცეში. ისინი არიან კატეგორიებში/უჯრებში, როგორიცაა Control და Logic.
მაყურებელი
ეს არის თქვენი სამუშაო ადგილი, სადაც გადაიტანეთ ყველა თქვენი ბლოკი. შეგიძლიათ გადაიტანოთ ისინი, მიამაგროთ ისინი ერთმანეთში. თქვენ ასევე შეგიძლიათ წაშალოთ ნებისმიერი ბლოკი, რომელიც არ გჭირდებათ.
კომპონენტის ბლოკები
თქვენს აპლიკაციაში თითოეულ კომპონენტს აქვს ბლოკების საკუთარი ნაკრები. თქვენ დააწკაპუნებთ კომპონენტზე, რათა აჩვენოთ ბლოკები, რომლებიც შეგიძლიათ გადაიტანოთ სამუშაო სივრცეში.
მოვლენის ᲓᲐᲛᲛᲣᲨᲐᲕᲔᲑᲚᲔᲑᲘ
მოვლენის დამმუშავებელი ბლოკები App Inventor-ში არის ოქროს ფერი და აქვს ღია ბლოკის ფორმა, ასე რომ თქვენ შეგიძლიათ მის შიგნით ბლოკები ჩაამატოთ. ეს ბლოკები მუშაობს მხოლოდ მაშინ, როდესაც რაღაც მოვლენა მოხდება.
როდესაც დააჭირეთ ღილაკს
თქვენ უკვე გამოიყენეთ ეს. როდესაც მომხმარებელი დააწკაპუნებს კონკრეტულ ღილაკზე, გსურთ, რომ აპმა გააკეთოს რაღაც, მაგალითად, სხვა ეკრანის გახსნა ან შეტყობინების გაგზავნა.
როდესაც ეკრანის ორიენტაცია იცვლება
თუ მომხმარებელი აქცევს თავის ტელეფონს პორტრეტიდან (ვერტიკალური) ლანდშაფტზე (ჰორიზონტალურად), შეიძლება დაგჭირდეთ რაღაცის გაკეთება, მაგალითად, ეკრანის განლაგების ან კომპონენტების ზომის შეცვლა.
როდესაც სლაიდერის პოზიცია იცვლება
სლაიდერი საშუალებას აძლევს მომხმარებელს გადაიტანოს იგი მის გასწვრივ გარკვეული მნიშვნელობის არჩევისთვის. ამან შეიძლება გამოიწვიოს სხვა კომპონენტის შეცვლა. მაგალითად, შეგიძლიათ გაზარდოთ კალმის ზომა ხატვის აპლიკაციაში სლაიდერის გამოყენებით.
ᲤᲣᲜᲥᲪᲘᲔᲑᲘ
ფუნქციები არის რაღაცის გამკეთებლი კოდირების ბლოკები. მათი გაშვება ბევრჯერ შეიძლება აპში. App Inventor-ში ფუნქციების ბლოკები იასამნისფერია. ზოგიერთი ენა მოიხსენიებს ფუნქციებს, როგორც მეთოდებს ან პროცედურებს. სინამდვილეში, App Inventor ზოგადად მოიხსენიებს მათ, როგორც პროცედურებს . ისინი რაღაცას აკეთებენ, ასე რომ თქვენ შეგიძლიათ მათზე მოქმედების ბლოკად წარმოდგენა.
TextToSpeech.Speak
TextToSpeech კომპონენტს შეუძლია თქვას ან წარმოთქვას ის ტექსტი, როგორიც გსურთ, რომ თქვას.
კამერა.სურათის გადაღება
კამერის კომპონენტს შეუძლია სურათის გადაღება ტელეფონით.
ხმა.თამაში
ხმის კომპონენტს შეუძლია ხმის დაკვრა.
სეტერები ᲓᲐ მიმღებები (Setters & Getters)
მწვანე ბლოკები დაკავშირებულია კომპონენტებთან და მათ თვისებებთან.
ღია მწვანე ბლოკებს, რომლებიც სხვა ბლოკებს ემაგრებიან, ეწოდება მიმღებები (getters) , რადგან თქვენ იღებთ რაღაც ღირებულებას.
Setters (სეთერები) უფრო მუქი მწვანეა და მათი მიმაგრება შესაძლებელია ბოლოზე ღია ჭრილით. ეს საშუალებას გაძლევთ დააყენოთ რაღაც ღირებულება.
ღილაკის ტექსტი 1
ღილაკის1 ტექსტი მიიღება და ინახება ცვლადის გლობალურ მისალმებაში.
ღილაკის ტექსტი 1
ღილაკის ტექსტი 1 დაყენებულია სიტყვებზე „მე მიყვარს კოდირება. ღილაკზე გამოჩნდება სიტყვები "მე მიყვარს კოდირება".
ეტიკეტის ტექსტი 1
Label1-ის ტექსტი დაყენებულია ხმის წყაროზე1. ეს ნიშნავს, რომ ხმის ფაილის სახელი გამოჩნდება Label1-ში.
ხმის წყარო 1
Sound1-ის წყარო (ხმის ფაილის სახელი) მიიღება და ინახება Label1-ის ტექსტის თვისებაში, ლეიბლის ტექსტის დაყენება არსებითად აჩვენებს მნიშვნელობას ლეიბლში, ასე რომ, ხმის ფაილის სახელი გამოჩნდება Label1-ში.
Label1-ის ტექსტი
TextToSpeech იღებს Label1-ის ტექსტის შინაარსს და ლაპარაკობს მას. რაც არ უნდა იყოს ნაჩვენები Label1-ში ნაჩვენები ტექსტი, წარმოთქმული იქნება.
მენტორის რჩევა
საუკეთესო პრაქტიკა: შეახსენეთ სტუდენტებს, რომ ზემოთ განხილული რეალური კოდირების მსგავსია. უცნაური ლექსიკა (ფუნქციები, მიმღებები, სეტერები), რომელსაც ჩვენ ვიყენებთ, არის ზუსტად ის, რასაც კოდის დამწერები იყენებენ.
კითხვები, რომლებიც უნდა დაუსვათ მოსწავლეებს: შეგიძლიათ მოიფიქროთ რამდენიმე ყოველდღიური ფუნქცია, რომელსაც ასრულებთ? (მაგალითად: ნამცხვრის გამოცხობა, კბილების გახეხვა – ყველაფერი, რასაც განმეორებადი ნაბიჯები აქვს). ფუნქციები ძალიან ჰგავს ალგორითმებს!
მენტორის რჩევები მოწოდებულია AmeriCorps-ის მხარდაჭერით.
ᲛᲝᲜᲐᲪᲔᲛᲗᲐ ᲑᲚᲝᲙᲔᲑᲘ
როდესაც იყენებთ სეტერის ბლოკებს, შეგიძლიათ გამოიყენოთ სხვა ჩაშენებული ბლოკები - მონაცემების ან ინფორმაციის ბლოკები, რომელიც შეიძლება გამოყენებულ იქნას თქვენს აპლიკაციაში. მონაცემთა ბლოკების რამდენიმე მაგალითი მოცემულია ქვემოთ.
ნომრები
რიცხვების მნიშვნელობები შეიძლება გამოყენებულ იქნას როგორც მონაცემები აპში. ეს ბლოკები შეგიძლიათ იხილოთ მათემატიკის უჯრაში ბლოკების პალიტრაში.
ტექსტი ან სტრიქონები
ტექსტი, რომელსაც ზოგჯერ სტრიქონებსაც უწოდებენ, შეიძლება გამოყენებულ იქნას როგორც მონაცემი. ეს არის ასოები, სიტყვები და წინადადებები, რომლებიც შეიძლება გამოყენებულ იქნას აპლიკაციაში. ბლოკები გვხვდება ბლოკების პალიტრის ტექსტურ უჯრაში.
ლოგიკური
მონაცემთა ამ ტიპს აქვს მხოლოდ ორი შესაძლო მნიშვნელობა - true ან false. ამ ბლოკებს შეუძლიათ დააყენონ ან შეამოწმონ რაღაცის „მდგომარეობა“ და გამოყენებული იქნება პირობითად, რომლის შესახებაც უფრო მეტს შეიტყობთ.
ᲐᲥᲢᲘᲕᲝᲑᲐ: Soundboard-is მაგალითი
მიჰყევით ქვემოთ მოცემულ ვიდეოს
გაითვალისწინეთ, რომ ვიდეო იწყება 1:11-ზე (გამოტოვეთთ ჩატვირთვის ინსტრუქციები, ეს ინსტრუქციები არ არის საჭირო, თუ თქვენ ჩატვირთეთ საწყისი პროექტი ზემოთ მოცემული ბმულის გამოყენებით).
ჩელენჯი
აქტივობაში გამოიყენეთ:
- მოვლენის დამმუშავებლის (Event Handler) ბლოკები
- ფუნქციური ბლოკები
მოდით ვცადოთ რამდენიმე სეტერის და მიმღების ბლოკის გამოყენება Soundboard აპში დამატებით.
როდესაც მომხმარებელი დააჭერს რომელიმე სურათს ასოცირებული ხმის დასაკრავად, შეცვალეთ ეკრანის ფონის ფერი.
თქვენ შეგიძლიათ შეცვალოთ იგი ერთ კონკრეტულ ფერზე, მაგრამ შემდეგ თქვენ ვეღარ შეძლებთ მარტივად დააბრუნოთ იგი საწყის შავ ფერზე, ასე რომ, ამის ნაცვლად, შეცვალეთ ეკრანის ფონი შემთხვევით ფერზე.
მინიშნება: შეამოწმეთ ფერის უჯრა და მოძებნეთ ფერის ბლოკის შექმნა . შემდეგ მოძებნეთ მათემატიკის უჯრაში შემთხვევითი მთელი რიცხვის ბლოკი. ფერები შედგება 3 ნომრისგან, RGB წითელი, მწვანე, ლურჯი, რომელიც მერყეობს 0-დან 255-მდე.
რეფლექსია
ახლა, როცა ცოტა მეტი შეიტყვეთ სხვადასხვა კოდის ბლოკების შესახებ, იფიქრეთ თქვენი აპლიკაციის გადაწყვეტაზე:
ძირითადი ტერმინების მიმოხილვა
- მომხმარებლის ინტერფეისი – ყველაფერი თქვენს აპლიკაციაში, რომლებთანაც მომხმარებელს შეუძლია ურთიერთობა
- დიზაინერი - ფანჯარა, სადაც შეგიძლიათ დაამატოთ კომპონენტები თქვენს აპლიკაციაში და შეიმუშაოთ მათი ვიზუალი
- ბლოკების ედიტორი - ფანჯარა, სადაც კოდს წერთ ბლოკებით
- მოვლენა – რაღაც, რაც ხდება კოდის გასაშვებად
- Event Handler (მოვლენის დამმუშავებელი) – კოდის ბლოკები, რომლებიც ეუბნებიან თქვენს აპს, რა უნდა გააკეთოს კონკრეტული ურთიერთქმედებისას
- მოვლენებზე ორიენტირებული პროგრამირება – მოვლენებზე დაფუძნებული პროგრამირება ( და არა მთელი კოდის გაშვება ზემოდან ქვემოდან)
- ფუნქციები – კოდის ბლოკი, რომელიც მუშაობს და შეიძლება მრავალჯერ გაუშვათ
ᲓᲐᲛᲐᲢᲔᲑᲘᲗᲘ ᲠᲔᲡᲣᲠᲡᲔᲑᲘ
იხილეთ მეტი Dave Wolber's App Inventor დამწყებთათვის გაკვეთილები appinventor.org- ზე