პრეზენტაცია

Download Report

Transcript პრეზენტაცია

სამაგიტრო ნაშრომი
საინფორმაციო პორტალის მობილური აპლიკაციის შემუშავების
ტექნიკური ასპექტები
საინფორმაციო ტექნოლოგიების როლი ჩვენს
ყოველდღიურ ცხოვრებაში
• ინფორმაციული ტექნოლოგიების გამოყენება ჩვენი
ყოველდღიურობის განუყოფელი ნაწილი ხდება. დღითი დღე
უფრო მეტი და მეტი ადამიანი ხდება სმარტფონების,
კომპიუტერებისა და სხვადასხვა ელექტრო ხელსაწყოს
მომხმარებელი. ამიტომაც მიმდინარე სამაგისტროს მიზანია
განვიხილო მობილური აპლიკაციის შემქნის ტექნიკური ასპექტები.
მიმდინარე პროექტის კომპონენტები:
•
•
ვებ. ინტერფეისი ადმინისტრირებისთვის
•
მობილური აპლიკაცია
RESTFUL პრინციპებზე შექმნილი API.
მაკავშირებელი მოდული მობილურ აპლიკაციასა
და მონაცემთა ბაზას შორის.
ძირითადი გადასაჭრელი საკითხები
• მონაცემთა ბაზის დაპროექტება.
• ვებ ინტერფეისის არქიტექტურია და დიზაინის გასაზღვრა.
• მობილური აპლიკაციისა და ვებ აპლიკაციის მაკავშირებელი
სერვისების შემუშავება
• მობილური აპლიკაციის დიზაინის შემუშავება.
• აპლიკაციის სერვისების შექმნა.
მონაცემთა ბაზის დაპროექტება
• მონაცემთა ბაზის შერჩევის კრიტერიმები
• ცხრილებისა დაა რელაციების განსაზღვრა
• ნორმალიზაციის პრინციპების დაცვა
RESTFUL პრინციპეპზე დაფუძლებლი აპი
• რას წარმოადგენს REST?
• RestFul პრინციპებზე დაფუძნებული აპის ძირითადი
პრინციპები .
• JSON ფორმატის მიმოხილვა
SPRING FRAMEWORK
• Spring Framework -ის მიმოხილვა
• რას წარმოადგენს MVC პატერნი. MVC - შაბლონის დონეები :
მოდელი - რომელიც ინახავს აპლიკაციის ინფორმაციას და მასზე წვდომის და
დამუშავების ლოგიკას.
კონტროლერი-რომელის მიერ მუშავდება ვებ მოთხოვნა. იგი წარმოადგებს
შუამავალს მომხმარებლის ინტერფეისსა და მოდელს შორის. კოტროლერი
პასუხისმგებელია გაშიფროს მოთხოვნა და შესაბამოს ის ბიზნეს ლოგიკის შესაბამის
ობიექტს-მოდელს. კონტროლერი მოდელისგან მიღებულ ინფორმაციას გადასცემს
ვიზუალური ნაწილს (View-ს)
ვიუ - რომელიც მოდელისაგან დაბრუნებული მონაცემებს იყენებს და ქმნის
პრეზენტაციას რომელიც უბრუნდება მომხმარებელს.
SPRING , DEPENDENCY INJECTION (DI)
• Spring თავის მხრივ , არის პლატფორმა რომლის
პროგრამისტს
უადვილებს java აპლიკაციის შექმნას.
• Dependency Injection-ის არსი მდგომარეობს იმაში რომ კლასს
მიაწოდოს დამოკიდებული კლასის ობიექტების რაც შეიძლება
მარტივი გზით.
JAVA ანოტაციები
• ანოტაცია თავის მხრივ წარმოადგენს დესკრიპტორს , რომელიც
თავის თავში ინახავს მეტა ინფორმაციას, რომელიც საჭიროა
პროგრამისთვის. ჯავაში არსებობს ტანდარტული ანოტაციები და
ასევე მისი შემქნა შეგვიძლია ხელითაც. სტანდარტული
ანოტაციების მაგალითებია : @JoinColumn , @OneToOne,
TemporalType.DATE და ა.შ
DATA ACCSES OBJECTS
• DAO - ტიპის ობიექტი ეს არის აბსტრაქტული ინტერფეისი
საშუალებას გვაძლებს მივწვდებს რომელიმე ტიპის მონაცემთა
ბაზის ობიექტებს.ეს არის სტანდარტული შაბლონი რომელიც არ
არის დამოკიდებული კონკრეტული მონაცემთა ბაზის ტიპზე, ან
ზოგადად მონაცემეის შენახვის მექანიზმზე.
JPA კონცეფცია
• ამ კონცეფციის უპორატესობა არის ის რომ თუ ბაზის შეცვლა
დაგვჭირდება ეს ძალიან ადვილი გასაკეთებელია
ანდროიდ აპლიკაცია
• Android-ი არის პროგრამული უზრუნველყოფის ნაკრები
მობილური ტელეფონებისათვის, რომელიც შედგება:
• 1. ოპერაციული სისტემისაგან
• 2. მობილურ პლატფორმაზე გამოყენებადი პროგრამებისაგან
• Android -ის პლატფორმა საშუალებას გვაძლევს შევქმნათ
პროგრამები დაპროგრამების ენა Java-ს გამოყენებით.
ანდროიდ პლატფორმის შესაძლებლობები
• საპროგრამებელი ბიბლიოთეკა რომელიც საშუალებას იძლევა გამოვიყენოთ ან
ჩავანაცვლოთ არსებული კომპონენტები
• ვირტუალური მანქანა Dalvik-ი რომელიც სპეციალურად არის
ოპტიმიზირებული მობილური მოწყობილობებისათვის
• ჩაშენებული ვებ ბროუზერი რომელიც დაფუძნებულია ღია კოდის ძრავი WebKitზე
• ოპტიმიზირებული გრაფიკული შესაძლებლობები პლატფორმა მხარს უჭერს
OpenGL ES 1.0 სპეციფიკაციას.
• SQLite გამოიყენება სტრუქტურული ინფორმაციის შესანახად
•
მედია შესაძლებლობების მხარდაჭერა ვიდეო აუდიო და სხვასხვა სურათის
ფორმატის მხარდაჭერა (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
• GSM ტელეფონია (აპარატულ უზრუნველყოფაზე დამოკიდებული)
• Bluetooth, EDGE, 3G და WiFi-ის მხარდაჭერა (აპარატულ უზრუნველყოფაზე
დამოკიდებული)
•
კამერა, GPS, კომპასი და აქსელერომეტრის მხარდაჭერა (აპარატულ
უზრუნველყოფაზე დამოკიდებული)
•
მდიდარი საპროგრამებელი გარემო რომელიც შედგება მოწყობილობის
სიმულატორისგან, პროგრამის გასამართი და დასაოპტიმიზირებელი
ხელსაწყოებისგან და Eclipse საპროგრამებელ გარემოში ჩასართავი
კომპონენტისგან(plugin) რომელიც გვეხმარება პროგრამის შექმნაში Android
პლატფორმისათვის.
•
პროგრამის ძირითადი შემადგენელი ნაწილები
•
მოქმედება არის კომპონენტი რომელიც განსაზღვრავს პროგრამის
ვიზუალურ მხარეს.
•
სერვისი არის კომპონენტი, რომელსაც არ გააჩნია ვიზუალური მხარე და
ასრულებს ხანგძლივ სამუშაოს, რომელიც არ სრულდება მოქმედების
დასრულებასთან ერთად.
•
შიგთავსის მომწოდებელი მართავს პროგრამებს შორის ინფორმაციის
გაცვლას.
•
შეტყობინების მიმღები არის კომპონენტი, რომელიც პასუხობს სისტემის
მიერ გამოგზავნილ შეტყობინებას
მომხმარებლის ინტერფეისის რეალიზაცია
• მომხმარებლის ინტერფეისი წარმოადგენს View კლასის
ობიექტებისგან შემდგარ იერარქიას. თითოეული ასეთი ობიექტი
პასუხისმგებელია მისთვის გამოყოფილი გარკვეული მართკუთხა
ნაწილის ხატვაზე და ქმედებებზე რეაგირებაზე. მაგალითად
როდესაც ღილაკზე მოხდება შეხება უნდა აღიძრას შესაბამისი
ქმედება.
მოქმედების დაწყება - დასრულება
• დაწყება ხდება ბრძანებით -startActivity() .
• დაწყება შედეგის მისაღებათ -startActivityForResult() .
• მოქმედების დასრულება -finish()
სხვა ტექნიკური ასპექტები
• მოქმედების სიცოცხლის ციკლის 4 მდგომარეობა : გაშვებულია,
დაპაუზებლია გაჩერებულია
• callback მეთოდების რეალიზაცია : onStart() და onStop() .
• მოქმედების მდგომარეობის აღდგენა onSaveInstanceState()
მეთოდით.
დასკვნა
• მიმდინარე სამაგისტროს მიზანი იყო , მეჩვენებინა
ანდროიდ
მობილური აპლიკაციის შემუშავების ძირითადი პრინციპები და
ასპექტები. აპლიკაციას გააჩნია ვებ ინტერფეისი ინფორმაციის
შესაყვანად. საინტერესოა ამოცანა იყო ისეთი სერვისების შემქნა
რომელსაც გამოიყეებდა როგორც მობილური აპლიკაცია, ასაევე ვებ
აპლიკაცია.
მადლობა ყურადღებისთვის