აპლიკაციები os bad. Samsung აპლიკაციები Bada OS-ისთვის - მომხმარებლის გაბრაზებული გამოცდილება

გამარჯობა. უპირველეს ყოვლისა, მინდა ყველას მივულოცო დამდეგი ახალი წელი და სასწრაფოდ მივუდგეთ საქმეს. ეს სტატია ყურადღებას გაამახვილებს შექმნაზე მარტივი პროგრამებიბადასთვის - ოპერაციული სისტემა მობილური მოწყობილობებირომლებიც გაცემულია კორეული სამსუნგი. წინასწარ მინდა ვთქვა, რომ ჭრის ქვეშ არის მარტივი რეცეპტი მარტივი აპლიკაციის შესაქმნელად, კოდის ოპტიმალურობისა და ჰარმონიის შესახებ ხანგრძლივი დისკუსიების გარეშე.
Habré-ზე უკვე არის საკმაოდ დეტალური სტატიები, რომლებიც ეძღვნება ბადას, მაგალითად, ეს და ეს, მაგრამ დამწყებთათვის აპლიკაციის შექმნის ნაბიჯ-ნაბიჯ აღწერა არ არსებობს. ვის საინტერესოა - ვეკითხები კატის ქვეშ.


წერის თემა შემთხვევით გაჩნდა - მეგობარი აქტიურად არის დაკავებული გეოდეზიურ კომპანიაში GPS-ის გამოყენებით მიწის საზღვრების დადგენაში; სამუშაოს სპეციფიკა (საიდან გაჩნდა - კარგი კითხვა) არის ის, რომ მიღებული გეოდეზიური კოორდინატები (მოდი განვმარტავ, რა გრძედი და გრძედი იგულისხმება) მიღებისთანავე უნდა გადაკეთდეს მართკუთხედებად. კომპანიას არ აქვს ლეპტოპები, რომლებსაც შეუძლიათ 8-საათიანი სამუშაო დღის გაძლება და არც გეგმავს, მაგრამ მეგობარმა ახლახან იყიდა Samsung-ის სმარტფონი, რომელიც აქტიურად იყო დაწინაურებული უკრაინაში. ოპერაციული სისტემაბადა, შემდეგ მოჰყვა კითხვა - თუ შეგიძლიათ ჩამოტვირთოთ თამაშები თქვენი ტელეფონისთვის, არის თუ არა პროგრამა, რომელსაც შეუძლია გადაჭრას აღწერილი წმინდა საინჟინრო პრობლემა? ასეთი დანართი, რა თქმა უნდა, ვერ მოიძებნა და მივიღე კეთილი შემოთავაზება, რომ დამეწერა გარკვეული საფასური.

ხელსაწყოები
Bada-სთვის აპლიკაციების შესაქმნელად გამოიყენება Bada SDK 1.2.0, რომლის ჩამოტვირთვა შესაძლებელია Bada-ს დეველოპერის საიტზე დარეგისტრირებით. ამ პროცესში რთული არაფერია, მაგრამ ჩამოტვირთვისთვის ფაილების არჩევის ეტაპზე, მე, გულწრფელად რომ ვთქვათ, "გაბრუვდი" მხოლოდ SDK-ის ჩამოტვირთვით და ე.წ. ენის პაკეტი(ენის პაკეტი) არა, იმ იმედით, რომ, როგორც საიტზე წერია, მისი ჩამოტვირთვა მოხდება SDK-ის ავტომატურად დაყენების შემდეგ. თუმცა, ინსტალაციის ეტაპზე, რაღაც შეფერხდა, ინსტალაცია გაგრძელდა ენის პაკეტის ჩამოტვირთვის გარეშე, რამაც შემდგომში გამოიწვია აპლიკაციის აშენების (აშენების) შეუძლებლობა, რომ აღარაფერი ვთქვათ აპლიკაციის გაშვებამდე.
SDK-ის და ენის პაკეტის ჩამოტვირთვის შემდეგ, ისინი უნდა განთავსდეს ერთ ადგილას და როდის SDK ინსტალაციაან თუ ის შეცვლილია, ინსტალერი აიღებს ენის პაკეტს და დააინსტალირებს მას დამოუკიდებლად.
აპლიკაციის რეალური შექმნა

განვითარების გარემო დაფუძნებულია Eclipse-ზე, C++ პროგრამირების ენაზე, რომელიც გამოიყენება. დავიწყოთ ახალი აპლიკაციის შექმნაზე გადასვლით აშკარა ბრძანებით File -> New -> bada Application Project. ფანჯარაში, რომელიც გამოჩნდება, პროექტის სახელის ველში განვსაზღვროთ პროექტის სახელი, პროექტის ტიპების სიაში აირჩიეთ განაცხადის ტიპი - bada Form Based Application.

შემდეგი, გარემო მოგთხოვთ განსაზღვროთ მოწყობილობის ტექნიკური პარამეტრები, რომლებისთვისაც იქნება განკუთვნილი აპლიკაცია (ეკრანის გარჩევადობა, GPS და ა.შ.). ეს პარამეტრები განსაზღვრულია სპეციალურ მანიფესტ ფაილში, Manifest.xml, რომლის არჩევა შესაძლებელია SDK ფაილებიდან, შექმნილი და ჩამოტვირთვა Bada Developers საიტიდან, ან შეგიძლიათ შექმნათ თქვენი საკუთარი. დამატებითი აჟიოტაჟის გარეშე, მე გამოვიყენე manifest ფაილი Samples საქაღალდეებიდან, რომლებიც დაინსტალირებულია SDK-ით, რადგან ჩემი აპლიკაცია არ მოითხოვდა რაიმე „ზარებს და სასტვენებს“, მაგრამ მნიშვნელოვანი იყო მხოლოდ ეკრანის გარჩევადობა.

შემდეგი, გარემო მოგთხოვთ მიუთითოთ SDK-ის ძირეული დირექტორია, ეს არ უნდა იყოს პრობლემა. შერჩევის შემდეგ სიაში გამოჩნდება მოწყობილობის მოდელის დასახელება და მისი API, რომელიც მომავალში გამოყენებული იქნება პროგრამირებისთვის.

შემდეგი ნაბიჯი არის ნაგულისხმევი ფორმის დასახელების განსაზღვრა, რომელიც გამოჩნდება განაცხადის დაწყებისთანავე. *.h და *.cpp ფაილები გენერირებული იქნება ამ სახელით.

შემდეგი, თქვენ უნდა დაადგინოთ, დაამატოთ თუ არა ავტომატური მასშტაბის მხარდაჭერა და ეკრანის საუკეთესო გარჩევადობა, თუ ეს ფუნქცია დაემატება. მე მესმის, რომ უკეთესია ამის გაკეთება, რადგან აპლიკაცია შეძლებს გაშვებას სხვადასხვა მოწყობილობებიგანსხვავებული გარჩევადობით და არ არის საჭირო მისი გადაკეთება.

პარამეტრების გრძელი ჯაჭვის შემდეგი ბმული არის აპლიკაციის ID-ის განსაზღვრა, აპლიკაციის ფუნქციების ავთენტიფიკაციისთვის, თუ მას სჭირდება დაცულ საქაღალდეებში წაკითხვა და ჩაწერა. მე ეს არ მჭირდებოდა, ამიტომ ეს ნაბიჯი გამოვტოვე.

თითქმის დასრულებული - აპლიკაციის აშკარა სახელის, გამყიდველის და აღწერილობის მახასიათებლების განსაზღვრა.

ახლა კი თითქმის დასასრულია - ეს არის განვითარებისთვის აუცილებელი კონფიგურაციების განმარტება: გირჩევთ დატოვოთ ყველაფერი ნაგულისხმევად, ახლა კი ყველაზე მნიშვნელოვანი კონფიგურაციაა Simulator-Debug - ეს არის მოწყობილობის სიმულატორზე კოდის გამართვის შესაძლებლობა, Target. -გამოშვება - აპლიკაციის შედგენის კონფიგურაცია რეალურ მოწყობილობაზე ატვირთვამდე.

ბოლო ნაბიჯი არის შეჯამების ფანჯარაში არსებული ყველა პარამეტრის შეჯამება, რომელიც შეგიძლიათ ხელახლა წაიკითხოთ და დარწმუნდეთ, რომ ყველაფერი სწორად არის შერჩეული.

საბოლოო პარამეტრების შემდეგ, მომავალი აპლიკაცია ჩნდება Project Explorer-ში, რომელზეც დაწკაპუნებით ხდება რესურსების ფანჯარაში რესურსების ფაილების გამჟღავნება და შემდეგი ფანჯრის გამოჩენა:

ფორმაზე (და ზოგადად ნებისმიერ კონტროლზე) დაწკაპუნების შემდეგ Properties ჩანართზე, შეგიძლიათ შეცვალოთ აპლიკაციის აშკარა თვისებები, როგორიცაა ტექსტი სათაურში, ფონის ფერი, რბილი კლავიშების არსებობა და სახელი.

მზა ღილაკი, რომელიც გარემომ კეთილად გამოიმუშავა, მაშინვე ჩამოვწიე და დავწერ Calculate. GUI რედაქტორის არსებობით, ადვილია შემდეგი ინტერფეისის მიღება, რომელიც კარგად შეეფერება ჩემს ამოცანას (მჯერა, რომ კონტროლის ფორმაზე გადატანის პროცესი და მათი თვისებების დაყენება არ იწვევს რაიმე სირთულეს); როგორც შეყვანის ველების ეტიკეტები, გამოიყენება აშკარა Label, როგორც შეყვანის ველები - EditField; ეტიკეტები ასევე გამოიყენება გამოთვლების შედეგის საჩვენებლად, რადგან მათი რედაქტირება არ არის გათვალისწინებული:

ახლა თავად კოდირება.

გაშვებული აპლიკაცია გადის რამდენიმე ეტაპს (დახმარება ძალიან დეტალურია, აქ შეგიძლიათ იპოვოთ დეტალები), ახლა ჩვენ პირველ რიგში გვაინტერესებს განაცხადის ინიციალიზაციის ეტაპი, რომელიც პასუხისმგებელია ფორმის კლასის OnInitializing (void) მეთოდზე, რომელიც შეიძლება იყოს ნაპოვნი ფაილში<ВАША_ФОРМА>.cpp პროექტის src საქაღალდეში.

ნაგულისხმევად, ეს მეთოდი ასე გამოიყურება:

შედეგის ფორმა1::OnInitializing(void) ( შედეგი r = E_SUCCESS; // TODO: დაამატეთ თქვენი ინიციალიზაციის კოდი აქ // მიიღეთ ღილაკი რესურსის ID-ის მეშვეობით __pButtonOk = static_cast

გააზიარეთ