:: UCY 2010 | EPL371 Systems Programming

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Ancient Greek for Everyone: A New Digital Resource for Beginning Greek Unit 4: Conjunctions 2013 edition Wilfred E. Major
Advertisements

Comparative vs. Superlative
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Windows Intune : Management through Cloud. Microsoft Commercial Cloud Services 9,000 business customers 40M paid Online seats More than 500 government.
What is the definition of differentiation?. Differentiation is an approach to teaching that attempts to ensure that all students learn well, despite their.
1 NAVIGON 40 Easy Comfort Edition NAVIGON 40 Easy Comfort Edition.
NOT TOO YUPPIE Καβρουδάκης Φραγκίσκος ( Μαραγκός Άγγελος ( B λαβιανός Ηλίας.
à 2005 Likno Software Likno Software Προϊόντα  AllWebMenus  Likno Web Button Maker  Photo Frame Show “Quality software for the global market”
1 Please include the following information on this slide: Παρακαλώ, συμπεριλάβετε τις παρακάτω πληροφoρίες στη διαφάνεια: Name Balafouti MariaWhich of.
1 Basic network tools Layers recap Basic Addressing ping traceroute ipconfig.
IT2000 vs IT2012 By Fotis Lavdas & Menelaos Makrigiannis.
ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ. ΣYMBOΛIKOΣ ΥΠΟΛΟΓΙΣΜΟΣ - Παράδειγμα %polynomial (Expression, Variable) polynomial (X, X). polynomial (Term, X) :- number (Term).
1 Green IT Μύθοι & Πραγματικότητα. 2 Η ΕΙΚΟΝΑ ΣΗΜΕΡΑ.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
Προβλήματα Προσχεδιασμού. Ο κόσμος των κύβων Πρόβλημα προσχεδιασμού κατάλληλων πύργων Η Κατάσταση του κόσμου μπορεί να αναπαρασταθεί με μια λίστα από:
Hellenic Ministry for the Environment, Spatial Planning and Public Works Greek Experience on the Implementation of IPPC Directive Alexandros Karavanas.
TEMPLATES, STL ΠΡΟΓΡΑΜΜΑΤΑ ΜΕ ΠΟΛΛΑ ΑΡΧΕΙΑ. ΑΝΑΚΕΦΑΛΑΙΩΣΗ.
Τεχνολογία ΛογισμικούSlide 1 Έλεγχος Καταψύκτη (Ada) Τεχνολογία ΛογισμικούSlide 39 with Pump, Temperature_dial, Sensor, Globals, Alarm; use Globals ; procedure.
Ρυθμίσεις Android phones για MMS και Internet. 20/6/2013 Although every effort has been taken, this DRAFT technical paper has been prepared in good faith.
Ασκηση NextGen POS. Ι. Δεληγιάννης, Τμ. Πληροφορικής ΤΕΙ-Θ UNIFIED PROCESS - ΑΝΑΛΥΣΗ2.
Αντικειμενοστρεφής Προγραμματισμός Κλάσεις και άλλα θέματα Απόστολος Ζάρρας * βασισμένα και σε δουλειά του.
Τι θα φέρει το Σύννεφο στη Διαχείριση Δεδομένων: Προκλήσεις και Ευκαιρίες Ελληνικό Συμπόσιο Διαχείρισης Δεδομένων 2010 Ευαγγελία Πιτουρά Τμήμα Πληροφορικής,
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
Μεθοδολογίες Προγραμματισμού ΙΙ ΣΧΕΔΙΑΣΤΙΚΑ ΠΡΟΤΥΠΑ (2)
Πληροφοριακά Συστήματα και Βάσεις Δεδομένων
JAVA και SQL Δαμιανός Χατζηαντωνίου
Campaign Post Evaluation Report ΚΑΘΑΡΙΖΩ ΤΗ ΚΥΠΡΟ ΣΕ ΜΙΑ ΜΕΡΑ.
Εισαγωγικό Φροντηστήριο Διαχείριση Περιεχομένου Παγκόσμιου Ιστού και Γλωσσικά Eργαλεία.
A model for Context-aware Databases. 19/04/20052 What is Context? Ο καθένας ορίζει το context διαφορετικά... “location, identities of nearby people and.
Εισαγωγή στην Compute Unified Device Architecture (CUDA)
Εργαστήριο 2ο SQL - DDL Ιωάννα Συρίμη
Προγραμματισμός ΙΙ Διάλεξη #7: Περισσότερες Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Lesson 14: Around the city JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Lesson 3a: Basic expressions JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
ΠΟΛΥΜΟΡΦΙΣΜΟΣ, ΠΡΟΤΥΠΑ, ΚΑΘΙΕΡΩΜΕΝΗ ΒΙΒΛΙΟΘΗΚΗ ΠΡΟΤΥΠΩΝ Polymorphism, Templates, Standard Template Library (STL)
Lesson 24a: Travel III JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Emission Inventory in Cyprus
Lesson 18b: At the University JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Comenius E.R.G.O Equal Rights Great Opportunities Presentation by the Greek Delegation to Hungary.
Lesson 21b: Nature II JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Lesson 20a: Nature I JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Visual Studio 2010 Load Testing Γιώργος Καρκαλής Testing Specialist 12/5/2011.
Lesson 18c: At the University JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Προγραμματισμός ΙΙ Διάλεξη #6: Απλές Δομές Ελέγχου Δρ. Νικ. Λιόλιος.
Η Συμμετοχή των Μεταναστών στη Δημόσια Ζωή: Εμπειρίες από την Ελλάδα και την Ευρώπη Immigrant Participation in Public Life: European & Greek experiences.
Lesson 47-48a: Furniture JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής EPL602 Foundations of Web Technologies jQuery Mobile News Site Presented by: Christodoulos Michael Dimitris Stokkos.
JSIS E 111: Elementary Modern Greek
Lesson 52a: Nick’s mom JSIS E 111: Elementary Modern Greek Sample of modern Greek alphabet, M. Adiputra,
1 Please include the following information on this slide: Παρακαλώ, συμπεριλάβετε τις παρακάτω πληροφoρίες στη διαφάνεια: Name Giannakodimou Aliki Kourkouta.
Σοφία Τζελέπη, App Inventor ΜΕΡΟΣ B’ Σοφία Τζελέπη,
Παρουσίαση του εργαλείου Rundeck και use cases Αθήνα 16/01/2014 Κωνσταντίνος Χρηστίδης ~ Εθνικό Κέντρο Τεκμηρίωσης Τμήμα Ηλεκτρονικών Υποδομών.
Developing Human Values Through the Cross-curricular Approach.
 You need textbooks today. If they are in your locker – get them NOW!  Don’t ask once class has started…
MARIE CURIE  Project about Project  Πειραματικό Λύκειο Πανεπιστημίου Μακεδονίας  Team 3 Ξενίδης Γιώργος Βαρελτζίδου Μαρίνα Γαβριηλίδου Ελένη.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Δείκτες και Συμβολοσειρές (Pointers.
6 Η ΠΑΡΟΥΣΙΑΣΗ: ΠΑΝΤΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΟΙΝΩΝΙΚΩΝ ΚΑΙ ΠΟΛΙΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ: ΕΠΙΚΟΙΝΩΝΙΑΣ, ΜΕΣΩΝ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗ ΔΙΑΦΗΜΙΣΗ.
Προγραμματισμός ΙΙ Διάλεξη #5: Εντολές Ανάθεσης Εντολές Συνθήκης Δρ. Νικ. Λιόλιος.
“ Ἡ ἀ γάπη ἀ νυπόκριτος. ἀ ποστυγο ῦ ντες τ ὸ πονηρόν, κολλώμενοι τ ῷ ἀ γαθ ῷ, τ ῇ φιλαδελφί ᾳ ε ἰ ς ἀ λλήλους φιλόστοργοι, τ ῇ τιμ ῇ ἀ λλήλους προηγούμενοι.
An Implementation and Evaluation of WiFi Positioning Algorithms in Android Πανεπιστήμιο Κύπρου 2011 Προγραμματισμός Συστημάτων ΕΠΛ371 Γιώργος Κωνσταντίνου.
Πανεπιστήμιο Κύπρου – Τμήμα Πληροφορικής ΕΠΛ446-Προχωρημένες Βάσεις Δεδομένων Ζωγραφάκης Ιωάννης.
Android Μάριος Παπαχριστοδούλου Ελένη Σκιττίδου Σαββούλα Χρίστου ΕΠΛ371 Προγραμματισμός Συστημάτων.
Σημαντικές Κλάσεις του Android Fragments ViewPager TabHost
Εισαγωγή στον Προγ/μό Η/Υ
Αντικειμενοστραφής Προγραμματισμός ΙΙ
Εισαγωγή στον Προγ/μό Υπολογιστών
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
Εντολές Δικτύων Command Line.
Διάλεξη #10: Εκτέλεση Java χωρίς το BlueJ
Runtime Access to Variables
Μεταγράφημα παρουσίασης:

:: UCY 2010 | EPL371 Systems Programming SDK,  NDK and ASE :: UCY 2010 | EPL371 Systems Programming Παπαδιομήδους Διομήδης Κώστα Κων/τίνος Χριστοφόρου Κων/τινος Νικολαΐδης Γιώργος

Εισαγωγή Android είναι ένα software stack για τις κινητές συσκευές που περιλαμβάνει ένα OS, ένα Middleware και βασικές εφαρμογές. Based on Linux Kernel 2.6. Επιτρέπει στους developers να γράφουν ελεγχόμενο κώδικα σε Java , ελέγχοντας τις συσκευές μέσο Google-developed Java libraries. Προσφέρονται τα εργαλεία SDK,NDK και ASE. Middleware: (δηλαδή ένα λογισμικό που συνδέει την επικοινωνία μεταξύ διαφόρων εφαρμογών και διεργασιών που μπορούν να τρέχουν σε μία ή πολλές μηχανές). EPL371 Systems Programming :: Android Project

1. Ιστορική Αναδρομή Ιούλιος 2005: Νοέμβριος 2007: Η Google απέκτησε το Android Inc. Νοέμβριος 2007: Σχηματίζεται η Open Handset Alliance (OHA)‏ Η OHA ανακοινώνει το 1ο τους προϊόν, Android Οκτώβριος-Δεκέμβριος 2008 14 νέα μέλη για το σχέδιο Android Το Android είναι διαθέσιμο ως open source Έτος 2009 Υλοποιούνται οι εκδόσεις 1.5 (Cupcake), 1.6 (Donut), 2.0/2.1 (Éclair), με βελτιώσεις στην ταχύτητα του υλικού και σε διάφορες εφαρμογές Ιανουάριος 2010 Η τελευταία έκδοση είναι η 2.1 SDK EPL371 Systems Programming :: Android Project

2. Πλεονεκτήματα Χαμηλότερο κόστος στην αγορά κινητού Δωρεάν στους κατασκευαστές κινητών Φθηνότερες συσκευές Open source Μπορείς να προσαρμόσεις πλήρως το τηλέφωνο με τα συμφέροντά σου. Νέες καινοτομικές εφαρμογές (Market) Το Android προσφέρει την δυνατότητα για την εύκολη και γρήγορη ανάπτυξη εφαρμογών . EPL371 Systems Programming :: Android Project

3. Μειονεκτήματα Απόρριψη από μεταφορείς οι οποίοι επιβάλλουν τέλη Web-based εφαρμογές επιτρέπουν δωρεάν πρόσβαση στους κάτοχους κινητών με Google Android Λόγω του ότι είναι open source αυξάνεται το ρίσκο να γίνει πιο εύκολα hack. Το Java enabled system δεν μπορεί να εγκατασταθεί στην memory card όπου αυτό σημαίνει ότι οι εφαρμογές και το software πρέπει να αποθηκευτούν απευθείας στην μνήμη του τηλεφώνου και αυτό μειώνει σημαντικά το διαθέσιμο χώρο. EPL371 Systems Programming :: Android Project

4. Εγκατάσταση Download Eclipse for Java http://www.eclipse.org/downloads/ Download Android SDK from http://developer.android.com/sdk/index.html Με βάση τις οδηγίες συνεχίζω την εγκατάσταση: http://developer.android.com/sdk/installing.html Eclipse: Help → Install New software http://download.eclipse.org/webtools/updates https://dl-ssl.google.com/android/eclipse Eclipse: Open Android SDK and AVD Manager Θέτετε το path για το SDK που κατεβάσετε πιο πάνω. EPL371 Systems Programming :: Android Project

4. Εγκατάσταση Μεταγλώττιση: Δημιουργία AVD (Android Virtual Machine) Εκκίνηση του προγράμματος μέσω Eclipse (run button). EPL371 Systems Programming :: Android Project

4. Εγκατάσταση package MyTest.apk; import android.app.Activity;   import android.app.Activity; import android.os.Bundle; import android.widget.TextView; public class HelloAndroid extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); TextView tv = new TextView(this); tv.setText("Hello, Android"); setContentView(tv); } EPL371 Systems Programming :: Android Project

4. Εγκατάσταση SDK Emulator Manager Control it directly from Eclipse! GPS support Wi-Fi support File explorer EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων APPLICATION FRAMEWORK LIBRARIES APPLICATIONS Home Contacts Phone Browser … Package Manager Activity Manager Telephony Manager Window Manager Resource Manager Content Providers Location Manager View system Notification Manager Surface Manager Open GL|ES SGL Media Framework FreeType SSL SQLite Webkit libc APPLICATION RUNTIME Core Libraries Dalvic Virtual Machine LINUX KERNEL Display Driver Keypad Driver Camera Driver Wifi Driver Flash Memory Driver Audio Drivers Binder (IPC) Driver Power Management EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων APK Package Process Thread Message Queue Looper Activity UI Events System Local Service External Service EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων Activities have several states. Lifecycle methods are called on transitions. You typically don’t need to use them all, but they are there! EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων public class GPS extends MapActivity { private LocationManager locationManager=null;; private LocationListener locationListener=null;; private MapView mapView=null; private MapController mapController=null; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.main); //---use the LocationManager class to obtain GPS locations--- locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE); locationListener = new MyLocationListener(); locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener); mapView = (MapView) findViewById(R.id.mapview1); mapController = mapView.getController(); } private class MyLocationListener implements LocationListener { public void onLocationChanged(Location loc) { if (loc != null) { Toast.makeText( getBaseContext(), "Location changed : Lat: " + loc.getLatitude() + " Lng: " + loc.getLongitude(), Toast.LENGTH_LONG).show(); GeoPoint p = new GeoPoint((int) (loc.getLatitude() * 1E6), (int) (loc.getLongitude() * 1E6)); mapController.animateTo(p); mapController.setZoom(12); mapView.invalidate(); } EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων /*retrieve data from database */ Cursor c = myDB.rawQuery("SELECT * FROM " + TableName , null); int Column1 = c.getColumnIndex("Field1"); int Column2 = c.getColumnIndex("Field2"); // Check if our result was valid. c.moveToFirst(); if (c != null) { // Loop through all Results do { String Name = c.getString(Column1); int Age = c.getInt(Column2); Data =Data +Name+"/"+Age+"\n"; }while(c.moveToNext()); } TextView tv = new TextView(this); tv.setText(Data); setContentView(tv); catch(Exception e) { Log.e("Error", "Error", e); } finally { if (myDB != null) myDB.close(); } } public class SQL extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SQLiteDatabase myDB= null; String TableName = "myTable"; String Data=""; /* Create a Database. */ try { myDB = this.openOrCreateDatabase("DatabaseName", MODE_PRIVATE, null); /* Create a Table in the Database. */ myDB.execSQL("CREATE TABLE IF NOT EXISTS " + TableName + " (Field1 VARCHAR, Field2 INT(3));"); /* Insert data to a Table*/ myDB.execSQL("INSERT INTO " + " (Field1, Field2)" + " VALUES (‘cs07cc6‘,222);"); EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων SQLite: easier to setup great for temporary (testing databases) great for rapid development great for embedding in an application not fit for production (in large scale) doesn't have user management doesn't have many performance features doesn't scale well. EPL371 Systems Programming :: Android Project

5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων 5. Παρουσίαση Δυνατοτήτων μέσω Παραδειγμάτων EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης Simple android application that stores trajectories using GPS for further use Simple server side to communicate with client(s) Server Side: ~570 lines Client Side (.apk): ~500 lines Total: ~1700 lines 60 man-hours EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης EPL371 Systems Programming :: Android Project

6. Συμπεράσματα Υλοποίησης του Προγράμματος Επίδειξης <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="AndroidTraj.apk" android:versionCode="1" android:versionName="1.0"> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".AndroidTraj" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="Preferences" android:label="Preferences"></activity> </application> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.INTERNET"/> </manifest> EPL371 Systems Programming :: Android Project

7. Συμπεράσματα Οι περισσότερες εφαρμογές γράφονται στη JAVA. Υπάρχει καλό documentation. Ο χρήστης μπορεί να έχει τον απόλυτο έλεγχο πάνω στο λειτουργικό και τις εφαρμογές του συστήματος. Μπορεί να προσφέρει τρομερές προοπτικές στους developers. Οι περισσότερες εφαρμογές γράφονται στη JAVA, η οποία είναι μία υψηλού επιπέδου γλώσσα και είναι διεθνώς αναγνωρισμένη EPL371 Systems Programming :: Android Project

8. Βιβλιογραφία http://developer.android.com/guide/basics/what-is-android.html http://sites.google.com/site/io/inside-the-android-application-framework http://www.vogella.de/articles/Android/article.html http://en.wikipedia.org/wiki/Android_%28operating_system%29 http://www.helium.com/items/1694340-what-are-the-disadvantages-and- drawbacks-of-the-google-android-operating-system Book: Professional Android Application Development EPL371 Systems Programming :: Android Project

Questions?