Slide 1

Slide 1 text

Android O ͷ
 όοΫάϥ΢ϯυ੍ݶ

Slide 2

Slide 2 text

2 I/Oηογϣϯ #BDLHSPVOE$IFDLBOE0UIFS*OTJHIUTJOUPUIF"OESPJE 0QFSBUJOH4ZTUFN'SBNFXPSL (PPHMF*0 https://www.youtube.com/watch?v=hbLAzwhBjFE

Slide 3

Slide 3 text

3 ੍ݶ w όοΫάϥ΢ϯυαʔϏεͷ੍ݶ w ϒϩʔυΩϟετͷ੍ݶ w όοΫάϥ΢ϯυ-PDBUJPO8J'J w "MFSU8JOEPXT 4:45&.@"-&35@8*/%08

Slide 4

Slide 4 text

4 όοΫάϥ΢ϯυ੍ݶͱ͸ "OESPJE0Ͱ͸ɺϢʔβʔΤΫεϖϦΤϯεΛ޲্ͤ͞ΔͨΊʹɺΞϓϦ͕ όοΫάϥ΢ϯυͰ࣮ߦ͞Ε͍ͯΔͱ͖ͷಈ࡞Λ੍ݶ͍ͯ͠·͢ɻ https://developer.android.com/preview/features/background.html?hl=ja

Slide 5

Slide 5 text

5 ͳͥʁ w 3".Ϛωʔδϝϯτ w লిྗ

Slide 6

Slide 6 text

όοΫάϥ΢ϯυαʔϏε ͷ੍ݶ 6

Slide 7

Slide 7 text

7 όοΫάϥ΢ϯυαʔϏεͷ੍ݶ wՄࢹΞΫςΟϏςΟ͕͋Δ wՄࢹΞΫςΟϏςΟ͕ͳ͍ ˠϑΥΞόοΫ྆ํͷαʔϏεΛ࡞ΕΔ ˠϑΥΞάϥ΢ϯυ ˠόοΫάϥ΢ϯυ ˠόοΫάϥ΢ϯυαʔϏε͸਺෼Ͱఀࢭ͢Δ UBSHFU4EL7FSTJPO͕0ͷͱ͖ͷΈʂ

Slide 8

Slide 8 text

8 ࣮ߦྫʢόοΫάϥ΢ϯυαʔϏεʣ public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { service = new Intent(this, MyService.class); startService(service); public class MyService extends Service { private Timer timer; private final TimerTask task = … @Override public int onStartCommand(Intent intent, int flags, int startId) { timer = new Timer(); timer.scheduleAtFixedRate(task, 0, TimeUnit.SECONDS.toMillis(10));

Slide 9

Slide 9 text

9 ࣮ߦྫʢόοΫάϥ΢ϯυαʔϏεʣ

Slide 10

Slide 10 text

10 ࣮ߦྫʢϑΥΞάϥ΢ϯυαʔϏεʣ public class MyService extends Service { private Timer timer; private final TimerTask task = … @Override public int onStartCommand(Intent intent, int flags, int startId) { timer = new Timer(); timer.scheduleAtFixedRate(task, 0, TimeUnit.SECONDS.toMillis(10)); PendingIntent pendingIntent = … Notification notification = … startForeground(startId, notification);

Slide 11

Slide 11 text

11 ࣮ߦྫʢϑΥΞάϥ΢ϯυαʔϏεʣ

Slide 12

Slide 12 text

12 ϑΥΞάϥ΢ϯυʹ͢Δʹ͸ʁ ͦͷͨΊɺ"OESPJE0Ͱ͸৽͍͠ϝιου /PUJpDBUJPO.BOBHFSTUBSU4FSWJDF*O'PSFHSPVOE Λಋೖ͍ͯ͠·͢ɻ
 ͜ͷϝιουΛݺͼग़͢͜ͱ͸ɺTUBSU4FSWJDF Λݺͼग़ͯ͠όοΫάϥ΢ ϯυͰαʔϏεΛ࡞੒͠ɺ௚ޙʹͦͷαʔϏεͷTUBSU'PSFHSPVOE ϝιο υΛݺͼग़ͯ͠αʔϏεΛϑΥΞάϥ΢ϯυʹϓϩϞʔτ͢Δ͜ͱͱಉ౳Ͱ ͢ɻ ݟͨͱ͜ΖɺͦΕΒ͖͠ϝιου͸ͳ͍ɻࠓޙ௥Ճ͞ΕΔʁ
 $POUFYU8SBQQFSTUBSU'PSFHSPVOE4FSWJDF *OUFOU ͸͋ͬͨ https://developer.android.com/preview/features/background.html?hl=ja

Slide 13

Slide 13 text

ϒϩʔυΩϟετͷ੍ݶ 13

Slide 14

Slide 14 text

14 ϒϩʔυΩϟετͷ੍ݶͱ͸ "OESPJE0Λର৅ʹ͍ͯ͠ΔΞϓϦ͸ɺ҉໧తͳϒϩʔυ Ωϟετʹର͢ΔϒϩʔυΩϟετϨγʔόʔΛϚχϑΣ ετͰొ࿥Ͱ͖ͳ͘ͳΓ·ͨ͠ɻ
 ҉໧తͳϒϩʔυΩϟετͱ͸ɺλʔήοτʹ͢ΔΞϓϦ Λ໌֬ʹࢦఆ͠ͳ͍ϒϩʔυΩϟετͰ͢ɻ https://developer.android.com/preview/features/background.html?hl=ja

Slide 15

Slide 15 text

15 ର৅ͱͳΔϒϩʔυΩϟετ ର৅ɿ w$0//&$5*7*5:@"$5*0/ w"$5*0/@/&8@1*$563& w"$5*0/@/&8@7*%&0 ର৅֎ɿ w#005@$0.1-&5&% w-0$"-&@$)"/(&% w64#@%&7*$&@"55"$)&% w)&"%4&5@1-6(
 FUD IUUQTEFWFMPQFSBOESPJEDPNQSFWJFXGFBUVSFTCBDLHSPVOECSPBEDBTUTIUNM IMKB

Slide 16

Slide 16 text

୅ସखஈ 16

Slide 17

Slide 17 text

17 ୅ସखஈ w ఆظతͳνΣοΫʹ͸+PC4DIFEVMFS΍"MBSN.BOBHFS w '$.ͳͲͷϓογϡ௨஌Ͱ୅ସ͢Δ͜ͱ΋Մೳ͔΋ w $POUFU1SPWJEFSͷ಺༰Λಉظ͍ͨ͠ͳΒ4ZOD"EBQUFS w ϢʔβʔʹݟͤΔඞཁ͕͋ΔͳΒϑΥΞάϥ΢ϯυαʔϏε

Slide 18

Slide 18 text

18 Alarms, Jobs, Services ͷ࢖͍෼͚

Slide 19

Slide 19 text

19 JobIntentService?

Slide 20

Slide 20 text

20 JobIntentService? w *OUFOU4FSWJDFͷΑ͏ʹ࢖͑ͯ w +PC4DIFEVMFS͕ϋϯυϧͯ͘͠ΕΔ w 8BLFGVM-PDL΋Α͠ͳʹ΍ͬͯ͘ΕΔ w 0Ҏલ͓ΑͼҎ߱Ͱ࢖͑Δ w 0ͷϩʔϯνલʹग़Δ͸ͣʂ

Slide 21

Slide 21 text

21 ·ͱΊ w "OESPJE0ͷόοΫάϥ΢ϯυ੍ݶ w όοΫάϥ΢ϯυαʔϏε w ҉໧తϒϩʔυΩϟετ w ୅ସखஈ w ϑΥΞάϥ΢ϯυαʔϏε w +PC4DIFEVMFS"MBSN.BOBHFS4ZOD"EBQUFS w ϓογϡ௨஌ w +PC*OUFOU4FSWJDF

Slide 22

Slide 22 text

22 ·ͱΊ ϢʔβʔʹΞϯΠϯετʔϧ͞Εͳ͍Α͏ʹ
 ి஑ͱ3".ʹ༏͍͠ΞϓϦʹ͠·͠ΐ͏ ɹɹ