Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Introduction to Android development
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Danny Preussler
November 17, 2017
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Introduction to Android development
Lecture to students of University of Malta
Danny Preussler
November 17, 2017
Transcript
38 slides
WHAT’S UP WITH University Malta Danny Preussler @PreusslerBerlin
WHAT DO I KNOW OF GAMES?
WHO’S THAT GERMAN?
WHAT’S A DEVELOPER EXPERT?
WHAT’S A DEVELOPER EXPERT?
2009 ANDROID
WHATS UNDER THE HOOD?
None
WRITE ANDROID IN
TOOLS FOR NATIVE APPS Powered by
BUILDING BLOCKS •Activities •Services •Broadcasts
SERVICE
ACTIVITY
ACTIVITY Activity Activity Intent View View View
INTENT • startActivity( new Intent(getContext(), MainActivity.class)); • startActivity( new Intent(ACTION_VIEW,
Uri.parse(uri)));
ACTIVITY Activity Activity Activity Activity
VIEWS • Extend the class View • Defined by Code
or XML
VIEWS • Grouped in Layouts/Viewgroups (old)
VIEWS <TextView style="@style/Label10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop=”5dp" android:paddingBottom=”10dp" android:paddingStart=”6dp" android:paddingEnd=”6dp" android:text="show
this" android:textAllCaps="true" />
SOOO 2016 • Material Design • Firebase • ConstraintLayout •
Databinding • RxJava
RESOURCES
RESOURCES png files
None
DRAWABLES • PNG • XML • WEBP • Vector drawables
RESOURCES Layout xml
CONFIGURATIONS •Configuration change can be: •Rotation •Any resize i.e. split
screen •Language change
RESOURCES combinable
RESOURCES <!-- captions, menu, buttons --> <string name="settings">"Einstellungen"</string> <string name="action_overflow_menu">"Mehr"</string>
<string name="action_settings">"Einstellungen"</string> <string name="action_search">"Suche"</string> <string name="action_share">"Teilen"</string>
VIEWS <TextView style="@style/Label10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingTop="@dimen/settings_page_small_text_padding_top" android:paddingBottom="@dimen/settings_page_small_text_padding_bottom" android:paddingStart="@dimen/settings_page_padding_horizontal" android:paddingEnd="@dimen/settings_page_padding_horizontal" android:text="@string/dev_tve"
android:textAllCaps="true" />
ANIMATIONS myView.animate() .translationX(100) .alpha(1f) .duration(100) .start()
ANIMATIONS <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true" > <alpha android:duration="1000"
android:fromAlpha="0.0" android:toAlpha="1.0" /> </set>
RESOURCES
ANIMATIONS SpringAnimation FlingAnimation
TRANSITIONS Transition explode = new Explode(); TransitionManager.beginDelayedTransition( recyclerView, explode);
THE WAY OF A NOTIFICATION • Sent • Wakes up
app • App retrieves content • Might load more from backend • Shows notification w/o actions • Actions/clicks trigger intent • Show activity
ANDROID IS MORE THAN PHONE
None
WHAT’S UP WITH University Malta Danny Preussler @PreusslerBerlin
More Decks by Danny Preussler
See All by Danny Preussler
Clean Code Revisited in Age of AI (Droidcon USA)
dpreussler
2
87
Testing, how hard can it be? (Droidcon Lisbon 2022)
dpreussler
3
560
Take your Kotlin to the next step, abandon what you’ve learned (in Java)
dpreussler
0
740
The Power of Types, KotlinConf 2019
dpreussler
7
1.5k
Java vs Kotlin
dpreussler
0
630
Property Delegation with Kotlin for Android
dpreussler
1
170
Java vs Kotlin
dpreussler
2
640
To inject or not to inject: Dependency Injection with Kotlin (Droidcon Nairobi)
dpreussler
4
360
TDD on Android
dpreussler
4
430
Other Decks in Programming
See All in Programming
Modernizing iOS Apps
seyfoyun
0
160
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
260
Crash Auto Pipelines
veronikapj
1
420
AI時代のシニアエンジニアとは
yosuke_furukawa
PRO
15
12k
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
290
Spec-driven Development with AI
simas
PRO
0
2.3k
エラーチャンネルのボールを拾い続けて鍛えるエンジニアの地力 / phpcon-niigata2026
meihei3
1
170
AI Augmentation Techniques with Liberty
ivargrimstad
1
480
Vue.jsで作る空間解析アプリとCapacitorプラグインのData Bridge
hal_spidernight
1
170
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
9.2k
Secure Your Coding Agent Like It’s Malware (v1.5) 🇬🇧 @Code.talks 2026
richargh
0
150
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
2.1k
Featured
See All Featured
KATA
mclloyd
PRO
35
16k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
610
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
460
Marketing to machines
jonoalderson
1
6k
Being A Developer After 40
akosma
PRO
92
590k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
1
300
Six Lessons from altMBA
skipperchong
29
4.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.4k
Navigating Weather and Climate Data
rabernat
0
590
Thoughts on Productivity
jonyablonski
76
5.5k
The Limits of Empathy - UXLibs8
cassininazir
2
780