$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GDG Münster 2nd Meetup: Vorstellung GDG Münster...
Search
André Roß
October 12, 2017
Programming
0
23
GDG Münster 2nd Meetup: Vorstellung GDG Münster + Android Databinding
André Roß
October 12, 2017
Tweet
Share
Other Decks in Programming
See All in Programming
AI時代を生き抜く 新卒エンジニアの生きる道
coconala_engineer
1
430
re:Invent 2025 のイケてるサービスを紹介する
maroon1st
0
150
AtCoder Conference 2025
shindannin
0
540
AtCoder Conference 2025「LLM時代のAHC」
imjk
2
590
ゲームの物理 剛体編
fadis
0
370
perlをWebAssembly上で動かすと何が嬉しいの??? / Where does Perl-on-Wasm actually make sense?
mackee
0
130
Pythonではじめるオープンデータ分析〜書籍の紹介と書籍で紹介しきれなかった事例の紹介〜
welliving
3
590
Navigation 3: 적응형 UI를 위한 앱 탐색
fornewid
1
460
Spinner 軸ズレ現象を調べたらレンダリング深淵に飲まれた #レバテックMeetup
bengo4com
0
180
AI前提で考えるiOSアプリのモダナイズ設計
yuukiw00w
0
190
Giselleで作るAI QAアシスタント 〜 Pull Requestレビューに継続的QAを
codenote
0
300
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
160
Featured
See All Featured
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.3k
Designing for Performance
lara
610
69k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
510
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
130
Mobile First: as difficult as doing things right
swwweet
225
10k
Joys of Absence: A Defence of Solitary Play
codingconduct
1
260
A better future with KSS
kneath
240
18k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
57
39k
How to train your dragon (web standard)
notwaldorf
97
6.4k
The Cost Of JavaScript in 2023
addyosmani
55
9.4k
The agentic SEO stack - context over prompts
schlessera
0
560
Between Models and Reality
mayunak
0
150
Transcript
GDG Münster 2nd Meetup, 12. Oktober 2017
Was ist die GDG? • Google Developer Group • Unabhängig
• Offen • Community-driven (Themen: Google, Web, Android / iOS, Cloud,…) • Unterstützung von Google • Regelmäßige Meetups
GDG Münster • Seit 2017 • Organizer: Steffen Wellner, André
Roß • Google: google.com/+GDGMünster • Meetup: meetup.com/GDG-Munster
Talks heute 1. Databinding in Android (André Roß) 2. Android
Things (Wolfram Rittmeyer)
Databinding in Android
Was ist Databinding? Verknüpfung zwischen Model und View Model One-Way
Binding Two-Way Binding View Model View
Exkurs Android • Activity: eine Bildschirmseite in der App •
Fragment: Teil einer Activity ShoppingFragment : Fragment FrontpageFragment: (Child-) Fragment MainActivity: Activity
Exkurs Android • Layout: In XML deklariert: ◦ ViewGroups (Container),
z.B. LinearLayout, FrameLayout, RelativeLayout ◦Spezifische Views: TextView, EditText, ImageView
Motivation Member pro View Element findViewById() Unschöner Cast
Motivation Daten setzen z.T. sehr unschön und nicht unit-testbar
Databinding – Getting started • Mit Android Marshmallow released •
Als Support Library ab SDK Level 7 verfügbar (Android 2.1) android { .... dataBinding { enabled = true } }
Databinding - Schritt 1 <layout> tag im xml als root
=> Autogeneriertes Binding Objekt (Views als Member)
Autogeneriertes Binding Object - Ein statt mehrerer View Member -
Kein lästiges findViewById() mehr Spezifische Views in Binding autogeneriert - Kein Cast mehr Daten setzen noch sehr unschön
Databinding - Schritt 2 •<data> tag im Layout setzen •Daten
setzen auf Binding Objekt
Databinding - Schritt 2 Zugriff auf das Model im Layout
mit Binding Expression @{…} Zu viel Logik im Layout! • schwierig zu debuggen • Nicht testbar mit Unit-Test
Databinding in Android - Schritt 3 Einführung von ViewModels
Zugriff auf ViewModel in xml Display Logik in ViewModel
None
Databinding - Schritt 3 •Custom Binding Adapter
Weitere Features •Null Safety •Null Coalascing Operator •Custom Binding Conversions
•Observable Objects •Observable Fields •Two-Way-Binding
Fazit •Weniger Boilerplate Code (View member, findViewById) •‘Bequemere’ Verknüpfung zwischen
Model und View •Vorsicht, nicht zuviel Logik ins Layout (nicht testbar, nicht debuggable) •Display Logik ins ViewModel
Beispiel aus der Praxis • Custom Binding Adapter für ImageView
mit ProgressBar
Layout Binding Adapter
ImageLoadedCallback
Links Github Sample Project https://github.com/AndreRoss/databinding_sample Android Developer Documentation https://developer.android.com/topic/libraries/data-binding/index.html Fragmented
Podcast Episode 057: Data Binding with GDE Lisa Wray http://fragmentedpodcast.com/2016/09/
Vielen Dank für die Aufmerksamkeit! André Roß
[email protected]
https://www.xing.com/profile/Andre_Ross5