| Τύπος αρχείου | APK |
|---|---|
| Εκδοχή | Preview |
| Εκδότης | |
| Ημερομηνία κυκλοφορίας | 25 Οκτ 2017 |
| Ημερομηνία προστέθηκε | 25 Οκτ 2017 |
| Απαιτήσεις Os | Android |
| Απαιτήσεις | Only compatible with the Nexus 5X, Nexus 6P, Pixel C, Pixel, Pixel XL, Pixel 2, and Pixel 2 XL. |
| Σύνολο λήψεων | 1.002 |
| Λήψεις ανά εβδομάδα | 8 |
| Τιμή | Free |
Περιγραφή
Το Android O εισάγει μια ποικιλία νέων λειτουργιών και δυνατοτήτων για χρήστες και προγραμματιστές. Αυτό το έγγραφο επισημαίνει τι νέο υπάρχει για τους προγραμματιστές.
Βεβαιωθείτε ότι έχετε ελέγξει τις Αλλαγές συμπεριφοράς Android O για να μάθετε σχετικά με τις περιοχές όπου οι αλλαγές πλατφόρμας ενδέχεται να επηρεάσουν τις εφαρμογές σας.
API νευρωνικών δικτύων
Το Neural Networks API (NNAPI) παρέχει σε εφαρμογές επιτάχυνση υλικού για λειτουργίες μηχανικής εκμάθησης στη συσκευή. Το API υποστηρίζει τη δημιουργία, τη μεταγλώττιση και την εκτέλεση μοντέλων στη συσκευή. Οι εφαρμογές συνήθως δεν χρησιμοποιούν απευθείας το NNAPI. Αντίθετα, το NNAPI προορίζεται να καλείται από βιβλιοθήκες μηχανικής εκμάθησης, πλαίσια και εργαλεία που επιτρέπουν στους προγραμματιστές να εκπαιδεύουν τα μοντέλα τους και να τα αναπτύσσουν σε συσκευές Android.
Για να μάθετε περισσότερα σχετικά με το Neural Networks API, ανατρέξτε στα έγγραφα αναφοράς του Neural Networks API και στον οδηγό προγραμματιστή του Neural Networks API.
Ειδοποιήσεις
Android 8.1 Developer Preview 1 περιλαμβάνει τις ακόλουθες αλλαγές στις ειδοποιήσεις:
Οι εφαρμογές μπορούν πλέον να παράγουν έναν ήχο ειδοποίησης μόνο μία φορά το δευτερόλεπτο. Οι ήχοι ειδοποιήσεων που υπερβαίνουν αυτόν τον ρυθμό δεν βρίσκονται στην ουρά και χάνονται. Αυτή η αλλαγή δεν επηρεάζει άλλες πτυχές της συμπεριφοράς των ειδοποιήσεων και τα μηνύματα ειδοποιήσεων εξακολουθούν να δημοσιεύονται όπως αναμένεται.
Το NotificationListenerService και το ConditionProviderService δεν υποστηρίζονται σε συσκευές με Android χαμηλής μνήμης RAM που επιστρέφουν true όταν καλείται η ActivityManager.isLowRamDevice().
Βελτιωμένη στόχευση για συσκευές χαμηλής μνήμης RAM
Το Android 8.1 (επίπεδο API 27) προσθέτει δύο νέες σταθερές δυνατοτήτων υλικού, FEATURE_RAM_LOW και FEATURE_RAM_NORMAL, στο Package Manager. Αυτές οι σταθερές σάς επιτρέπουν να στοχεύσετε τη διανομή των εφαρμογών σας και τους διαχωρισμούς APK σε συσκευές με κανονική ή χαμηλή μνήμη RAM.
Αυτές οι σταθερές επιτρέπουν στο Play store να προωθήσει μια καλύτερη εμπειρία χρήστη επισημαίνοντας εφαρμογές που ταιριάζουν ιδιαίτερα στις δυνατότητες μιας δεδομένης συσκευής.
Ενημερώσεις πλαισίου αυτόματης συμπλήρωσης
Το Android 8.1 Developer Preview (επίπεδο API 27) παρέχει αρκετές βελτιώσεις στο πλαίσιο αυτόματης συμπλήρωσης που μπορείτε να ενσωματώσετε στις εφαρμογές σας.
Η Προεπισκόπηση προγραμματιστή προσθέτει υποστήριξη για προσαρμοσμένες περιγραφές που το σύστημα Android εμφανίζει στη διεπαφή αποθήκευσης αυτόματης συμπλήρωσης αντί για την αρχική αναπαράσταση των δεδομένων. Αυτό είναι χρήσιμο, για παράδειγμα, όταν θέλετε να κρύψετε έναν αριθμό πιστωτικής κάρτας και να εμφανίσετε μόνο τα τέσσερα τελευταία ψηφία. Για να μάθετε περισσότερα, ανατρέξτε στην κατηγορία CustomDescription.
Η Προεπισκόπηση προγραμματιστή σάς επιτρέπει να καθορίσετε ένα αντικείμενο Επικύρωσης που μπορεί να χρησιμοποιήσει η εφαρμογή σας για να αποφασίσει εάν το σύστημα Android θα εμφανίζει τη διεπαφή αποθήκευσης αυτόματης συμπλήρωσης. Αυτή η λειτουργία παρέχεται από τη μέθοδο setValidator() της κλάσης SaveInfo.Builder.
Η κλάση BaseAdapter στην Προεπισκόπηση προγραμματιστή περιλαμβάνει τη μέθοδο setAutofillOptions(), η οποία σας επιτρέπει να παρέχετε αναπαραστάσεις συμβολοσειράς των τιμών σε έναν προσαρμογέα. Αυτό είναι χρήσιμο για τα στοιχεία ελέγχου spinner που δημιουργούν δυναμικά τις τιμές στους προσαρμογείς τους. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τη μέθοδο thesetAutofillOptions() για να παρέχετε μια αναπαράσταση συμβολοσειράς της λίστας των ετών που οι χρήστες μπορούν να επιλέξουν ως μέρος της ημερομηνίας λήξης μιας πιστωτικής κάρτας. Οι υπηρεσίες αυτόματης συμπλήρωσης μπορούν να χρησιμοποιήσουν την αναπαράσταση συμβολοσειράς για να συμπληρώσουν κατάλληλα τις προβολές που απαιτούν τα δεδομένα.
Επιπλέον, η κλάση AutofillManager περιλαμβάνει τη μέθοδο notifyViewVisibilityChanged(View, int, boolean) την οποία μπορείτε να καλέσετε για να ειδοποιήσετε το πλαίσιο σχετικά με αλλαγές στην ορατότητα μιας προβολής σε μια εικονική δομή. Υπάρχει επίσης υπερφόρτωση της μεθόδου για μη εικονικές δομές. Ωστόσο, οι μη εικονικές δομές συνήθως δεν απαιτούν από εσάς να ειδοποιήσετε ρητά το πλαίσιο, επειδή η μέθοδος καλείται ήδη από την κλάση View.
Ενημέρωση EditText
Ξεκινώντας με το επίπεδο API 27, η μέθοδος EditText.getText() επιστρέφει ένα Επεξεργάσιμο. προηγουμένως επέστρεψε μια CharSequence. Αυτή η αλλαγή είναι συμβατή με το παρελθόν, καθώς το Editable υλοποιεί το CharSequence.
Η Επεξεργάσιμη διεπαφή παρέχει πολύτιμη πρόσθετη λειτουργικότητα. Για παράδειγμα, επειδή το Editable υλοποιεί επίσης τη διεπαφή Spannable, μπορείτε να εφαρμόσετε σήμανση σε περιεχόμενο σε μια παρουσία του EditText.
Ενέργειες Ασφαλούς περιήγησης μέσω προγραμματισμού
Χρησιμοποιώντας την εφαρμογή WebView του API Ασφαλούς περιήγησης, η εφαρμογή σας μπορεί να εντοπίσει πότε μια παρουσία του WebView επιχειρεί να πλοηγηθεί σε μια διεύθυνση URL που η Google έχει ταξινομήσει ως γνωστή απειλή. Από προεπιλογή, το WebView εμφανίζει μια παρενθετική διαφήμιση, όπως φαίνεται στην Εικόνα 1, που προειδοποιεί τον χρήστη για τη γνωστή απειλή και δίνει την επιλογή να φορτώσει τη διεύθυνση URL ούτως ή άλλως ή να επιστρέψει σε μια προηγούμενη σελίδα που είναι ασφαλής.
Στην προεπισκόπηση προγραμματιστή Android 8.1, μπορείτε να ορίσετε μέσω προγραμματισμού πώς η εφαρμογή σας αποκρίνεται σε μια γνωστή απειλή:
Μπορείτε να ελέγξετε εάν η εφαρμογή σας αναφέρει γνωστές απειλές στην Ασφαλή περιήγηση.
Μπορείτε να βάλετε την εφαρμογή σας να εκτελεί αυτόματα μια συγκεκριμένη ενέργεια -- όπως η επιστροφή στην ασφάλεια -- κάθε φορά που συναντά μια διεύθυνση URL που η Ασφαλής περιήγηση ταξινομεί ως γνωστή απειλή.
Σημείωση: Για βέλτιστη προστασία από γνωστές απειλές, περιμένετε έως ότου αρχικοποιήσετε την Ασφαλή περιήγηση προτού να επικαλεστείτε τη μέθοδο loadUrl() ενός αντικειμένου WebView.
Εξαγωγή μικρογραφιών βίντεο
Η κλάση MediaMetadataRetriever έχει μια νέα μέθοδο, την getScaledFrameAtTime(), η οποία βρίσκει ένα πλαίσιο κοντά σε μια δεδομένη χρονική θέση και επιστρέφει ένα bitmap με τον ίδιο λόγο διαστάσεων με το πλαίσιο προέλευσης, αλλά κλιμακώνεται ώστε να ταιριάζει σε ένα ορθογώνιο δεδομένου πλάτους και ύψους. Αυτό είναι χρήσιμο για τη δημιουργία μικρογραφιών από βίντεο.
Συνιστούμε τη χρήση αυτής της μεθόδου αντί της getFrameAtTime() που μπορεί να σπαταλήσει τη μνήμη επειδή επιστρέφει ένα bitmap με την ίδια ανάλυση με το βίντεο προέλευσης. Για παράδειγμα, ένα καρέ από ένα βίντεο 4K θα ήταν ένα bitmap 16 MB, πολύ μεγαλύτερο από αυτό που θα χρειαζόμασταν για μια μικρογραφία εικόνας.
API κοινόχρηστης μνήμης
Το Android 8.1 (επίπεδο API 27) εισάγει μια νέα κατηγορία SharedMemory. Αυτή η κλάση σάς επιτρέπει να δημιουργείτε, να χαρτογραφείτε και να διαχειρίζεστε ανώνυμη κοινόχρηστη μνήμη που μπορεί να χρησιμοποιηθεί από πολλαπλές διεργασίες ή εφαρμογές.
WallpaperColors API
Το Android 8.1 Developer Preview (επίπεδο API 27) προσθέτει υποστήριξη για τη διαχείριση χρωμάτων ταπετσαρίας. Αυτή η δυνατότητα σάς επιτρέπει να δημιουργήσετε ένα αντικείμενο WallpaperColors από ένα bitmap, ένα σχέδιο ή χρησιμοποιώντας τα τρία πρώτα πιο οπτικά αντιπροσωπευτικά χρώματα. Μπορείτε επίσης να ανακτήσετε λεπτομέρειες των τριών πρώτων αξιοσημείωτων χρωμάτων μιας ταπετσαρίας.
Για να δημιουργήσετε ένα αντικείμενο WallpaperColors, κάντε ένα από τα εξής:
Για να δημιουργήσετε ένα αντικείμενο WallpaperColors χρησιμοποιώντας τρία χρώματα, δημιουργήστε μια παρουσία της κλάσης WallpaperColors περνώντας το κύριο, το δευτερεύον και το τριτογενές χρώμα. Το κύριο χρώμα δεν πρέπει να είναι μηδενικό.
Για να δημιουργήσετε ένα αντικείμενο WallpaperColors από ένα bitmap, καλέστε τη μέθοδο fromBitmap() περνώντας την πηγή bitmap ως παράμετρο.
Για να δημιουργήσετε ένα αντικείμενο WallpaperColors από ένα drawable, καλέστε τη μέθοδο fromDrawable() περνώντας την πηγή σχεδίασης ως παράμετρο.
Για να ανακτήσετε τις λεπτομέρειες του κύριου, δευτερεύοντος ή τριτογενούς χρώματος από την ταπετσαρία, καλέστε τις ακόλουθες μεθόδους:
Η getPrimaryColor() επιστρέφει το πιο εμφανές χρώμα της ταπετσαρίας.
Η getSecondaryColor() επιστρέφει το δεύτερο πιο σημαντικό χρώμα της ταπετσαρίας.
Η μέθοδος getTertiaryColor() επιστρέφει το τρίτο πιο σημαντικό χρώμα της ταπετσαρίας
Για να ειδοποιήσετε το σύστημα για τυχόν σημαντικές αλλαγές χρώματος, καλέστε τη μέθοδο notifyColorsChanged(). Αυτή η μέθοδος ενεργοποιεί ένα συμβάν κύκλου ζωής onComputeColors() όπου έχετε την ευκαιρία να παρέχετε ένα νέο αντικείμενο WallpaperColors.
Για να προσθέσετε έναν ακροατή για αλλαγές χρώματος, μπορείτε να καλέσετε τη μέθοδο addOnColorsChangedListener(). Μπορείτε επίσης να καλέσετε τη μέθοδο getWallpaperColors() για να ανακτήσετε τα κύρια χρώματα μιας ταπετσαρίας.
Ενημερώσεις δακτυλικών αποτυπωμάτων
Η κλάση FingerprintManager έχει εισαγάγει τους ακόλουθους κωδικούς σφάλματος:
FINGERPRINT_ERROR_LOCKOUT_PERMANENT - Ο χρήστης έχει προσπαθήσει πάρα πολλές φορές να ξεκλειδώσει τη συσκευή του χρησιμοποιώντας τη συσκευή ανάγνωσης δακτυλικών αποτυπωμάτων.
FINGERPRINT_ERROR_VENDOR - Παρουσιάστηκε σφάλμα ανάγνωσης δακτυλικών αποτυπωμάτων για συγκεκριμένο προμηθευτή.