14
Что нового в Android M Developer Preview 1

Что нового в Android M?

Embed Size (px)

Citation preview

Что нового вAndroid M

Developer Preview 1

Кирилл Данилов

http://www.techradar.com/news/phone-and-communications/mobile-phones/android-m-what-will-google-name-its-next-os--1295047

Кирилл ДаниловРазработчик веб-продуктов полного цикла, имеет большой опыт разработки мобильных приложений под разные платформы. Поклонник хакатон движения, открытых вэб технологий и носимой техники. Докладчик на ИТ конференциях и митапах. Ранее евангелист платформ Tizen и Android в Samsung [email protected]

facebook.com/broderix

twitter.com/broderix

google.com/+KirillDanilov

Что нового в Android M

● Apps permissions● App links● Data Binding● Android Design Support Library● WebView● И ещё кое что

Developer Preview

Nexus 5, 6, 9, TV

Apps permissions● instal-time permission

○ Устанавливаешь, а потом разрешаешь○ Настройки permissions всех приложений

● Как это работает○ Приложения для M могут:

■ спросить любое permission в любое время○ Legacy приложения могут:

■ получить все permissions во время установки, как и раньше

○ Пользователи могут:■ запретить любой permission по требованию■ запретить любой permission сразу или позже

- даже в legacy приложениях

https://github.com/googlesamples/android-RuntimePermissions

App linkshttp://example.com/.well-known/statements.json[{ "relation": ["delegate_permission/common.handle_all_urls"], "target": { "namespace": "android_app", "package_name": "com.example.myapp", "sha256_cert_fingerprints": ["01:23:45:.."] }}]

https://d.android.com/preview/features/app-linking.html

AndroidManifest.xml<activity ...> <intent-filter android:autoVerify="true"> ... <data android:scheme="http" android:host="example.com"/> <data android:scheme="http" android:host="www.example.com"/> </intent-filter></activity>

App linksСоздание app links● Во время установки

○ Package Manager выгрузает statements.json○ Ищет совпадения hash к APK's singing certificate

● Эти ссылки будут запускать ваше приложение○ ссылки не будут созданы в случае ошибок○ будет показан обычный intent chooser

● Пользователи могут оценивать и менять app links○ Settings -> Apps -> (Ваш app) -> Open by default

https://d.android.com/preview/features/app-linking.html

Data Binding (Beta)● Android 2.1 (API level 7+) Gradle 1.3.0-beta1 ● Connection data and UI elements

○ Automates listener creation, message sending, setters, etc.○ Pre-processed at build time

<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@{user.firstName}"/>

https://developer.android.com/tools/data-binding/guide.html

public class User { public final String firstName; public final String lastName; public User(String firstName, String lastName) { this.firstName = firstName; this.lastName = lastName; }}

Android Design Support Library

● CoordinatorLayout● Snackbar● TabLayout● NavigationView● TextInputLayout● FAB (setOffscreenPreRaster)● RecyclerView ItemTouchHelper

○ Swipe-to-dismiss○ Drag & Drop

Webview

● PostMessage● WebViewClient● WebSettings.setOffscreenPreRaster()

http://developer.android.com/reference/android/webkit/WebViewClient.html

Остальное● AndroidPay● Fingerprint Support● Direct share● android.graphincs.drawable.Icon● Text Selection/Text Processing/Higher Quality Text Formatting● Better stylus support (bluetooth, pressure, buttons, eraser, etc)● Power & charging (Doze, app standby)● Direct share● Voice Interactions● Automatic app data backups● Tools: Android Studio 1.3, Vector drawables, New Annotations,

Android NDK (C/C++), Systrace