Mr.Etherium Δημοσ. 27 Αυγούστου 2013 Δημοσ. 27 Αυγούστου 2013 ξεκίνα με αυτό βέβαια επειδή είσαι πολύ μπερδεμένος Η αλήθεια είναι οτι με έχει φρικάρει εντελώς. Μάλλον δεν ξεκίνησα σωστά.
leleo Δημοσ. 27 Αυγούστου 2013 Δημοσ. 27 Αυγούστου 2013 ξεκίνα με αυτό βέβαια επειδή είσαι πολύ μπερδεμένος http://developer.android.com/training/basics/firstapp/index.html +1 εμένα πάντως αυτό με βοήθησε να "πάρω μυρωδιά"
Mr.Etherium Δημοσ. 6 Σεπτεμβρίου 2013 Δημοσ. 6 Σεπτεμβρίου 2013 Guides στα ελληνικά υπάρχουν; :/ Μπορεί και να υπάρχουν μερικά φίλε μου αλλά τα περισσότερα και καλύτερα είναι στα Αγγλικά. Είναι μονόδρομος. Καλύτερα να τα μάθεις στα αγγλικά. Έτσι κι αλλιώς αν δεν γνωρίζεις καλά την γλώσσα δεν κάνεις τίποτα ειλικρινά! 1
Directx Δημοσ. 6 Σεπτεμβρίου 2013 Δημοσ. 6 Σεπτεμβρίου 2013 Το Android είναι ολόκληρο σε Java (εκτός Firmware φυσικά) ή παρέχει την Java σαν μια πλατφόρμα για τις δικές μας εφαρμογές. Οι "default" εφαρμογές συστήματος όπως (κάμερα, ώρα, sms, caller) είναι σε Java? Οι default εφαρμογές από όσο έχω υπόψη μου είναι γραμμένες σε Java όπως το μεγαλύτερο τμήμα του Λ. Σ. , σε χαμηλό επίπεδο όμως τρέχει κώδικας σε γλώσσα C. Η Google πάντως δηλώνει ρητά πως ο προγραμματισμός σε C ή C++ πρέπει να αποφεύγεται παρά μόνο όταν δεν μπορούμε να κάνουμε αλλιώς, σε κάθε άλλη περίπτωση η ανάπτυξη οφείλει να γίνεται σε Java.
παπι Δημοσ. 6 Σεπτεμβρίου 2013 Δημοσ. 6 Σεπτεμβρίου 2013 ρε συ dx μπορεις να μου εξηγησεις με απλα λογα το συστημα snapshot του android; (η εναλλαγη των εφαρμογων)
Directx Δημοσ. 7 Σεπτεμβρίου 2013 Δημοσ. 7 Σεπτεμβρίου 2013 ρε συ dx μπορεις να μου εξηγησεις με απλα λογα το συστημα snapshot του android; (η εναλλαγη των εφαρμογων) Αν με τον όρο snapshot εννοείς την εναλλαγή μεταξύ διαφόρων activities τότε το μοντέλο που ακολουθεί το Android μπορεί να απλοποιηθεί σε δυο μεγάλα states, το onPause και το onResume. Το πρώτο καλείται όταν το activity μας παύει να υφίσταται στο foreground, δηλαδή όταν ο χρήστης μετακινείται σε κάποια άλλη εφαρμογή ή στο home screen ή κλείνει το activity μας κλπ. Στην περίπτωση αυτή το λειτουργικό σύστημα εκτελεί την διαδικασία onPause του activity μας και εμείς εκεί μπορούμε να αποθηκεύσουμε την τρέχουσα κατάσταση του, για παράδειγμα αν ο χρήστης έχει κάνει μια επιλογή που παρουσιάζει ένα Dialog μπορούμε να αποθηκεύσουμε ένα flag που να το υποδεικνύει κοκ. Αυτό είναι απαραίτητο καθώς από την στιγμή που το activity μας παύει να είναι στο foreground μπορεί ανά πάσα στιγμή (ή και αυτοστιγμεί) να διακοπεί πλήρως η λειτουργία του από το λειτουργικό οδηγώντας σε απώλεια της τρέχουσας κατάστασης (πχ. των εσωτερικών μεταβλητών του προγράμματος μας κοκ..) Το δεύτερο state καλείται onResume και εκτελείται όταν το activity μας επιστρέφει στο foreground ή όταν φορτώνεται κλπ. Στην περίπτωση αυτή το λειτουργικό σύστημα εκτελεί την διαδικασία onResume του activity μας και εμείς εκεί μπορούμε να διαβάσουμε τυχόν αποθηκευμένα flags που θα μας βοηθήσουν να ξανά φέρουμε το activity στην κατάσταση που ήταν πριν χάσει το foreground και ενδεχομένως τερματιστεί κλπ. Για παράδειγμα αν ο χρήστης άνοιξε ένα Dialog και έχουμε αποθηκεύσει το flag αυτό κατά το onPause τώρα είναι ευκαιρία να το διαβάσουμε και να ξανά παρουσιάσουμε τον διάλογο στον χρήστη κλπ. Υπάρχουν και άλλα state πιο εξειδικευμένα αλλά τελικά η βρώμικη δουλεία γίνεται κατά βάση στα δυο παραπάνω. Για παράδειγμα η διαδικασία onDestroy καλείται όταν το activity είναι στο foreground και πρόκειται να τερματιστεί από το λειτουργικό σύστημα είτε από την εφαρμογή μας (υπάρχει τρόπος διάκρισης). Κάποιος λοιπόν μπορεί να μπει στον πειρασμό να κάνει την αποθήκευση του state του στο onDestroy αλλά η Google απαγορεύει ρητά την αποθήκευση δεδομένων όταν συμβαίνει αυτό το event κλπ, παραπέμποντας για την αποθήκευση στο onPause κλπ.. Τέλος κάθε activity (ένα πρόγραμμα Android είναι ένα σύνολο από activities) μπορεί να ανταλλάσσει δεδομένα με σίγουρο τρόπο μέσο Intents, μια τυποποιημένη δομή δηλαδή δεδομένων που επιτρέπει ασφαλή IPC μεταξύ εφαρμογών ή activities μιας εφαρμογής ακόμα και αν το activity που ξεκίνησε ένα άλλο activity ξεφορτωθεί από το σύστημα (ένα ακόμα βάσανο στον προγραμματισμό του Android ). Τώρα να θες ο κώδικας σου να τρέχει συνεχώς ανεξαρτήτως κατάστασης του activity πας σε Service το οποίο είναι μια άλλη ιστορία. Για περισσότερες πληροφορίες (το θέμα έχει πολύ περισσότερο βάθος.. ειδικά αν θες να πας σε activities με πολλά instances [πχ. βλ. τον SMS Manager του Android]) σχετικά με τον κύκλο ζωής των activities δες εδώ. Υ.Γ. 1. Θα πρέπει κανείς να κρίνει με πολύ προσοχή πότε και πιο activity state αξίζει να αποθηκεύσει και να επαναφέρει στα onPause/onResume.. 2. Το activity life cycle είναι από τα πιο ζόρικα τμήμα στον προγραμματισμό του Android, διότι εκ πρώτης όψεως φαίνεται απλό αλλά καθώς θα προγραμματίζεις όλο και πιο πολύπλοκες εφαρμογές θα αρχίζεις να διαπιστώνεις ότι χρειάζεται σοβαρός προγενέστερος σχεδιασμός ώστε αυτές να συμπεριφέρονται σωστά μαζί του (θα δεις να παρουσιάζονται παράξενα ζητήματα που δεν τα είχες σκεφτεί ποτέ πχ. σε Windows ή Unix/Linux programming ) - ειδικά όταν όλοι μας ερχόμαστε από λειτουργικά συστήματα που το αδιάκοπο multitask των λογισμικών μας θεωρείται δεδομένο. Γενικά εδώ ισχύει ο κανόνας Easy to learn, difficult to master. 7
παπι Δημοσ. 7 Σεπτεμβρίου 2013 Δημοσ. 7 Σεπτεμβρίου 2013 Να'σαι καλα. ΥΓ: Η απορια μου προηλθε οταν εψαξα στο νετ για το πως κλεινεις τον browser, και καπου πηρε το ματι μου οτι στα android δεν υπαρχει το χ (κλεισιμο)
Directx Δημοσ. 7 Σεπτεμβρίου 2013 Δημοσ. 7 Σεπτεμβρίου 2013 Να'σαι καλα. ΥΓ: Η απορια μου προηλθε οταν εψαξα στο νετ για το πως κλεινεις τον browser, και καπου πηρε το ματι μου οτι στα android δεν υπαρχει το χ (κλεισιμο) Πράγματι στο UI του Android η έννοια της εξόδου από ένα Activity είναι κομματάκι διαφορετική
warlock9_0 Δημοσ. 7 Σεπτεμβρίου 2013 Δημοσ. 7 Σεπτεμβρίου 2013 φτιάξε μια dummy εφαρμογή με όλες τις συναρτήσεις του lifecycle και απλά βάλτους ένα println για να δεις πότε καλείται η κάθε μια εντύπωση μου είχε κάνει οτι η εφαρμογή σταματάει με onPause ακόμα και όταν σβήνει η οθόνη
Apatewna Δημοσ. 22 Σεπτεμβρίου 2013 Δημοσ. 22 Σεπτεμβρίου 2013 Μην τρομάζετε με την Java στο Android. Έρχομαι από C# και δεν είδα και τίποτα αξιόλογα διαφορετικό εκτός από μερικά ύπουλα string compare. +1 για αυτό που γράφει ο warlock9_0. Κάνε κορνίζα το ακόλουθο. Site: http://en.wikipedia.org/wiki/File:Android_application_life_cycle.png">Android Lifecycle Image Επίσης έχει και ένα demo project που μπορείς να το τρέξεις για να πάρεις μία πρώτη γεύση από android lifecycle management. Site: http://developer.android.com/training/basics/activity-lifecycle/index.html">Android Lifecycle Στον προγραμματισμό για android μετράει να κατανοήσεις ότι το λειτουργικό σύστημα έχει τον πλήρη έλεγχο της εφαρμογής σου και όχι εσύ. Οπότε πρέπει να υπακούς υποχρεωτικά στα events (OnPause, OnResume, OnStop κλπ) και να εχεις κατα νου ότι δουλεύεις με μπαταρία και όχι με ατελείωτο ρεύμα της ΔΕΗ. 1
sonyxp Δημοσ. 22 Σεπτεμβρίου 2013 Δημοσ. 22 Σεπτεμβρίου 2013 Ναι, για τον πυρήνα μιλούσα! οι πάνω πάνω εφαρμογές είναι σε Java. Γιατί δεν βάλανε την C# τουλάχιστον που είναι πιο γρήγορη, καταλαβαίνω ότι δεν μπορούσαν να βάλουν C/C++ γιατί δεν θα μπορούσε ο κόσμος να προγραμματίσει λόγω δυσκολίας των γλωσσών αυτών. Ίσως επειδή είναι δωρεάν η Java.
warlock9_0 Δημοσ. 22 Σεπτεμβρίου 2013 Δημοσ. 22 Σεπτεμβρίου 2013 αν θες να γραψεις σε c# κοιτα το xamarin και για android και για ios 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα