portaldacalheta.pt
  • Κύριος
  • Τροποσ Ζωησ
  • Ζωή Σχεδιαστών
  • Kpi Και Analytics
  • Σχεδιασμός Μάρκας
Κινητό

Ένα σεμινάριο για τις φιλοδοξίες του Google Glass Developers: Δημιουργία της πρώτης σας εφαρμογής Glass



Το Google Glass είναι μια φουτουριστική τεχνολογία που υπόσχεται να φέρει επανάσταση στον τρόπο με τον οποίο χρησιμοποιούμε τις συσκευές μας για να αλληλεπιδρούμε με τον κόσμο. Αλλά από την άποψη του προγραμματιστή, τι είναι τόσο ξεχωριστό για την ανάπτυξη του γυαλιού; Η απάντηση είναι 'Τίποτα!' Στην πραγματικότητα, από την προοπτική του ένας έμπειρος προγραμματιστής Android , Το Google Glass είναι απλώς μια άλλη συσκευή Android με πολύ μικρή οθόνη και περιορισμένες δυνατότητες!

Η ανάπτυξη γυαλιού Google μοιάζει πολύ με την ανάπτυξη Android που εκτείνεται σε διαφορετικές συσκευές.



Το γεγονός ότι οποιοσδήποτε με γνώσεις ανάπτυξης Android μπορεί να γίνει μέλος αυτής της «ελίτ» κοινότητας φουτουριστικών ευαίσθητων τεχνολογιών φορετών είναι μέρος αυτού που κάνει το Google Glass τόσο φοβερό. Σίγουρα, θα πρέπει να μάθετε μερικά νέα πράγματα, όπως η διαφορά μεταξύ του «Immersion» και του «Active Card», αλλά όπως θα δείτε, η καμπύλη εκμάθησης δεν είναι απότομη.



Ο σκοπός αυτού του σεμιναρίου Google Glass είναι να θέσει τις βάσεις για την ανάπτυξη οποιασδήποτε εφαρμογής Glass, μέσω της δημιουργίας μιας απλής εφαρμογής που θα περιλαμβάνει όλα τα κοινά βήματα. Ο στόχος μου είναι να σας εξοικονομήσω χρόνο στην έρευνα και τη δοκιμή-και-σφάλμα, και να σας επιτρέψω να εκτελέσετε την πρώτη σας εφαρμογή Glass το συντομότερο δυνατό.



Σε αυτό το σεμινάριο θα εξετάσουμε πρώτα πώς να ρυθμίσουμε το περιβάλλον ανάπτυξης και να συνδέσουμε το Google Glass στον υπολογιστή σας. Στη συνέχεια, θα δημιουργήσουμε μια απλή εφαρμογή 'Hello World' Glass που θα περιλαμβάνει προσαρμοσμένες φωνητικές εντολές και ενσωμάτωση στο μενού εκκίνησης Glass. Μόλις αναπτυχθεί και εκτελεστεί η πρώτη σας εφαρμογή στο Glass, θα μάθετε τα βασικά στοιχεία της πλοήγησης στις εφαρμογές Glass, τα μενού με φωνητική ενεργοποίηση και τη δυναμική δημιουργία περιεχομένου.

Πώς μπορείτε να επιβιβαστείτε

Το Glass βρίσκεται ακόμη σε μια φάση «δοκιμής beta», για την οποία η Google έχει εφεύρει τον όρο «Πρόγραμμα εξερεύνησης». Ωστόσο, το ονομάζετε, το Glass δεν είναι ακόμη κάτι που μπορείτε να αποκτήσετε στο κατάστημα, όπως ένα smartphone. Δυστυχώς, τα εργαλεία ανάπτυξης Android εξακολουθούν να μην διαθέτουν εξομοιωτή που μπορείτε να χρησιμοποιήσετε για να αναπτύξετε την εφαρμογή σας χωρίς πραγματικό υλικό.



Έτσι, για να εκτελέσετε και να εντοπίσετε σφάλματα στην εφαρμογή σας, θα χρειαστεί να αποκτήσετε ένα πραγματικό Google Glass μέσω του προγράμματος Explorer. Για να συμμετάσχετε στο πρόγραμμα επισκεφθείτε τη σελίδα εγγραφής και εγγραφείτε για πρόσβαση. Μόλις εγκριθεί, ετοιμάστε την πιστωτική σας κάρτα και περιμένετε να παραδοθεί το ποτήρι σας. Η έκδοση Explorer του Glass κοστίζει επί του παρόντος 1.500 $, αλλά η τιμή αναμένεται να μειωθεί σημαντικά πριν φτάσει η συσκευή στα καταστήματα.

Για το Glassless

Λόγω της έλλειψης εξομοιωτή, είναι απαραίτητο να έχετε πραγματικό υλικό Google Glass για να αναπτύξετε την εφαρμογή σε αυτό το σεμινάριο (ή σε οποιαδήποτε εφαρμογή Glass), αλλά αν το αποκτήσετε είναι εκτός προϋπολογισμού, μην αισθάνεστε αποθαρρυνμένοι - αυτό αξίζει να ακολουθήσετε έτσι κι αλλιώς. Αυτό που θα γίνει εμφανές στο σεμινάριο είναι ότι η ανάπτυξη για το Glass είναι σχεδόν ίδια με την ανάπτυξη για οποιαδήποτε άλλη πλατφόρμα Android!



Εάν εξακολουθείτε να μην έχετε χρησιμοποιήσει το Google Glass, αλλά είμαι τόσο ενθουσιασμένος με αυτό που είμαι, ρίξτε μια ματιά σε αυτά τα δύο βίντεο, καθώς θα πρέπει να σας παρέχουν αρκετές πληροφορίες για να κατανοήσετε τα βασικά στοιχεία του περιβάλλοντος εργασίας χρήστη.

  • Εισαγωγή στο Google Glass
  • Πώς να το Google Glass: Ξεκινώντας

Υπάρχουν ακόμη πιο χρήσιμα βίντεο για ρύθμιση και πλοήγηση εδώ και πολλές ακόμη λεπτομέρειες σχετικά με το περιβάλλον εργασίας χρήστη εδώ .



Κανόνες δέσμευσης

Αυτό Προγραμματιστές του Google Glass Το σεμινάριο κάνει τις ακόλουθες παραδοχές:

  • Υποθέτω ότι κατανοείτε τα βασικά στοιχεία της πλοήγησης και της ρύθμισης του Glass. Εάν δεν έχετε χρησιμοποιήσει ποτέ το Glass, ρίξτε μια ματιά στα βίντεο που συνδέονται παραπάνω.
  • Υποθέτω ότι καταλαβαίνετε το βασικά στοιχεία της ανάπτυξης Android : η δομή των αρχείων έργου, η διαμόρφωση εφαρμογών Android κ.λπ.
  • Θα χρησιμοποιώ το Android Studio, αλλά οι οδηγίες θα πρέπει να μεταφράζονται σε σχεδόν οποιοδήποτε περιβάλλον ανάπτυξης Android. Το Android Studio εξακολουθεί να βρίσκεται σε 'beta', αλλά και το Glass. Μην φοβάστε να αρχίσετε να το χρησιμοποιείτε - είναι πραγματικά ένα εξαιρετικό προϊόν. Το Android Studio είναι διαθέσιμο για λήψη εδώ .

Ρύθμιση του Google Glass

Εντάξει, ας ξεκινήσουμε!



Το πρώτο πράγμα που πρέπει να κάνετε είναι να ενεργοποιήσετε τη λειτουργία εντοπισμού σφαλμάτων στο Glass. Πρέπει να κάνετε κάτι τέτοιο σε κάθε συσκευή Android που χρησιμοποιείτε για την ανάπτυξη των εφαρμογών σας, ώστε αυτό να είναι οικείο. Για να ενεργοποιήσετε τον εντοπισμό σφαλμάτων, σύρετε στο ' Ρυθμίσεις '->' Πληροφορίες συσκευής Και μετά πατήστε για να ανοίξετε το μενού της συσκευής. Επιλέξτε ' Ενεργοποίηση εντοπισμού σφαλμάτων 'Και θα ενεργοποιηθεί.



Στη συνέχεια, πρέπει να προετοιμάσετε το περιβάλλον ανάπτυξης. Η τρέχουσα έκδοση του Google Glass απαιτεί να χρησιμοποιήσετε το API έκδοση 19, οπότε βεβαιωθείτε ότι είναι εγκατεστημένο. Επίσης, πρέπει να έχετε εγκαταστήσει το Glass Development Kit. Χρησιμοποιήστε το Android SDK Manager για να εγκαταστήσετε αυτά τα δύο πακέτα εάν δεν το έχετε κάνει ήδη.

Χρησιμοποιήστε το Android SDK Manager για να βεβαιωθείτε ότι το Glass Development Kit είναι εγκατεστημένο.

Γειά σου Κόσμε!

Ας φτιάξουμε λοιπόν το πρώτο μας κομμάτι του 'Glassware'. (Ναι, η Google έχει επινοήσει έναν άλλο όρο! 'Glassware' είναι το όνομα για οποιαδήποτε εφαρμογή που εκτελείται στο Google Glass). Θα ξεκινήσουμε αναπτύσσοντας ένα καλό παλιό 'Hello World!' εφαρμογή. Όπως τα περισσότερα μεγάλα περιβάλλοντα ανάπτυξης Android, το Android Studio συμπληρώνει αυτόματα νέες εφαρμογές με ένα πρότυπο για την εμφάνιση αυτής της διάσημης φράσης. Ως αποτέλεσμα, παίρνοντας το 'Hello World!' η λειτουργία και λειτουργία είναι απλώς μια άσκηση θεμελιώδους ανάπτυξης εφαρμογών.

Στο Android Studio, κάντε κλικ στο ' Νέο Έργο 'Και συμπληρώστε τη φόρμα του έργου. Μπορείτε να χρησιμοποιήσετε κάτι παρόμοιο με αυτό:

Αυτά είναι τα αρχικά βήματα εγκατάστασης για την ανάπτυξη του Google Glass.

Κατά την επιλογή παραγόντων φόρμας και API βεβαιωθείτε ότι έχετε επιλέξει ' Ποτήρι 'Και API 19

Αυτές είναι μερικές πρόσθετες ρυθμίσεις εφαρμογής Glass.

Επιλέξτε ' Δραστηριότητα βύθισης Ως δραστηριότητα εκκίνησης.

Το Immersion Activity είναι η προτιμώμενη δραστηριότητα εκκίνησης ανάπτυξης εφαρμογών Glass.

Θυμάστε ότι ανέφερα ότι θα πρέπει να μάθετε τη διαφορά μεταξύ του Immersion και του Live Card; Google Άρθρο διεπαφής χρήστη εξηγεί τους διαφορετικούς τύπους οθονών Glass. Ακολουθεί μια σύντομη περίληψη:

  • Ζωντανές κάρτες προστίθενται στο χρονοδιάγραμμα Glass και εμφανίζουν πληροφορίες σε πραγματικό χρόνο για κάτι μέσω ενημερώσεων υψηλής συχνότητας. Τρέχουν συνεχώς στο παρασκήνιο ακόμα και όταν οι χρήστες αλληλεπιδρούν με διαφορετικές κάρτες. Αυτό επιτρέπει στους χρήστες να κάνουν πολλές εργασίες με συνεχή πρόσβαση σε διαφορετικά είδη πληροφοριών σε πραγματικό χρόνο.

  • Βυθίσεις είναι πλήρως προσαρμόσιμες οθόνες που εκτελούνται εκτός της εμπειρίας χρονολογίου. Αυτά σας επιτρέπουν να σχεδιάσετε τη δική σας διεπαφή χρήστη και να επεξεργαστείτε την είσοδο του χρήστη, όπως θέλετε Αυτό θα χρησιμοποιούμε!

Στην επόμενη οθόνη του οδηγού, αφήστε τις προεπιλεγμένες τιμές για ' Ονομα ' και ' Τίτλος 'Και κάντε κλικ στο' Φινίρισμα '.

Μετά Γκρέιντ φροντίζει τις εξαρτήσεις σας και προετοιμάζει το έργο σας, ήρθε η ώρα να το βάλτε στο Glass. Τώρα αυτή είναι φουτουριστική εξέλιξη!

Υποθέτοντας ότι όλα τα προγράμματα οδήγησης Android ADB είναι στη θέση τους και το Glass σας αναγνωρίζεται από το σύστημά σας, θα πρέπει να έχετε το Glass στη λίστα συσκευών σας.

Η λίστα συσκευών πρέπει να εμφανίζει το Google Glass ως συσκευή Android.

Εάν είναι η πρώτη φορά που συνδέσατε τη συσκευή σας σε έναν υπολογιστή, το Glass θα ζητήσει έγκριση / εμπιστοσύνη. Απλώς αγγίξτε το γυαλί σας για να επιτρέψετε τη σύνδεση και θα πρέπει να είστε έτοιμοι.

Κάντε κλικ ' Τρέξιμο 'Και αναπτύξτε το' Προεπιλεγμένο APK 'με το' MainActivity 'ως δραστηριότητα εκκίνησης για εκκίνηση στη συσκευή' USB '.

Μετά από λίγα δευτερόλεπτα, θα πρέπει να δείτε κάτι τέτοιο στην οθόνη Glass:

Αυτό είναι ένα παράδειγμα αυτού που μπορεί να δείτε μέσω του Google Glass εάν παρακολουθήσετε προσεκτικά αυτόν τον οδηγό.

Χέρεϊ! Η εφαρμογή σας εκτελείται στο Glass! Και το μόνο που πρέπει να κάνετε είναι να συμπληρώσετε μερικές προεπιλεγμένες τιμές όταν δημιουργήσατε την εφαρμογή!

Εφόσον δεν προσδιορίσαμε διαφορετικά, το Glass θα εμφανίσει την εφαρμογή σας με το όνομα 'Show demo'. Εάν σύρετε προς τα πίσω στην οθόνη Έναρξη και μετά αγγίξετε για να ανοίξετε το μενού της εφαρμογής, θα το δείτε ως εξής:

Αυτό είναι ένα παράδειγμα του στοιχείου μενού

Λίγο Πολωνικά

Εντάξει, το τρέξατε, αλλά δεν μοιάζει με πραγματική εφαρμογή Glass και δεν θέλετε να ξεκινήσει η εφαρμογή από το 'Show demo'.

Σε αυτό το σεμινάριο θα το αλλάξουμε λίγο για να πάρουμε το πραγματικό συναίσθημα.

Ρύθμιση του θέματος

Πρώτον, δεν θέλετε να τραβήξετε οποιαδήποτε από τη μικρή οθόνη Glass με αυτήν την άσχημη κεφαλίδα 'Hello World Immersion' στη γραμμή τίτλου και σίγουρα δεν θέλετε η οθόνη σας να είναι γκρι με μαύρη γραμματοσειρά. Για να το διορθώσουμε, απλώς πρέπει να αλλάξουμε το θέμα στο Android μας και να αφήσουμε το Glass OS να το φροντίσει.

Άνοιγμα res/values/styles.xml για επεξεργασία. Θα πρέπει να έχει το ακόλουθο περιεχόμενο:

android:Theme.Holo.Light

Απλώς αλλάξτε android:Theme.DeviceDefault έως AndroidManifest.xml. Αυτό θα πρέπει να φροντίζει τη διάταξη και τα χρώματα της εφαρμογής αυτόματα, χρησιμοποιώντας το προεπιλεγμένο θέμα Glass.

5 βασικές αρχές σχεδιασμού

Καθορισμός εμφάνισης μενού

Εντάξει, το επόμενο πράγμα που θέλουμε να κάνουμε σε αυτό το σεμινάριο ανάπτυξης Glass είναι να δημιουργήσουμε την εφαρμογή μας για να έχει ένα σωστό όνομα και μια καλή ελεγχόμενη φωνή εκκίνησης. Ανοίξτε το Android Manifest ( ) και προσθέστε τα ακόλουθα παραπάνω DEVELOPMENT ετικέτα:

DEVELOPMENT

Ο λόγος που θέλετε να χρησιμοποιήσετε voice_trigger.xml Τα δικαιώματα είναι έτσι ώστε να μπορείτε να παίζετε με προσαρμοσμένα φωνητικά στοιχεία ελέγχου. Η Google είναι αρκετά αυστηρή σχετικά με το ποιες φωνητικές εντολές επιτρέπονται σε εγκεκριμένες εφαρμογές Glass και όλες οι νέες εντολές πρέπει να εγκριθούν. Δεδομένου ότι αυτό το σεμινάριο είναι για μαθησιακούς σκοπούς και δεν θα υποβάλετε αυτήν την αίτηση στο επίσημο κατάστημα Glassware, δεν πρέπει να ανησυχείτε γι 'αυτό. Απλώς ενεργοποιήστε το res/xml/ δικαιώματα και θα έχετε πρόσβαση σε 'μη καταχωρισμένες φωνητικές εντολές'. Για περισσότερες πληροφορίες σχετικά με αυτό, διαβάστε αυτήν τη σελίδα GDK .

Άνοιγμα android:label='@string/app_name' για επεξεργασία. Αυτό είναι όπου ορίζεται η φωνητική εντολή για να ξεκινήσετε την εφαρμογή σας. Θα πρέπει να βρίσκεται στο @string/app_name ντοσιέ. Θα πρέπει να λαμβάνετε περιεχόμενο παρόμοιο με αυτό:

Hello Glass

Αντί να πείτε 'Δείξτε μου μια επίδειξη' για να ξεκινήσετε την εφαρμογή μας, ας πούμε απλώς το όνομα της εφαρμογής. Αλλάξτε τα περιεχόμενα του αρχείου σε:

android:label='@string/app_name'

Εάν επιστρέψετε στο αρχείο δήλωσης, ενδέχεται να παρατηρήσετε ότι το res/values/strings.xml έχει ενημερωθεί αυτόματα για να χρησιμοποιήσει επίσης τη συμβολοσειρά πόρων app_name αντί του κωδικοποιημένου κωδικού Hello Glass αξία όπως ήταν πριν. Εάν αυτή η ρύθμιση δεν ενημερώθηκε, φροντίστε να ορίσετε την τιμή σε voice_trigger.xml.

Και ποιο ακριβώς είναι το όνομα της εφαρμογής σας; Εάν ανοίξετε network='true', το FEATURE_VOICE_COMMANDS πρέπει να αναφέρονται ως:

onCreate

Αυτό θα πρέπει να ολοκληρώσει τα πράγματα για την πρώτη σας εφαρμογή Hello Glass. Ας δούμε πώς λειτουργεί τώρα!

Από την οθόνη Έναρξη, μπορείτε να πείτε 'Εντάξει γυαλί' για να εμφανιστεί το φωνητικό μενού. Η εφαρμογή σας βρίσκεται πλέον στη λίστα των εντολών που ενεργοποιούνται με φωνή.

Με αυτό το σεμινάριο για να σας καθοδηγήσει, έτσι φαίνεται η οθόνη έναρξης της εφαρμογής Glass τώρα.

Αν λέτε ' Γεια σου γυαλί 'Η αίτησή σας πρέπει να ξεκινήσει και θα πρέπει να έχετε μια τυποποιημένη εμπειρία Glass:

Οι φωνητικές εντολές παράγουν αυτήν την απόκριση Google Glass.

Εάν δεν θέλετε να χρησιμοποιήσετε τη φωνή σας για να ενεργοποιήσετε την εφαρμογή, μπορείτε απλώς να πατήσετε στην οθόνη Έναρξη και θα δείτε ότι η εφαρμογή σας είναι διαθέσιμη στο μενού:

Η εφαρμογή Google Glass που δημιουργήσατε είναι πλέον διαθέσιμη.

Φωνή ή άγγιγμα; Χρησιμοποιήστε και τα δύο!

Είναι πολύ σημαντικό να δώσετε ιδιαίτερη προσοχή στη διεπαφή της εφαρμογής σας και στην αλληλεπίδραση των χρηστών σας με αυτήν. Να θυμάστε ότι οι χρήστες σας δεν είναι πάντα σε θέση να χρησιμοποιούν τη φωνή τους - για παράδειγμα, ενώ παρακολουθείτε μια διάλεξη ή μια παρουσίαση. Εναλλακτικά, μπορεί να έχουν τα χέρια τους γεμάτα και να μην μπορούν να χρησιμοποιήσουν την αφή. Προτείνω να παρέχετε αλληλεπίδραση τόσο στο μενού αφής όσο και στο φωνητικό μενού, επιτρέποντας στους χρήστες σας να περιηγούνται στην εφαρμογή σας χρησιμοποιώντας φωνή και επιφάνεια αφής παράλληλα.

Μια πραγματική εφαρμογή - ApeeScape Finder

Ένα παράδειγμα ανάπτυξης του Google Glass που θα περιγράψουμε σε αυτό το σεμινάριο είναι το

Τώρα που αισθάνεστε άνετα με την ανάπτυξη Glass και έχετε δημιουργήσει το Hello Glass, είναι καιρός να δημιουργήσετε μια πραγματική εφαρμογή που θα λειτουργήσει νέες λειτουργίες Glass. Ας δημιουργήσουμε μια εφαρμογή που σας επιτρέπει να περιηγηθείτε σε προφίλ κορυφαίων προγραμματιστών ApeeScape με βάση την πλατφόρμα ανάπτυξης.

Η δομή του παραδείγματος εφαρμογής Glass θα είναι απλή:

  1. Θέλουμε η οθόνη έναρξης να έχει το ApeeScape λογότυπο με ενεργοποιημένο μενού με φωνή και πάτημα που μας επιτρέπει να επιλέξουμε την πλατφόρμα ανάπτυξης για την οποία χρειαζόμαστε προγραμματιστή.
  2. Αφού επιλέξετε μια πλατφόρμα, θέλουμε να λάβουμε μια λίστα προγραμματιστών με την εικόνα και το όνομά τους. Τα προφίλ προγραμματιστών θα εμφανίζονται με τη μορφή μιας κυλιόμενης λίστας προσωπικών καρτών.
  3. Κατά την προβολή ενός προφίλ προγραμματιστή, θέλουμε να μπορούμε να τα προσθέσουμε στα αγαπημένα ή να στείλουμε ένα αίτημα προς ενοικίαση.

Τα βασικά

Ας ανακεφαλαιώσουμε γρήγορα αυτό που έχετε ήδη προσθέσει πάνω από τις γνώσεις σας στο Android:

  1. Πώς να ρυθμίσετε το περιβάλλον ανάπτυξης για να δημιουργήσετε γυαλικά.
  2. Πώς να ρυθμίσετε τις παραμέτρους της εφαρμογής σας ώστε να χρησιμοποιεί το τυπικό θέμα Glassware GUI.
  3. Πώς να ξεκινήσετε την εφαρμογή σας χρησιμοποιώντας προσαρμοσμένες φωνητικές εντολές και ονόματα μενού.

Χρησιμοποιώντας αυτές τις γνώσεις, ενεργοποιήστε τη λειτουργία της νέας σας εφαρμογής. Μπορείτε είτε να ενημερώσετε την εφαρμογή Hello Glass από ψηλά είτε να ξεκινήσετε μια νέα εφαρμογή ακολουθώντας τα ίδια βήματα. Ονομάστε αυτήν την εφαρμογή ' Κορυφαίο εύρημα ', Και δημιουργήστε το MainActivity το αρχείο μοιάζει με αυτό.

getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS);

Το res/menu Ο περιορισμός λέει στο glass να ελέγχει για συνδεσιμότητα δικτύου κατά την εκκίνηση αυτής της εφαρμογής, την οποία θα πρέπει να συνδεθούμε με τις λίστες προγραμματιστών του ApeeScape. Εάν δεν υπάρχει σύνδεση, το Glass θα εμφανίσει ένα προειδοποιητικό μήνυμα.

Αρχική οθόνη

Ας κάνουμε την αρχική οθόνη της εφαρμογής μας να μοιάζει με αυτήν:

Αυτός είναι ο σχεδιασμός που επιλέξαμε για την αρχική οθόνη του Glass app.

Όταν δείτε το 'Εντάξει γυαλί' μήνυμα στην οθόνη σας σημαίνει ότι η εφαρμογή έχει ενεργοποιημένο το φωνητικό μενού σε αυτό το μέρος. Μιλώντας τη φράση 'Εντάξει γυαλί' Εδώ ενεργοποιεί το φωνητικό μενού για αυτήν την τοποθεσία. Αυτή η φράση είναι προκαθορισμένη από το Glass και δεν μπορείτε να την αλλάξετε.

Μπορείτε να σκεφτείτε 'Εντάξει γυαλί' ως 'μενού εφαρμογών', όπως έχετε χρησιμοποιήσει στην ανάπτυξη smartphone / tablet και έχει ακριβώς τον ίδιο ρόλο. Όπως θα 'πατήσετε' το 'εικονίδιο μενού εφαρμογής' στην οθόνη σας (συχνά 3 κουκκίδες ή γραμμές) για να ανοίξετε ένα μενού εφαρμογών Android, πρέπει να πείτε 'Εντάξει γυαλί' για να ανοίξετε το μενού ενεργοποιημένης φωνής στην εφαρμογή Glassware.

Για να ενεργοποιήσετε το 'Εντάξει γυαλί' μενού που πρέπει να ζητήσετε main.xml από το API. Για να το κάνετε αυτό, προσθέστε την ακόλουθη γραμμή στο onCreatePanelMenu χειριστής στο MainActivity:

@Override public boolean onCreatePanelMenu(int featureId, Menu menu){ if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { getMenuInflater().inflate(R.menu.main, menu); return true; } return super.onCreatePanelMenu(featureId, menu); }

Κάθε δραστηριότητα με την οποία περιλαμβάνεται αυτή η δυνατότητα θα αποδίδεται 'Εντάξει γυαλί' κείμενο στο κάτω μέρος του κέντρου.

Το επόμενο πράγμα που πρέπει να κάνετε είναι να δημιουργήσετε ένα μενού για την κύρια οθόνη. Στο findDevelopers φάκελος δημιουργήστε έναν νέο ορισμό μενού XML με το όνομα public void findDevelopers(String platform){ } @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { switch (item.getItemId()) { case R.id.find_android: findDevelopers('Android'); break; case R.id.find_javascript: findDevelopers('Java Script'); break; case R.id.find_ios: findDevelopers('iOS'); break; } return true; } return super.onMenuItemSelected(featureId, item); } . Για να απλοποιήσουμε τα πράγματα, απλώς θα ενεργοποιήσουμε τρεις πλατφόρμες προγραμματιστών ApeeScape, αλλά μη διστάσετε να κάνετε τις αλλαγές όπως θέλετε.

Θα πρέπει να έχει το ακόλουθο περιεχόμενο:

πώς να φτιάξετε μια γλώσσα προγραμματισμού σε c++
res/drawable/logo.png

Ίσως αναρωτιέστε γιατί επέλεξα μάλλον μεγάλους τίτλους μενού αντί απλώς Android, JavaScript και iOS. Λοιπόν, ο λόγος είναι πολύ απλός. Τα παιδιά από την ομάδα ανάπτυξης Glass βελτιώνουν ακόμη την αναγνώριση φωνής. Συνιστάται η πρακτική να χρησιμοποιείτε δύο ή τρεις λέξεις στα μενού σας, ώστε το Glass να τις αναγνωρίζει ευκολότερα.

Ανέφερα ήδη ότι το 'Εντάξει γυαλί' Το μενού δεν διαφέρει από το τυπικό μενού εφαρμογών Android. Η προσάρτηση ενός μενού σε μια δραστηριότητα είναι σχεδόν η ίδια. Απλώς αντικαταστήστε το MainActivity χειριστής στο private CardScrollView mCardScroller; private View mView; private GestureDetector mGestureDetector; και διογκώστε το κύριο μενού που μόλις δημιουργήσατε:

buildView

Τώρα πρέπει να προσθέσουμε ένα πρόγραμμα χειρισμού μενού. Πριν το κάνετε αυτό, δημιουργήστε μια κενή μέθοδο που ονομάζεται private View buildView() { Card card = new Card(this); card.setText(R.string.app_name); card.setImageLayout(Card.ImageLayout.LEFT); card.addImage(R.drawable.logo); return card.getView(); } . Θα επιστρέψουμε σε αυτό αργότερα για να ξεκινήσουμε μια αναζήτηση και να δείξουμε τα αποτελέσματα. Μετά από αυτό μπορείτε να παρακάμψετε το πρόγραμμα χειρισμού μενού.

onCreate

Ήρθε η ώρα να κάνουμε το παράδειγμα της αρχικής οθόνης της εφαρμογής Google Glass όμορφο. Εισαγάγετε ένα λογότυπο ApeeScape στην εφαρμογή σας ως protected void onCreate(Bundle bundle) { super.onCreate(bundle); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); mView = buildView(); mCardScroller = new CardScrollView(this); mCardScroller.setAdapter(new CardScrollAdapter() { @Override public int getCount() { return 1; } @Override public Object getItem(int position) { return mView; } @Override public View getView(int position, View convertView, ViewGroup parent) { return mView; } @Override public int getPosition(Object item) { if (mView.equals(item)) { return 0; } return AdapterView.INVALID_POSITION; } }); // Handle the TAP event. mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { openOptionsMenu(); } }); mGestureDetector = createGestureDetector(this); setContentView(mCardScroller); } . Χρησιμοποίησα αυτήν την εικόνα:

Λογότυπο ApeeScape για χρήση στην εφαρμογή Glass.

Στο MainActivity τάξη, κάντε τις ακόλουθες αλλαγές.

Βεβαιωθείτε ότι οι ακόλουθες ιδιωτικές μεταβλητές δηλώνονται στην αρχή της κλάσης:

private GestureDetector createGestureDetector(Context context) { GestureDetector gestureDetector = new GestureDetector(context); //Create a base listener for generic gestures gestureDetector.setBaseListener( new GestureDetector.BaseListener() { @Override public boolean onGesture(Gesture gesture) { if (gesture == Gesture.TAP) { openOptionsMenu(); return true; } else if (gesture == Gesture.TWO_TAP) { // do something on two finger tap return true; } else if (gesture == Gesture.SWIPE_RIGHT) { // do something on right (forward) swipe return true; } else if (gesture == Gesture.SWIPE_LEFT) { // do something on left (backwards) swipe return true; } else if (gesture == Gesture.SWIPE_DOWN){ finish(); } return false; } }); gestureDetector.setFingerListener(new GestureDetector.FingerListener() { @Override public void onFingerCountChanged(int previousCount, int currentCount) { // do something on finger count changes } }); gestureDetector.setScrollListener(new GestureDetector.ScrollListener() { @Override public boolean onScroll(float displacement, float delta, float velocity) { // do something on scrolling return true; } }); return gestureDetector; } @Override public boolean onGenericMotionEvent(MotionEvent event) { if (mGestureDetector != null) { return mGestureDetector.onMotionEvent(event); } return false; }

Αλλάξτε το findDevelopers μέθοδος για να προσαρμόσετε τη διάταξη της κάρτας:

DeveloperModel.java

Και αλλάξτε το java/models χειριστής να είναι έτσι:

public class DeveloperModel implements Serializable { private String name; public String getName(){ return name; } public void setName(String name){ this.name=name; } private String platform; public String getPlatform(){ return platform; } public void setPlatform(String platform){ this.platform=platform; } private String image; public String getImage(){ return image; } public void setImage(String image){ this.image=image; } }

Όπως είπα στο παρελθόν, θέλουμε να συμπεριλάβουμε και το μενού που ενεργοποιείται με βρύση 'Εντάξει γυαλί' , απλώς ενεργοποιήστε χειρονομίες όπως θα κάνατε στην εφαρμογή σας Android. Προσθέστε τις ακόλουθες μεθόδους στο CardScrollAdapter τάξη:

DeveloperAdapter.java

Αυτό πρέπει να είναι! Τώρα μπορείτε να ξεκινήσετε την εφαρμογή σας και να δοκιμάσετε και τις δύο μεθόδους ενεργοποίησης μενού. Αν λέτε 'Εντάξει γυαλί' Εμφανίζονται τρία στοιχεία μενού στην οθόνη και αν πατήσετε το γυαλί, θα ανοίξει ένα μενού με δυνατότητα κύλισης. Για να περιηγηθείτε στα στοιχεία του μενού, μπορείτε να σύρετε προς τα εμπρός και προς τα εμπρός.

Δείτε πώς φαίνεται το μενού φωνής:

Ακολουθούν φωνητικές εντολές για να εμφανιστούν οι κορυφαίοι προγραμματιστές στην οθόνη Glass.

Και εδώ είναι το μενού χειρονομίας:

Ακολουθούν φωνητικές εντολές για να εμφανιστούν οι κορυφαίοι προγραμματιστές στην οθόνη Glass.

Εάν επιλέξετε ένα στοιχείο μενού, δεν θα συμβεί τίποτα ως java/adapters Μέθοδος δεν έχει ακόμη εφαρμοστεί.

Οθόνες προγραμματιστή

Θα συνεχίσουμε να χρησιμοποιούμε την προεπιλεγμένη διάταξη Glass Card, με μια εικόνα στην αριστερή πλευρά, το κείμενο στα δεξιά και μερικές πληροφορίες υποσέλιδου. Για περισσότερες πληροφορίες σχετικά με τις βέλτιστες πρακτικές για το σχεδιασμό των καρτών σας, ανατρέξτε στο Google Glass οδηγός στυλ .

Το προφίλ προγραμματιστή μας καθορίζεται από απλές ιδιότητες:

  1. Ονομα
  2. Εικόνα
  3. Πλατφόρμα ανάπτυξης

Ας φροντίσουμε λοιπόν να έχουμε τη σωστή δομή των τάξεων στην εφαρμογή μας. Δημιουργήστε μια νέα τάξη με το όνομα public class DeveloperAdapter extends CardScrollAdapter { private List mCards; private List mData; public DeveloperAdapter(List cards){ this.mCards = cards; } @Override public int getCount() { return mCards.size(); } @Override public Object getItem(int i) { return mCards.get(i); } @Override public View getView(int i, View view, ViewGroup viewGroup) { return mCards.get(i).getView(); } @Override public int getPosition(Object o) { return this.mCards.indexOf(o); } } στο ResultsActivity ντοσιέ. Θέλουμε να είναι αυτή η τάξη σειριοποιήσιμος, καθώς θα περιέχει προφίλ που βρίσκονται σε μια λίστα.

MainActivity

Θέλουμε οι κάρτες μας να συνδέονται στενά με τα δεδομένα προφίλ προγραμματιστή μας. Επειδή η προεπιλογή java/com.helloglass είναι λίγο γενικό όσον αφορά το μοντέλο δεδομένων του, πρέπει να το επεκτείνουμε και να το κάνουμε δικό μας. Δημιουργία extends Activity στο developer.xml ντοσιέ:

ResultsActivity

Δεν θέλουμε να προστεθούν τα αποτελέσματα αναζήτησης στην αρχική οθόνη της εφαρμογής, επομένως θα δημιουργήσουμε μια νέα δραστηριότητα που θα κάνει τα αποτελέσματα αναζήτησης και εμφάνισης. Δημιουργήστε μια νέα δραστηριότητα, MainActivity , δίπλα στο ResultsActivity (πιθανώς σε public static final String SEARCH = 'search'; private String mPlatform='Android'; ).

Βεβαιωθείτε ότι ResultsActivity.

Στη συνέχεια, πρέπει να καθορίσουμε ένα μενού για τις κάρτες προφίλ προγραμματιστή μας. Δημιουργήστε ένα νέο μενού, MainActivity, με το ακόλουθο περιεχόμενο:

private CardScrollView mCardScroller; private List mCards; private GestureDetector mGestureDetector;

Για να ενεργοποιήσετε τις παραμέτρους διέλευσης μεταξύ findDevelopers και ResultsActivity προσθέστε τις ακόλουθες γραμμές στην αρχή private void findDevelopers(String platform){ for (int i=1; i<=10; i++){ Card card = new Card(this); card.setText(platform+' '+Integer.toString(i)); card.setTimestamp(platform); card.setImageLayout(Card.ImageLayout.LEFT); card.addImage(R.drawable.ic_person_50); mCards.add(card); } mCardScroller.setSelection(0); } τάξη:

MainActivity

Φροντίστε να προσθέσετε τη νέα σας δραστηριότητα στο αρχείο δήλωσης:

findDevelopers

Ρύθμιση της αρχικής οθόνης του ResultsActivity και η διαμόρφωση καρτών μοιάζει πολύ με αυτό που κάναμε στο platform. Αρχικά ελέγξτε ότι έχετε ορίσει τις κάρτες και τον κύλινδρο στην αρχή:

public void findDevelopers(String platform){ Intent resultsIntent = new Intent(this, ResultsActivity.class); resultsIntent.putExtra(ResultsActivity.SEARCH, platform); startActivity(resultsIntent); }

Δημιουργήστε μια προσωρινή μέθοδο αναζήτησης στην οποία θα επανέλθουμε αργότερα για εφαρμογή. Η προσθήκη νέων καρτών στη λίστα προφίλ είναι τόσο απλή όσο η προσθήκη στοιχείων σε ένα Array. Θα ονομάσουμε αυτήν τη μέθοδο ResultsActivity επίσης, αλλά αυτό ανήκει στο @Override public boolean onCreatePanelMenu(int featureId, Menu menu){ if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { getMenuInflater().inflate(R.menu.developer, menu); return true; } return super.onCreatePanelMenu(featureId, menu); } :

ResultsActivity

Τώρα επιστρέψτε στο openOptionsMenu() και ενημέρωση onGesture(Gesture gesture) εκεί για να ξεκινήσετε το private GestureDetector createGestureDetector(Context context) { // … @Override public boolean onGesture(Gesture gesture) { if (gesture == Gesture.TAP) { openOptionsMenu(); return true; } else if // … και περάστε στο @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { if (featureId == WindowUtils.FEATURE_VOICE_COMMANDS || featureId == Window.FEATURE_OPTIONS_PANEL) { switch (item.getItemId()) { case R.id.developer_fav: Toast.makeText(getApplicationContext(), 'Favorite', Toast.LENGTH_LONG).show(); break; case R.id.developer_hire: Toast.makeText(getApplicationContext(), 'Message', Toast.LENGTH_LONG).show(); break; case R.id.go_back: break; } return true; } return super.onMenuItemSelected(featureId, item); } ιδιοκτησία:

ic_person_50.png

Επισυνάψτε το μενού προγραμματιστή σας στο resdrawable. Θα μπορείτε να ανοίξετε το μενού σε οποιαδήποτε κάρτα προφίλ.

onCreate

Όπως και νωρίτερα, ενεργοποιήστε τις κινήσεις για να χειριστείτε την επιφάνεια αφής στο γυαλί σας όταν ResultsActivity εκτίθεται. Για να το κάνετε αυτό, απλά καλέστε MainActivity στο @Override protected void onCreate(Bundle bundle) { super.onCreate(bundle); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); getWindow().requestFeature(WindowUtils.FEATURE_VOICE_COMMANDS); mCardScroller = new CardScrollView(this); mCards = new ArrayList(); if(getIntent().hasExtra(SEARCH)){ mPlatform = getIntent().getStringExtra(SEARCH); } findDevelopers(mPlatform); mCardScroller.setAdapter(new DeveloperAdapter(mCards)); // Handle the TAP event. mCardScroller.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { openOptionsMenu(); } }); mGestureDetector = createGestureDetector(this); setContentView(mCardScroller); } μέθοδος:

onResume

Επίσης, προσθέστε ένα πρόγραμμα χειρισμού μενού σε ενέργειες που σχετίζονται με προγραμματιστές. Θα αφήσουμε απλά μηνύματα Toast προς το παρόν.

onPause

Κάθε εφαρμογή θα πρέπει να χρησιμοποιεί μερικά ωραία οπτικά στοιχεία, εικονίδια κ.λπ. Η ομάδα του Google Glass παρέχει ένα πολύ μεγάλο σύνολο κοινών τυποποιημένων εικονιδίων που είναι δωρεάν για προγραμματιστές Glass για χρήση στις εφαρμογές τους. Μπορείτε να βρείτε ένα πλήρες σύνολο τυπικών εικονιδίων Glass καθώς και γραμματοσειρών στη βιβλιοθήκη τους

Προς το παρόν, χρειάζεστε μόνο ένα εικονίδιο MainActivity, οπότε προχωρήστε και κατεβάστε το στο MainActivity ντοσιέ. Θα χρησιμοποιήσουμε αυτό το εικονίδιο αντί να κατεβάσουμε μια εικόνα του προγραμματιστή.

Το τελευταίο πράγμα που απομένει στον οδηγό ανάπτυξης εφαρμογών Glass προς το παρόν είναι να παρακάμψουμε το

 χειριστής στο 
, όπου θα ελέγξουμε ποια πλατφόρμα ανάπτυξης προωθήθηκε από 
 και συμπληρώστε τη λίστα μας.

Μπορείτε να φύγετε

|_+_|
και
 μεθόδους όπως στο 
|_+_|
.

Εάν ξεκινήσετε την εφαρμογή σας τώρα, μπορείτε να ελέγξετε πώς δημιουργούνται τα προφίλ προγραμματιστή σας με βάση το μενού που επιλέχθηκε στο

. Και πάλι, έχετε την επιλογή να εμφανίσετε το μενού σας χρησιμοποιώντας 'Εντάξει γυαλί' ή πατώντας το touchpad ή χρησιμοποιώντας φωνητική ενεργοποίηση. Δείτε το προφίλ του '10ου προγραμματιστή Android' αυτήν τη στιγμή:

Στο παράδειγμα εφαρμογής Glass, η 10η οθόνη Android Developer μοιάζει με αυτήν.

Πατώντας το μενού αφής:

Πατώντας στην οθόνη του Google Glass εμφανίζεται η ένδειξη

Και λέγοντας 'Εντάξει γυαλί' εμφανίζει το φωνητικό μενού:

Η φωνητική εντολή

Σύρετε προς τα κάτω από τη λίστα για να επιστρέψετε στην αρχική οθόνη της εφαρμογής σας.

Λήψη προφίλ από το Διαδίκτυο

Για να ολοκληρώσουμε τα πράγματα, ας συμπληρώσουμε το μενού με πραγματικές πληροφορίες για τους 10 κορυφαίους προγραμματιστές ApeeScape JavaScript , Android , και ios .

Θα πρέπει να κατεβάσετε τις φωτογραφίες του προφίλ τους και να τις διαθέσετε μέσω HTTP ή απλώς να χρησιμοποιήσετε διευθύνσεις URL απευθείας από toptal.com .

Δεδομένου ότι η δημιουργία ενός προγράμματος ανίχνευσης ιστού μόνο για να λάβετε ονόματα κορυφαίων προγραμματιστών στο ApeeScape μπορεί να είναι υπερβολική παράκαμψη για αυτό το άρθρο, έχω δημιουργήσει αρχεία JSON για να τα χρησιμοποιήσετε Android , JavaScript , και ios .

Στην εφαρμογή σας, το πρώτο πράγμα που πρέπει να κάνετε είναι να ζητήσετε πρόσβαση στο Διαδίκτυο από το λειτουργικό σας σύστημα Android. Προσθέστε την ακόλουθη γραμμή στο αρχείο Manifest

|_+_|

Λάβετε υπόψη ότι το Glass δεν θα σας επιτρέψει να αποκλείσετε το κύριο νήμα χρησιμοποιώντας αιτήματα HTTP απευθείας. Θα χρειαστεί να χειριστείτε τις λήψεις JSON και μεμονωμένες εικόνες με ασύγχρονο τρόπο. Μπορείτε να χρησιμοποιήσετε μια εργασία async, να δημιουργήσετε τη δική σας υπηρεσία λήψης ή πρόθεση ή ό, τι προτιμάτε στην καθημερινή σας εργασία.

Η δημιουργία αυτής της λειτουργικότητας δεν είναι συγκεκριμένη για το Google Glass, επομένως θα παραλείψω αποσπάσματα κώδικα. Αν προχωρήσετε μπροστά και αποκτήσετε αυτό το τελευταίο κομμάτι λειτουργικότητας, οι κάρτες προφίλ σας θα πρέπει να έχουν την εξής μορφή:

Αυτό είναι το βιογραφικό του Google Glass της προγραμματιστής της ApeeScape, Anna Chiara Bellini.

Αυτό είναι το βιογραφικό του Google Glass του προγραμματιστή ApeeScape, Samuel Edwards.

Συμπληρώστε τον οδηγό

Ελπίζω να διασκεδάσατε ακολουθώντας αυτό το σεμινάριο ανάπτυξης του Google Glass και την κατασκευή της πρώτης σας εφαρμογής Glassware. Μέχρι τώρα, θα πρέπει να είστε άνετοι με την ιδέα ότι η σύνταξη εφαρμογών για το Glass δεν είναι πολύ διαφορετική από οποιαδήποτε άλλη πλατφόρμα Android.

Σε αυτό το σημείο, έχετε μάθει πώς να επεκτείνετε την Αρχική οθόνη ενεργοποιημένη με φωνή Google Glass, πώς να δημιουργήσετε τα δικά σας μενού με ενεργοποιημένη τη φωνή και πώς να συνδυάσετε τα χειριστήρια φωνής με χειρονομίες αφής. Θα πρέπει επίσης να κατανοήσετε τις έννοιες και τα βασικά δομικά στοιχεία για το Glass UI, όπως κάρτες, διατάξεις και στοιχεία. Έχετε δει πώς να δημιουργήσετε δυναμικά κάρτες και πώς να πλοηγηθείτε μεταξύ διαφορετικών δραστηριοτήτων.

Για να καταδυθείτε πιο βαθιά, μεταβείτε στους πόρους προγραμματιστών της Google στη διεύθυνση προγραμματιστές.google.com/glass . Όταν αρχίσετε να δημιουργείτε πιο περίπλοκες εφαρμογές, θα αποδειχθεί πολύ χρήσιμος πόρος.

Σας υπενθυμίζουμε ότι το Glass βρίσκεται ακόμη στη φάση ανάπτυξης και πιθανότατα θα πρέπει να εφαρμοστούν πολλές ακόμη βελτιώσεις πριν φτάσει στην καταναλωτική αγορά. Έχοντας αυτό κατά νου, έχω μια σημαντική σημείωση για εσάς:

Έχει απομείνει αρκετή δουλειά στη φωνητική αναγνώριση και μπορεί να πιείτε τον εαυτό σας να φωνάζει στον φανταστικό σας φίλο ενώ προσπαθείτε να ξεκινήσετε τη δραστηριότητά σας ή να συμπληρώσετε κάποιες πληροφορίες. Μην ανησυχείτε εκεί - όλοι όσοι δοκιμάζουν την ανάπτυξη του Google Glass αισθάνονται το ίδιο, οπότε δεν είστε μόνοι.

Η τεχνολογία θα βελτιωθεί και το γυαλί θα είναι έτοιμο για λιανικό εμπόριο σε σύντομο χρονικό διάστημα. Είναι βέβαιο ότι θα κάνει μεγάλα κύματα μόλις χτυπήσει τα καταστήματα, οπότε ελπίζω να είστε τόσο ενθουσιασμένοι όσο είμαι ένας από τους πρώτους που βγήκε στην πρώτη γραμμή αυτής της συναρπαστικής τεχνολογίας!


Φωνάζω : Τα στιγμιότυπα οθόνης σε αυτό το άρθρο δημιουργούνται χρησιμοποιώντας [προστασία μέσω email] .

Τι παιχνίδι μπορεί να μας διδάξει το παιχνίδι UX για το σχεδιασμό προϊόντων

Κύκλος Ζωής Προϊόντος

Τι παιχνίδι μπορεί να μας διδάξει το παιχνίδι UX για το σχεδιασμό προϊόντων
Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές

Γνωρίστε το Volt, ένα πολλά υποσχόμενο Ruby Framework για δυναμικές εφαρμογές

Διεπαφή Ιστού

Δημοφιλείς Αναρτήσεις
Μάθετε αυτές τις δημοφιλείς τάσεις με αυτά τα μαθήματα του Photoshop
Μάθετε αυτές τις δημοφιλείς τάσεις με αυτά τα μαθήματα του Photoshop
Ενεργοποιήστε το Angular 2: Αναβάθμιση από 1.5
Ενεργοποιήστε το Angular 2: Αναβάθμιση από 1.5
Απεριόριστη κλίμακα και δωρεάν φιλοξενία ιστοσελίδων με σελίδες GitHub και Cloudflare
Απεριόριστη κλίμακα και δωρεάν φιλοξενία ιστοσελίδων με σελίδες GitHub και Cloudflare
Διευθυντής λειτουργιών Marketplace
Διευθυντής λειτουργιών Marketplace
Εισαγωγή στο λειτουργικό σύστημα ρομπότ: Το απόλυτο πλαίσιο εφαρμογής ρομπότ
Εισαγωγή στο λειτουργικό σύστημα ρομπότ: Το απόλυτο πλαίσιο εφαρμογής ρομπότ
 
Μεγάλα πρόσφατα παραδείγματα επιτυχημένης ανταγωνιστικής στρατηγικής
Μεγάλα πρόσφατα παραδείγματα επιτυχημένης ανταγωνιστικής στρατηγικής
Lighter and Faster - Ένας οδηγός για το Svelte Framework
Lighter and Faster - Ένας οδηγός για το Svelte Framework
Ένα σεμινάριο για τις φιλοδοξίες του Google Glass Developers: Δημιουργία της πρώτης σας εφαρμογής Glass
Ένα σεμινάριο για τις φιλοδοξίες του Google Glass Developers: Δημιουργία της πρώτης σας εφαρμογής Glass
The Statistic Edge: Βελτιώστε τις μετρήσεις σας με τη μέθοδο αναλογιστικής αποτίμησης
The Statistic Edge: Βελτιώστε τις μετρήσεις σας με τη μέθοδο αναλογιστικής αποτίμησης
Είναι οι αγορές εκατομμυρίων δολαρίων καλύτερες από τις αγορές δισεκατομμυρίων δολαρίων;
Είναι οι αγορές εκατομμυρίων δολαρίων καλύτερες από τις αγορές δισεκατομμυρίων δολαρίων;
Δημοφιλείς Αναρτήσεις
  • πώς να φτιάξετε γυαλί google
  • πού να χρησιμοποιήσετε το node js
  • στοιχεία και αρχές των παραδειγμάτων σχεδιασμού
  • πώς να φτιάξετε ένα διακριτικό erc20
  • ψυχολογικές επιπτώσεις του κόκκινου χρώματος
  • διαφορά μεταξύ ac και s corp
Κατηγορίες
  • Τροποσ Ζωησ
  • Ζωή Σχεδιαστών
  • Kpi Και Analytics
  • Σχεδιασμός Μάρκας
  • © 2022 | Ολα Τα Δικαιώματα Διατηρούνται

    portaldacalheta.pt