๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๋นˆ ๊ตฌ๋ฉ ์ฑ„์šฐ๊ธฐ

(342)
[Android][WebView] cannot find symbol method setAppCacheEnabled(boolean) ์‹œ์ž‘. ์ด์Šˆ ํ™•์ธ target version์ด 31์ธ ํ”„๋กœ์ ํŠธ์˜ target version์„ 33์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค. ๊ทธ ํ›„ cannot find symbol method setAppCacheEnabled(boolean) ๋ผ๋Š” ๋นŒ๋“œ ์—๋Ÿฌ๋ฅผ ํ™•์ธํ–ˆ๋‹ค. ์‚ดํŽด๋ณด๋‹ˆ ๊ธฐ์กด์— ์ž˜ ์“ฐ๋˜ ์ฝ”๋“œ๋ฅผ IDE์—์„œ ํ‰์†Œ์™€๋Š” ๋‹ค๋ฅด๊ฒŒ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ–ˆ๋‹ค. ๋‚ด๋ถ€ ์ฝ”๋“œ ํ™•์ธ WetSettings์˜ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•œ๋‹ค. target version์ด 31์ผ ๋•Œ์—๋Š” Control ํ‚ค + ๋งˆ์šฐ์Šค ํด๋ฆญ์œผ๋กœ ๋‚ด๋ถ€ ์ฝ”๋“œ๋กœ์˜ ์ด๋™์ด ๊ฐ€๋Šฅํ–ˆ๋Š”๋ฐ, target version์ด 33์ผ ๋•Œ์—๋Š” ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๋‚ด๋ถ€ ์ฝ”๋“œ๋กœ์˜ ์ด๋™์ด ๋ถˆ๊ฐ€ํ–ˆ๋‹ค. WebSettings ํด๋ž˜์Šค ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๋‚˜์…”์„œ target version์ด 33์ผ ๋•Œ์˜ ํ•ด๋‹น ์ฝ”๋“œ์˜ ๋‚ด๋ถ€ ์ฝ”๋“œ๋ฅผ..
[Java] Collapse 'catch' blocks ์‹œ์ž‘ Lint ๊ฒฝ๊ณ ์— ๋Œ€์‘ํ•˜๋ฉด์„œ ๊ธฐ์กด try - catch ๋ฌธ์—์„œ ๋‹ค๋ฅธ exception๋„ catch ๋ฌธ์— ๋„ฃ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ IDE์—์„œ Collapse 'catch' blocks ๋ผ๋ฉฐ catch ๋ฌธ์— ๋ฌด์–ธ๊ฐ€ ๋ณ€๊ฒฝ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๋ ค์คฌ๋‹ค. IDE์˜ ์ž‘์—… ํ›„ ์—๋Ÿฌ ์ฒ˜๋ฆฌ ๋กœ์ง์ด ๊ฐ™์€ ๋‘ catch ๋ฌธ ๋ธ”๋Ÿญ์„ ํ•˜๋‚˜๋กœ ์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ์•˜๋‹ค. Collapse ์˜๋ฏธ Collapse 'catch' blocks์˜ 'collapse' ์˜๋ฏธ๋ฅผ ์ฐพ์•„๋ดค๋‹ค. https://en.dict.naver.com/#/entry/enko/e0708beb85ad4906a123396e1c971bee ๋„ค์ด๋ฒ„ ์˜์–ด์‚ฌ์ „ ๋ฏธ๊ตญ/์˜๊ตญ์‹ ๋ฐœ์Œ, ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ถœํŒ์‚ฌ ์‚ฌ์ „ ๋œปํ’€์ด, ํ’๋ถ€ํ•œ ์œ ์˜์–ด/๋ฐ˜์˜์–ด, ๋Œ€ํ‘œ์‚ฌ์ „ ์„ค์ • ๊ธฐ๋Šฅ, ์ƒ์„ธ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ, ์˜์–ด..
[Android][WebView] ์•ฑ๊ณผ WebVeiw ๊ฐ„ ํ†ต์‹  https://developer.android.com/develop/ui/views/layout/webapps/webview Build web apps in WebView | Android Developers If you want to deliver a web application (or just a web page) as a part of a client application, you can do it using WebView. The WebView class is an extension of Android's View class that allows you to display web pages as a part of your activity layout. developer.android.com 1) ..
[Android][Toast] Can't toast on a thread that has not called Looper.prepare() Crashlytics์—์„œ ์ด์Šˆ ํ•ด๋‹น ๋ฐœ๊ฒฌ ๋งˆ์ด๋„ˆ ์ด์Šˆ๋กœ ๋“ฑ์žฅํ•˜๊ณ  ์žˆ๋‹ค. (๊ณ  ํŒ๋‹จํ•˜๊ณ  ์žˆ๋‹ค. ์ œ๋ฐœ ๋งˆ์ด๋„ˆ ์ด์Šˆ์—ฌ๋ผ...) ์ด์Šˆ์— ๋Œ€ํ•œ ์„ค๋ช…๋“ค https://stackoverflow.com/a/3875204 Can't create handler inside thread that has not called Looper.prepare() What does the following exception mean; how can I fix it? This is the code: Toast toast = Toast.makeText(mContext, "Something", Toast.LENGTH_SHORT); This is the exception: java.lang.RuntimeExce... stackoverflow...
[Android][View] ๋ทฐ๊ฐ€ layout์„ ์ง„ํ–‰ํ•˜๋Š” ์ค‘์— requestLayout()์„ ํ˜ธ์ถœํ•˜๋ฉด ์•ˆ๋œ๋‹ค. https://www.youtube.com/watch?v=HbAeTGoKG6k ๋ฌด๋ ค 13๋…„ ์ „์˜ ์˜์ƒ. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ๋„ ์ค‘์š”ํ•œ ๊ธฐ๋ณธ ์ง€์‹์œผ๋กœ ์•Œ์•„๋‘˜ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์š”์•ฝ ์ง„ํ–‰ํ•œ ๋ฐ๋ชจ (์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋‚˜์œ ์˜ˆ์‹œ) 1. LinearLayout ์„ ์ƒ์†ํ•œ Custom Layout์ด layout ๊ณผ์ •์„ ์ง„ํ–‰ํ•˜๋Š” ์ค‘์—, ๊ทธ๋Ÿฌ๋‹ˆ๊นŒ onLayout()์„ ํ˜ธ์ถœํ•ด ์‹คํ–‰ํ•˜๋Š” ์ค‘์— 2. ์ž๋…€ ๋ทฐ๋ฅผ add ํ•˜๊ฑฐ๋‚˜(addView()) remove ํ•˜๋ฉด(removeView()) 3. ๊ฒฐ๋ก  : ์ด์Šˆ๊ฐ€ ์ƒ๊ธด๋‹ค. > ์ผ์ข…์˜ ์žฌ๊ท€๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. layout ์ค‘ : ์ผ๋ถ€ ํ•˜์œ„ ์ง‘ํ•ฉ(์ž๋…€ ๋ทฐ๋“ค)์ด๋‚˜ ์ „์ฒด ๋ทฐ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์žฌ๋ฐฐ์น˜ํ•˜๋Š” ์ค‘์ธ๋ฐ ์ด ํƒ€์ด๋ฐ์— addView(), removeView() ํ˜ธ์ถœ : ๋ ˆ์ด์•„์›ƒ ์ „์ฒด์— ์˜ํ–ฅ์„..
[Android] ํ™”๋ฉด ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์‹œ์ž‘ ๋””์ž์ด๋„ˆ๊ฐ€ ์•ฑ ์ „๋ฐ˜์ ์œผ๋กœ ํ™”๋ฉด ์ „ํ™˜ ์• ๋‹ˆ๋ฉ”์ด์…˜ ์ถ”๊ฐ€๋ฅผ ์š”์ฒญํ–ˆ๋‹ค. ์š”๊ตฌ ์‚ฌํ•ญ ์•ฑ์˜ ํ™”๋ฉด ์ข…๋ฅ˜๋Š” ํฌ๊ฒŒ ๋‘˜๋กœ ๋‚˜๋‰œ๋‹ค. ์ƒ๋‹จ ํˆด๋ฐ” ๋ฒ„ํŠผ ์ข…๋ฃŒ ๋ชจ์–‘์ด ํ™”์‚ดํ‘œ(←)์ธ ๊ฒƒ๊ณผ ์—‘์Šค(X)์ธ ๊ฒƒ์œผ๋กœ ๋‚˜๋‰œ๋‹ค. 1. ←ํ™”๋ฉด์— ์ง„์ž…ํ•  ๋•Œ ๊ฐ€๋ ค์ง€๋Š” ํ™”๋ฉด์€ fade out ์ง„์ž…ํ•˜๋Š” ํ™”๋ฉด์€ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ์œผ๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋ฉฐ ์ง„์ž… 2. ←ํ™”๋ฉด์ด ์‚ฌ๋ผ์ง€๊ณ  ์ด์ „ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐˆ ๋•Œ ๋“ฑ์žฅํ•˜๋Š” ์ด์ „ ํ™”๋ฉด์€ fade in ์‚ฌ๋ผ์ง€๋Š” ํ™”๋ฉด์€ ์™ผ์ชฝ์œผ๋กœ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋ฉฐ ์‚ฌ๋ผ์ง 3. X ํ™”๋ฉด์— ์ง„์ž…ํ•  ๋•Œ ๊ฐ€๋ ค์ง€๋Š” ํ™”๋ฉด์€ fade out ์ง„์ž…ํ•˜๋Š” ํ™”๋ฉด์€ ์•„๋ž˜์—์„œ ์œ„๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋ฉฐ ์ง„์ž… 4. X ํ™”๋ฉด์ด ์‚ฌ๋ผ์ง€๋กœ ์ด์ „ ํ™”๋ฉด์œผ๋กœ ๋Œ์•„๊ฐˆ ๋•Œ ๋“ฑ์žฅํ•˜๋Š” ์ด์ „ ํ™”๋ฉด์€ fade in ์ง„์ž…ํ•˜๋Š” ํ™”๋ฉด์€ ์œ„์—์„œ ์•„๋ž˜๋กœ ์Šฌ๋ผ์ด๋“œํ•˜๋ฉฐ ์‚ฌ๋ผ์ง ๊ณผ์ • 1) ๋””์ž์ด๋„ˆ๊ฐ€ ์›..
[Android][Dialog] cancel / dismiss ์ด์ „์— dialog cancel() ํ˜ธ์ถœ ์‹œ dismiss()๋„ ํ˜ธ์ถœ ๋œ๋‹ค๋Š” ๊ธ€์„ ์ผ๋˜ ๊ฑฐ ๊ฐ™์€๋ฐ. ์ž‘์—…ํ•˜๋‹ค dialog์˜ cancel๊ณผ dismiss์˜ ์ฐจ์ด๊ฐ€ ๋˜ ํ—ท๊ฐˆ๋ ค์„œ, ์ด๋ฒˆ์— ํ™•์‹คํžˆ ๊ทธ ์ฐจ์ด๋ฅผ ์ธ์ง€ํ•˜๊ณ  ๊ฐ€๋ ค๊ณ  ๊ธ€์„ ๋‚จ๊ธด๋‹ค. ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๊ณ  ์ดํ•ดํ–ˆ๋‹ค. https://developer.android.com/develop/ui/views/components/dialogs#DismissingADialog Dialogs | Android Developers Dialogs Stay organized with collections Save and categorize content based on your preferences. A dialog is a small window that prompts the u..
[Android][Android 13][API Level 33] ๋Ÿฐํƒ€์ž„ ์•Œ๋ฆผ ๊ถŒํ•œ, ๊ทธ๋ฆฌ๊ณ  ๊ธฐํš ๋ณ€๊ฒฝ ์‹œ์ž‘. ์ด์Šˆ ๋ฐœ๊ฒฌ Android 13 ๋‹จ๋ง์—์„œ ํ‘ธ์‹œ๋ฅผ ๋ฐ›๊ณ  ์‹œ์Šคํ…œ ์•Œ๋ฆผ์„ ๋„์šฐ์ง€ ๋ชปํ•˜๋Š” ์ด์Šˆ๊ฐ€ ์žˆ์Œ์„ ์•Œ๊ฒŒ ๋๋‹ค. ์›์ธ ํŒŒ์•… Android 13๋ถ€ํ„ฐ ์ƒˆ๋กœ ์„ค์น˜๋˜๋Š” ์•ฑ๋“ค์€ ์•Œ๋ฆผ ์ƒ์„ฑ ๊ถŒํ•œ์ด ์—†๋‹ค๋Š” ๊ฒƒ์„ ์•Œ์•˜๋‹ค. ํ•ด๋‹น ์ด์Šˆ๋Š” ํ…Œ์ŠคํŠธ ๋‹จ๋ง์ด Android 13 ๋‹จ๋ง์—, ํ…Œ์ŠคํŠธ ์•ฑ์ด ์‹ ๊ทœ๋กœ ์„ค์น˜๋˜์—ˆ๊ธฐ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค. Android 12๋Š” ๊ธฐ๋ณธ์œผ๋กœ ์•Œ๋ฆผ ์ƒ์„ฑ ๊ถŒํ•œ์ด ์žˆ์–ด์„œ ์ด๋Ÿฐ ์ด์Šˆ๋ฅผ ๋งŒ๋‚  ์ผ์ด ์—†์—ˆ๋‹ค. ์ •๋ง ์ž˜ ์„ค๋ช…ํ•ด์ฃผ์‹  ๊ธ€ https://codechacha.com/ko/android-13-notification-permission/ Android 13์—์„œ Notification ๊ถŒํ•œ ์š”์ฒญ, ์•Œ๋ฆผ ๋„์šฐ๊ธฐ Android 13์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์œผ๋กœ, POST_NOTIFICATIONS ๊ถŒํ•œ์ด ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ฑ ๋™์ž‘์— ์–ด๋–ค ์˜..