2022/06/08

๐Ÿ’ป ๊ฐœ๋ฐœ/Android

[Android] ์•Œ๋ฆผ ํด๋ฆญ์‹œ Activity, Fragment๋กœ ์ด๋™

๊ตฌํ˜„ ๋ฌธ์ œ ์•Œ๋ฆผ ํด๋ฆญํ•˜๋ฉด ํŠน์ • ํ™”๋ฉด์„ ๋„์–ด์ค˜์•ผ ํ•˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• PendingIntent ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. Notification ์†์„ฑ์— Intent ์†์„ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด ๋•Œ PendingIntent ๋ฅผ ๋„˜๊ฒจ์ค€๋‹ค. ๋˜ํ•œ PendingIntent ๊ฐ์ฒด์— putExtra ๋กœ ํ™”๋ฉด ์ด๋™์œผ๋กœ ๋„์–ด์ค„ Fragment ์˜ ์‹๋ณ„์ž๋ฅผ ๋„˜๊ฒจ์ค€๋‹ค. ์ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ MainActivity ๊ฐ€ onCreate ๋์„ ๋•Œ getStringExtra ๋กœ Fragment ์˜ ์‹๋ณ„์ž๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ํ•ด๋‹น Fragment ๋กœ ์ „ํ™˜ํ•œ๋‹ค. ์ฝ”๋“œ - ReceiverService ์šฐ์„  ์ง€๋‚œ๋ฒˆ์— ๊ตฌํ˜„ํ–ˆ๋˜ ์ด๋ฒคํŠธ ์ˆ˜์‹  ์•Œ๋ฆผ์— ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐ€์ ธ์™”๋‹ค. // ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ–ˆ์„ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž์—๊ฒŒ ์•Œ๋ฆผ ์ „์†ก private fun occurEven..

๐Ÿ’ป ๊ฐœ๋ฐœ/Android

[Android] ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์†Œ์ผ“ ํ†ต์‹ ์œผ๋กœ ์ด๋ฒคํŠธ ์ˆ˜์‹  ํ›„ ์•Œ๋ฆผ

๊ตฌํ˜„ ๋ฌธ์ œ ์กธ์—…ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋ฉด์„œ ์„œ๋ฒ„์—์„œ ํŠน์ •ํ•œ ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๋ฉด ์ด๋ฒคํŠธ ์ข…๋ฅ˜์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ 2๊ฐœ์˜ ์•Œ๋ฆผ์„ ๋„์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•ด์•ผ ํ–ˆ๋‹ค. ์†Œ์ผ“ ํ†ต์‹ ์œผ๋กœ ์ด๋ฒคํŠธ๋ฅผ ์ˆ˜์‹ ํ•˜๋Š”๋ฐ Activity ์ด๋™์ด๋‚˜ Fragment ์ด๋™์— ๊ด€๊ณ„ ์—†์ด ์„œ๋ฒ„์™€ ์—ฐ๊ฒฐ ๊ฐ€๋Šฅํ•œ ์†Œ์ผ“ ํ†ต์‹ ์ด ํ•„์š”ํ–ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• MVVM๊ณผ ๋‹จ์ผ Activity๋ฅผ ์‚ฌ์šฉํ–ˆ๊ธฐ์— Activity๋Š” MainActivity ํ•œ ๊ฐœ ๋ฟ์ด์—ˆ๊ณ  MainActivity ์—์„œ ์†Œ์ผ“ ํ†ต์‹ ์„ ๊ตฌํ˜„ํ•˜๋ฉด ๋˜๋Š” ๋ฌธ์ œ์˜€๋‹ค. ํ•˜์ง€๋งŒ ์•ฑ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์ƒํ™ฉ์—์„œ๋„ ์•Œ๋ฆผ์„ ์ˆ˜์‹ ํ•ด์•ผ ํ•  ํ•„์š”๊ฐ€ ์žˆ์—ˆ๊ณ  ์ด๋ฅผ ์œ„ํ•ด Service๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ๋ฌผ๋ก  MainActivity ์•ˆ์— ํ•ด๋‹น ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ์†Œ์ผ“ ํ†ต์‹ ์ด MainActivity ์ž์ฒด์— ์ข…์†๋˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•˜๊ธฐ์— ..

kodo_o
'2022/06/08 ๊ธ€ ๋ชฉ๋ก