3. Кирилл Данилов
Разработчик веб-продуктов полного цикла,
имеет большой опыт разработки
мобильных приложений под разные
платформы. Поклонник хакатон движения,
открытых вэб технологий и носимой
техники. Докладчик на ИТ конференциях и
митапах. Ранее евангелист платформ Tizen
и Android в Samsung Russia.
hello@kirilldanilov.com
facebook.com/broderix
twitter.com/broderix
google.com/+KirillDanilov
4. Что нового в Android M
● Apps permissions
● App links
● Data Binding
● Android Design Support Library
● WebView
● И ещё кое что
7. Apps permissions
● instal-time permission
○ Устанавливаешь, а потом разрешаешь
○ Настройки permissions всех приложений
● Как это работает
○ Приложения для M могут:
■ спросить любое permission в любое время
○ Legacy приложения могут:
■ получить все permissions во время
установки, как и раньше
○ Пользователи могут:
■ запретить любой permission по требованию
■ запретить любой permission сразу или позже
- даже в legacy приложениях
https://github.com/googlesamples/android-RuntimePermissions
9. 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
10. 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;
}
}
11. Android Design Support Library
● CoordinatorLayout
● Snackbar
● TabLayout
● NavigationView
● TextInputLayout
● FAB (setOffscreenPreRaster)
● RecyclerView ItemTouchHelper
○ Swipe-to-dismiss
○ Drag & Drop