Post on 07-Aug-2015
http://www.techradar.com/news/phone-and-communications/mobile-phones/android-m-what-will-google-name-its-next-os--1295047
Кирилл ДаниловРазработчик веб-продуктов полного цикла, имеет большой опыт разработки мобильных приложений под разные платформы. Поклонник хакатон движения, открытых вэб технологий и носимой техники. Докладчик на ИТ конференциях и митапах. Ранее евангелист платформ Tizen и Android в Samsung Russia.hello@kirilldanilov.com
facebook.com/broderix
twitter.com/broderix
google.com/+KirillDanilov
Что нового в Android M
● Apps permissions● App links● Data Binding● Android Design Support Library● WebView● И ещё кое что
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
СпасибоВопросы?
Кирилл Даниловhello@kirilldanilov.com
facebook.com/broderix
twitter.com/broderix
google.com/+KirillDanilov