Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AndroidでJava8
Search
Naoki Morioka
October 01, 2015
Programming
0
310
AndroidでJava8
関西モバイルアプリ研究会 #6で発表
Naoki Morioka
October 01, 2015
Tweet
Share
More Decks by Naoki Morioka
See All by Naoki Morioka
Androidアプリ開発からみた RxJavaの使いどころ
nmorioka
1
3.9k
10年運用している 画像サービスでのJavaの活用と 今後の展望
nmorioka
0
570
モバイルアプリでHTTP/2
nmorioka
1
130
既存AndroidアプリでKotlin導入を考える
nmorioka
0
120
Cardbord SDK
nmorioka
0
91
Other Decks in Programming
See All in Programming
CSC509 Lecture 05
javiergs
PRO
0
300
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
730
TFLintカスタムプラグインで始める Terraformコード品質管理
bells17
2
160
タスクの特性や不確実性に応じた最適な作業スタイルの選択(ペアプロ・モブプロ・ソロプロ)と実践 / Optimal Work Style Selection: Pair, Mob, or Solo Programming.
honyanya
3
160
CSC305 Lecture 05
javiergs
PRO
0
210
XP, Testing and ninja testing ZOZ5
m_seki
3
630
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
570
Go Conference 2025: Goで体感するMultipath TCP ― Go 1.24 時代の MPTCP Listener を理解する
takehaya
9
1.7k
PHPに関数型の魂を宿す〜PHP 8.5 で実現する堅牢なコードとは〜 #phpcon_hiroshima / phpcon-hiroshima-2025
shogogg
1
200
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
0
1.1k
株式会社 Sun terras カンパニーデック
sunterras
0
290
Range on Rails ―「多重範囲型」という新たな選択肢が、複雑ロジックを劇的にシンプルにしたワケ
rizap_tech
0
120
Featured
See All Featured
Leading Effective Engineering Teams in the AI Era
addyosmani
2
320
GitHub's CSS Performance
jonrohan
1032
470k
Building Adaptive Systems
keathley
43
2.8k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Embracing the Ebb and Flow
colly
88
4.8k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
The Invisible Side of Design
smashingmag
302
51k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Making Projects Easy
brettharned
119
6.4k
Designing for humans not robots
tammielis
254
26k
Transcript
"OESPJEͰ+BWB !O@NPSJPLB ؔϞόΠϧΞϓϦݚڀձ
"CPVUNF w Ԭঘه !O@NPSJPLB w ϑϦϡʔגࣜձࣾͰ৭ʑͳ։ൃͬͯ·͢ αʔό αΠυ+BWB "OESPJE
J04FUD w ҎલʹۀͰϖϯΪϯࣂ͍ͬͯͨ͜ͱ͕͋Γ·͢
'JSTU ,PUMJOߦ͚Δਓ,PUMJOΖ͏ʂ
"OESPJE+BWB w +BWB·ͰରԠ 4%,W w USZXJUISFTPVSDFߏจNJO4EL7FSTJPOҎ߱ Ͱར༻Մೳ
"OESJE+BWB1SPCMFNT w ಗ໊ΫϥεΛΑ͘͏"OESPJE։ൃͰίʔυ͕ w 3Y"OESPJEΛ͍ͬͯΔͱ͞ΒʹݦஶʹՄಡੑ͕ Լ͕Δ w
͚ͩͲ+BWBͳΒ ·ͩΕΔͣ
… final Button button = new Button(this); button.setOnClickListener(new OnClickListener() {
public void onClick(View v) { // ΫϦοΫॲཧ } }); … … final Button button = new Button(this); button.setOnClickListener(view -> { // ΫϦοΫॲཧ }); … +BWB +BWB +BWB$PEF
+BWB/FX'FBUVSFT w ϥϜμࣜ w ΠϯλʔϑΣΠεͷ༷มߋ w ετϦʔϜ"1* w 0QUJPOBMͷಋೖ w
+BWB'9 w ͱ࣌ࠁͷ৽ͨͳ"1* w /BTIPSO+BWB4DSJQUΤϯδϯ w ฒߦॲཧͷػೳڧԽ
݁ߏଟ͍
8IZ+BWBJTOPUTVQQPSUFE w ͦͦ"OESPJEΞϓϦ+BWB7.Ͱಈ͍͍ͯΔΘ ͚Ͱͳ͍ w +BWBͷόΠτίʔυzJOWPLFEZOBNJDz +43 ʹ ͍ͭͯEY͕ରԠ͍ͯ͠ͳ͍ͷͰͳ͍͔ w
+BWB༷શʹຬ͍ͨͯ͠ͳ͍ʁ
Ͳ͏ʹ͔ͳΒΜ͔ʁ
3FUSPMBNCEB IUUQTHJUIVCDPNPSGKBDLBMSFUSPMBNCEB ϥϜμࣜͳͲͷ+BWBͰίϯύΠϧ͞ΕͨόΠτίʔ υΛ+BWB PSʹ࣮ͯߦग़དྷΔΑ͏ʹ͠·͢
.FDIBOJTN +BWB KBWBϑΝΠϧ +BWB DMBTTϑΝΠϧ +BWB DMBTTϑΝΠϧ "OESPJE EFYϑΝΠϧ KBWBD⾣
BTN⾣ SFUSPMBNCEB EY⾣
JOWPLFEZOBNJD ˣ JOWPLFWJSUVBMFUD
'FBUVSFT w -BNCEBFYQSFTTJPOT w .FUIPESFGFSFODFT w %FGBVMUNFUIPET4UBUJDNFUIPETPO JOUFSGBDFT Wd
w 5SZXJUISFTPVSDFTTUBUFNFOUT
*OUSPEVDUJPO buildscript { repositories { jcenter() } dependencies { classpath
'me.tatarka:gradle-retrolambda:3.2.3' } } repositories { jcenter() } apply plugin: 'com.android.application' apply plugin: 'me.tatarka.retrolambda' CVJMEHSBEMF
*NQSFTTJPO w ϓϩμΫτʹΈࠐΜͰͳ͘ಈ࡞͍ͯ͠Δ w গਓνʔϜͰͷར༻͕ਪ͞Εͦ͏ɻར༻ग़དྷͳ ͍+BWB"1*ʹ͍ͭͯࣄલʹڞ༗ͳͲඞਢ w ίʔυϨϏϡʔ͕େḿ͍ͬͯΔؾ͕͢Δ
0UIFS w 0QUJPOBMͷಋೖ⾣3Y+BWB0QUJPOBM 'VODUJPOBM +BWB HVBWB w ετϦʔϜ"1*⾣TUSFBNTVQQPSU 'VODUJPOBM +BWB
(4$PMMFDUJPO w +BWB'9⾣+BWB'91PSUT w ͱ࣌ࠁͷ৽"1*⾣5ISFF5FO +PEB5JNF "OESPJE
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ