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
AndroidO対応 / Souzoh Android Talk Kauru O
Search
mochico
February 28, 2018
Technology
750
2
Share
AndroidO対応 / Souzoh Android Talk Kauru O
AndroidO対応の実践についての知見です
https://mercari.connpass.com/event/78966/
mochico
February 28, 2018
More Decks by mochico
See All by mochico
Jetpack Glanceではじめる Material 3のColor
mochico
1
2.7k
Invitation for modern Android UI development - Basic of Jetpack Compose
mochico
1
400
Title : Let's Preview! Jetpack Compose
mochico
2
1.7k
Build app fast on Android Studio 4.+
mochico
0
2.2k
How to Motion Editor - Report from Android Dev Summit 2019
mochico
3
1.6k
Google I/O 2019 WAIWAI Reporting Session Overview
mochico
0
80
Report of Firebase Summit 2018
mochico
1
2.6k
Kotlin Fest 2018 わいわい報告会 / mochicoroutines
mochico
0
310
start from Convert to Kotlin
mochico
2
9.8k
Other Decks in Technology
See All in Technology
生成AIはソフトウェア開発の革命か、ソフトウェア工学の宿題再提出なのか -ソフトウェア品質特性の追加提案-
kyonmm
PRO
2
860
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.2k
[Oracle TechNight#99] 生成AI時代のAI/ML入門 ~ AIとオラクルデータベースの関係 (前半)
oracle4engineer
PRO
2
240
ボトムアップ限界を越える - 20チームを束る "Drive Map" / Beyond Bottom-Up: A 'Drive Map' for 20 Teams
kaonavi
0
170
「強制アップデート」か「チームの自律」か?エンタープライズが辿り着いたプラットフォームのハイブリッド運用/cloudnative-kaigi-hybrid-platform-operations
mhrtech
0
150
ブラウザの投機的読み込みと投機ルールAPIを理解し、Webサービスのパフォーマンスを最適化する
shuta13
3
290
AI駆動開発で生産性を追いかけたら、行き着いたのは品質とシフトレフトだった
littlehands
0
460
SLI/SLO、「完全に理解した」から「チョットデキル」へ
maruloop
1
150
Modernizing Your HCL Connections Experience: Visual Report to chain, Profile Enhancements, and AI Integration
wannesrams
0
290
Building Production-Ready Agents Microsoft Agent Framework
_mertmetin
0
160
QAエンジニアはどうやって プロダクト議論の場に入れるのか?
moritamasami
2
410
世界の中心でApp Runnerを叫ぶ FINAL
tsukuboshi
0
250
Featured
See All Featured
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.4k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Paper Plane (Part 1)
katiecoart
PRO
0
7.2k
Code Review Best Practice
trishagee
74
20k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.2k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
0
300
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
800
Rails Girls Zürich Keynote
gr2m
96
14k
Transcript
ٕؕؐך"OESPJE0㼎䘔 !NPDIJDP 4PV[PI"OESPJE5BML
"CPVUNF NPDIJDP!@NPDIJDPO@ "OESPJE+BWB,PUMJOTXJGU 5FDICPPTUFS䪮遭剅Ⱙ ًٕٕؕٔؕؐ
None
"OESPJE0דך㢌刿挿
"OESPJE0דך㢌刿挿 ˖ غحؙؚٓؐٝس㹋遤ⵖꣲ ˖ "OESPJEךغحؙؚٓؐٝس⡘縧䞔㜠ךⵖꣲ ˖ ،فٔءّ٦زؕحز ˖ ٗ؛٦ٕה㕂ꥷ⻉ ˖
陨デؐ؍ٝسؐ ˖ Ⰵ⸂הشؽ٦ءّٝ ˖ ؐؑـؿؓ٦ي荈⹛Ⰵ⸂ ˖ ِ٦ؠ٦酡⸔堣腉 ˖ طحزٙ٦ؙה)551 4 䱸竲 ˖ #MVFUPPUI ˖ ء٦يٖأז䱸竲 ˖ إُؗٔذ؍ ˖ فٓ؎غء٦ ˖ 䯲䯝ׁגְזְ⢽㢩ךؚٗ鎸ꐮ ˖ 鸬窃⯓فٗغ؎تךⵃ欽窟鎘ך㢌刿 ˖ ؝ؙٖءّٝךⳢ椚 ˖ ؒٝة٦فٓ؎ؤぢֽ"OESPJE
"OESPJE0דך㢌刿挿 ˖ ِ٦ؠ٦ؙؒألٔؒٝأ ˖ 鸐濼 ˖ "VUPMMؿٖ٦يٙ٦ؙ ˖ ؾؙثٍ؎ٝؾؙثٌٍ٦س ˖
تؐٝٗ٦س〳腉זؿؓٝز ˖ 9.-ؿؓٝز ˖ 5FYU7JFXך荈⹛؟؎ؤ鏣㹀 ˖ ،تفذ؍ـ،؎؝ٝ ˖ 葿ך盖椚 ˖ 8FC7JFX"1* ˖ ؾٝ殅ׁءّ٦زؕحزהؐ؍آؑحز ˖ 剑㣐歗،ألؙز嫰 ˖ وٕثر؍أفٖ؎ך؟ه٦ز ˖ 窟♧ׁٖ؎،ؐزو٦آٝהػر؍ؚٝ ˖ ه؎ٝة䯲䯝 ˖ ،فٔؕذ؞ٔ ˖ "OESPJE57ٓٝثٍ٦ ˖ "OJNBUPS4FU ˖ Ⰵ⸂הشؽ٦ءّٝ ˖ ؗ٦ن٦سشؽ٦ءؙّٝٓأة ˖ رؿٕؓزךؿؓ٦ؕأ邌爙 ˖ءأذي ˖ 倜鋉4USJDU.PEF%FUFDUPS ˖ ٍؗحءُر٦ة ˖ ؝ٝذٝخفٗغ؎تךل٦آؚٝ ˖ ؝ٝذٝخ刿倜ؙٔؒأز ˖ +PC4DIFEVMFSך何㊣ ˖ ؕأةير٦ةأز، ˖ OE7JFX#Z*E 縭せך㢌刿 ˖ًر؍،ך䭁䓸 ˖ 7PMVNF4IBQFS ˖ ؔ٦ر؍ؔؿؓ٦ؕأך䭁䓸 ˖ ًر؍،ًزؙٔأ ˖ .FEJB1MBZFS ˖ .FEJB3FDPSEFS ˖ ؔ٦ر؍ؔⱄ欰؝ٝزٗ٦ٕ ˖ 何㊣ׁًر؍،ؿ؋؎ٕפך،ؙإأ ˖䱸竲 ˖ 8J'J"XBSF ˖ #MVFUPPUI ˖ ؝ٝػصؔٝ畭劣ךل،鏣㹀 ˖Ⱏ剣 ˖ أو٦زⰟ剣 ˖ أو٦زذؗأز鼅䫛 ˖ِ٦ؠ٦酡⸔堣腉 ˖ِ٦ؠ٦酡⸔堣腉نةٝ ˖杝甧׃갈ꆀ锃眍 ˖䭷秘钠鏾乼⡲ ְםְ
וַֿ㼎䘔ׅ ˖ 鸐濼/PUJDBUJPO$IBOOFMT ˖ غحؙؚٓؐٝس㹋遤ⵖꣲ#BDLHSPVOE &YFDVUJPO-JNJUT ˖ ،تفذ؍ـ،؎؝ٝ"EBQUJWF*DPOT
/PUJDBUJPO$IBOOFMT
None
/PUJDBUJPO$IBOOFM⡲䧭ׅ NotificationChannel channel = new NotificationChannel("notification_channel_id", "Notification Name", NotificationManager.IMPORTANCE_DEFAULT); channel.setDescription("Notification
Description"); notificationManager.createNotificationChannel(channel);
/PUJDBUJPOח$IBOOFM鏣㹀ׅ new NotificationCompat.Builder(context, "notification_channel_id");
ه؎ٝز ˖ /PUJDBUJPO$IBOOFM$IBOOFMؙٓأծ /PUJDBUJPO.BOBHFSDSFBUF/PUJDBUJPO$IBOOFMכ "1*-FWFMד鷄⸇ׁךד"1*-FWFM⟃♳ך㜥 さך$IBOOFM⡲䧭ׅ ˖ TFU4FUUJOHT5FYUזו"1*-FWFMחך㶷㖈ًׅ احسⵃ欽ׅ㜥さכ/PUJDBUJPO$PNQBUָⵃ 欽דֹזְךדⳢ椚ⴓֽ
'JSFCBTF$MPVE.FTTBHJOH ה /PUJDBUJPO$IBOOFM
'JSFCBTF/PUJDBUJPOTַفحءُ鸐濼鷏
'JSFCBTF/PUJDBUJPOTךفحءُ鸐濼鏣㹀ׅ <meta-data android:name="com.google.firebase.messaging.default_notification_icon" android:resource="@drawable/ic_status" /> <meta-data android:name="com.google.firebase.messaging.default_notification_color" android:resource="@color/colorAccent" /> <meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id" android:value="@string/default_notification_channel_id" />
'JSFCBTF/PUJDBUJPOַך鸐濼ךⳢ椚כ✳珏겲֮ ˖ 'PSFHSPVOE'JSFCBTF)UUQ1SPUPDPM ˖ #BDLHSPVOE ˖ 4FSWJDFָㄎלזְ ˖ 稢װַח/PUJDBUJPOךⵖ䖴ָדֹזְ
5JQT ˖ '$.穗歋ךفحءُכ$IBOOFMָזְ㜥さծ荈⹛涸ח չ.JTDFMMBOFPVTպהְֲثٍٝطָٕ鏣㹀ׁ ˖ $IBOOFM⡲䧭כꅾ醱׃גㄎלג㉏겗זְָծ㶷㖈ثؑحؙ׃ גծזְ㜥さך⡲䧭חׅךָ״ֲׁ 刿倜欰䧭儗挿ך-PDBMF邌鎸ד㔿㹀ׁג׃תֲךדծ黝㹅 DSFBUF/PUJDBUJPO$IBOOFMTㄎד刿倜׃קֲָ״ְ ˖
$IBOOFMךせװ铡僇俑כDSFBUF$IBOOFMㄎהֹח鏣㹀ׁ ךדծ-0$"-㢌刿ך#SPBE$BTU㹋鄲ׅץֹ ˖ %SPJE,BJHJ،فٔדכ㹋鄲ׁגְ
剑鵚ֿזֿהָ֮ת׃
None
⡦ָ饯ֹגְךַ ˖ 'JSFCBTF/PUJDBUJPOTַ鷏فحءُד ˖ SFCBTFNFTTBHJOHMJCSBSZָד ˖ 「ֽ《畭劣ך04ָ0SFPד ˖ ،فָٔ#BDLHSPVOEח֮הֹ ˖
鸐濼،؎؝ָٝ姻䌢ח邌爙ׁזְ
None
㔐鼘倯岀 ˖ 䌢ח)UUQ1SPUPDPM穗歋דفحءُ鸐濼鷏 ˖ SFCBTFNFTTBHJOHتؚٖؐٝ٦سׅ ˖ 4VQQPSU-JCSBSZتؚٖؐٝ٦س׃זֽלז זֻז٥٥٥ ˖ ،حفر٦ز爵
/PUJDBUJPO㼎䘔תה ˖ /PUJDBJUPO$IBOOFM㼎䘔כ䖓ך罋䣁ָ䗳銲 ˖ SFCBTFOPUJDBUJPOٓ؎ـٓٔך،حفر٦ز זד爵ת׃׳ֲ
#BDLHSPVOE&YFDVUJPO-JNJUT
#BDLHSPVOE&YFDVUJPO-JNJUT ˖ ،فָٔ#BDLHSPVOEח֮הֹ4FSWJDFך㹋遤ָⵖ ꣲׁ
#BDLHSPVOE&YFDVUJPO-JNJUT ˖ ،فָٔ#BDLHSPVOEח֮הֹ4FSWJDFך㹋遤ָⵖ ꣲׁ ˖ 'PSFHSPVOE4FSWJDFה׃ג㹋遤ׅ ˖ +PC*OUFOU4FSWJDFⵃ欽ׅ ˖ 4FSWJDFד㹋遤ׅ䗳銲ַָ֮鋅湫ׅ
+PC*OUFOU4FSWJDF ˖ FORVFVFXPSLח״ג+PC4DIFEVMFSⵃ欽׃ג غحؙؚٓؐٝس㹋遤遤ֲ
#BDLHSPVOE&YFDVUJPO-JNJUTחאְג鑫׃ֻכ
"EBQUJWF*DPOT
"EBQUJWF*DPOT
"EBQUJWF*DPOT ˖ UBSHFUחׅה⟃꣬ך畭劣דכ،؎؝ٝח胜 兝ָאֻ ˖ ך㜥さך胜兝ך䕎כ畭劣如痥 ˖ 9דכӴծ1דכ㔊錬 ˖ *NBHF"TTFU5PPMד⡲䧭דֹ
NJQNBQJD@MBVODIFS <?xml version="1.0" encoding="utf-8"?> <adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android"> <background android:drawable="@color/ic_launcher_background"/> <foreground android:drawable="@mipmap/ic_launcher_foreground"/>
</adaptive-icon>
None
ָֿֿ䗍㦩״"EBQUJWF*DPOT ˖ UBSHFUחׅה⟃꣬ך畭劣דכ胜兝אֹ،؎ ؝ٝ⟃㢩ך鼅䫛肇ָזְ ˖ ⟃꣬ך畭劣דכ畭劣ח״ג胜兝ך䕎ָ㢌 ˖ *NBHF"TTFU5PPMד⡘縧ך锃侭ָדֹזְ
5IBOL:PV
罋 "OESPJE]"OESPJE%FWFMPQFSTIUUQTEFWFMPQFSBOESPJEDPNBCPVUWFSTJPOTPSFPJOEFYIUNM "OESPJE0SFP鸐濼㼎䘔ثؑحؙٔأز2JJUBIUUQTRJJUBDPNNTUTTLJUFNTFCCFDBGBB 'JSFCBTF$MPVE.FTTBHJOHך)551فٗز؝ٕ]'JSFCBTFIUUQTSFCBTFHPPHMFDPNEPDTDMPVE NFTTBHJOHIUUQTFSWFSSFG 8IFOBQQJOCBDLHSPVOEJDPOJONFUBEBEBXIJUFv*TTVFvSFCBTFRVJDLTUBSUBOESPJEIUUQT HJUIVCDPNSFCBTFRVJDLTUBSUBOESPJEJTTVFT 'JSFCBTF4%,ה،فָٔCBDLHSPVOEך儗ח'JSFCBTF/PUJDBUJPOד鷏1VTI「ֽ《ה鸐濼،؎ ؝ֶַָٝ׃ֻז*NLOPXMFEHFXPSLFSIUUQIBDLJUJSPOIBUFOBCMPHDPNFOUSZ $傈湡
匌ׇB]5FDI#PPTUFSIUUQTUFDICPPTUFSHJUIVCJPDFEHF %FTJHOJOH"EBQUJWF*DPOTˊ(PPHMF%FTJHOˊ.FEJVNIUUQTNFEJVNDPNHPPHMFEFTJHOEFTJHOJOH BEBQUJWFJDPOTBGD OJDLCVUDIFS"EBQUJWF*DPO1MBZHSPVOE"O"OESPJEBQQGPSFYQFSJNFOUJOHXJUI"EBQUJWF*DPOTIUUQT HJUIVCDPNOJDLCVUDIFS"EBQUJWF*DPO1MBZHSPVOE