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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ

(382)
[Android] ContentProvider ๋ฌธ์„œ ์ฝ๊ธฐ https://developer.android.com/reference/android/content/ContentProvider ContentProvider | Android Developers android.net.wifi.hotspot2.omadm developer.android.com public abstract class ContentProvider extends Object implements ComponentCallbacks2 ์ฝ˜ํ…์ธ  ํ”„๋กœ๋ฐ”์ด๋”๋Š” ์•ˆ๋“œ๋กœ์ด๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค ์ค‘์— ์ค‘์š” ๊ตฌ์„ฑ์š”์†Œ๋“ค ์ค‘ ํ•˜๋‚˜๋กœ, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์— ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜ํ…์ธ  ํ”„๋กœ๋ฐ”์ด๋”๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์บก์Šํ™”ํ•˜๊ณ  ๋‹จ์ผ ContentResolver ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋“ค์— ์ด๊ฒƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ฝ˜ํ…์ธ  ํ”„๋กœ๋ฐ”์ด๋”๋Š” ์—ฌ๋Ÿฌ ์• ..
[Android] ๊ธฐ๋ณธ ์ œ๊ณต BindingAdapter ๊ธฐ์กด์— ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ ๋‚˜๋งŒ ๋ชจ๋ฅด๊ณ  ์ƒˆ๋กœ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ํ”ผํ•˜๊ณ  ์‹ถ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ณต๋˜๋Š” BindingAdapter๋“ค์˜ ๊ตฌ์ฒด์ ์ธ ๋ช…์„ธ๋ฅผ ๋ชฐ๋ผ์„œ ์ด๋ ‡๊ฒŒ ์“ฐ๋ฉด๋˜์ง€ ์•Š์„๊นŒ ์˜ˆ์ƒํ•˜๊ณ  ์ผ๋‹ค๊ฐ€ ๋นŒ๋“œ ํ›„ ์ž˜๋ชป๋๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๋Š” ์ˆ˜๊ณ ๋„ ๋œ๊ณ  ์‹ถ๋‹ค. ๋”๋ณด๊ธฐ ์‚ฝ์งˆ android:src="@{๋“œ๋กœ์›Œ๋ธ”๋ฆฌ์†Œ์Šค}" ๋ผ ์“ฐ๊ณ  ๋นŒ๋“œ ์—๋Ÿฌ๋‚ฌ์Œ. ์ด ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๊ณ  android:src="@{context.getDrawable(๋“œ๋กœ์›Œ๋ธ”๋ฆฌ์†Œ์Šค)}" ๋กœ ์“ฐ๋ฉด ๋œ๋‹ค๋Š” ๊ฑธ ์•Ž. androidx.databinding.adapters ํŒจํ‚ค์ง€ ์•ˆ์— ์ด๋ฏธ ๊ตฌํ˜„๋œ BindingAdpater ํด๋ž˜์Šค๋“ค ์ด๋ฆ„์„ ์ด์ œ์•ผ ์•Œ์•˜๋‹ค. ํ•ด๋‹น ์ฝ”๋“œ๋ฅผ ํ™•์ธํ•˜๋„๋ก ImageViewBindingAdapter TextViewBindingAdapter AutoComplet..
[Android] ViewGroup.LayoutParams ๋ฌธ์„œ ์ฝ๊ธฐ https://developer.android.com/reference/android/view/ViewGroup.LayoutParams ViewGroup.LayoutParams | Android Developers android.net.wifi.hotspot2.omadm developer.android.com ๋ทฐ๋Š” LayoutParams๋ฅผ ๋ถ€๋ชจ์—๊ฒŒ ์ž์‹ ์ด ์–ด๋–ป๊ฒŒ ๋ฐฐ์น˜๋˜๊ธธ(be laid out) ์›ํ•˜๋Š”์ง€ ์ „ํ•˜๋Š”๋ฐ์— ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ์ž๋…€ ๋ทฐ ์†์„ฑ๋“ค์˜ ๋ฆฌ์ŠคํŠธ๋Š” ViewGorup์˜ Layout ์†์„ฑ์—์„œ ๋ณด์„ธ์š”. ๊ธฐ๋ณธ LayoutParms ํด๋ž˜์Šค๋Š” ๋ทฐ๊ฐ€ ๋„ˆ๋น„์™€ ๋†’์ด ๋ชจ๋‘ ์–ผ๋งŒํผ์œผ๋กœ ํฌ๊ณ  ์‹ถ์€์ง€๋งŒ์„ ๊ธฐ์ˆ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํฌ๊ธฐ(dimension. ํ˜น์€ ๊ทœ๋จธ, ์ฐจ์›, ์น˜์ˆ˜...)๋Š”, ์ด ์ค‘์— ํ•˜๋‚˜์ž…๋‹ˆ..
[Android] ViewGroup ๋ฌธ์„œ ์ฝ๊ธฐ https://developer.android.com/reference/android/view/ViewGroup ViewGroup | Android Developers android.net.wifi.hotspot2.omadm developer.android.com ViewGroup์€ (์ž๋…€๋ผ๊ณ  ๋ถ€๋ฅด๋Š”) ๋‹ค๋ฅธ ๋ทฐ๋“ค์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ๋ทฐ์ž…๋‹ˆ๋‹ค. ์ด ๋ทฐ ๊ทธ๋ฃน์€ ๋ ˆ์ด์•„์›ƒ๊ณผ ๋ทฐ ์ปจํ…Œ์ด๋„ˆ๋“ค์˜ ๊ธฐ๋ณธ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. ์ด ํด๋ž˜์Šค๋Š” ๋˜ํ•œ ๋ ˆ์ด์•„์›ƒ ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์„ ์œ„ํ•œ ๊ธฐ๋ณธ ํด๋ž˜์Šค์ธ ViewGroup.LayoutParams ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ด์•„์›ƒ ์†์„ฑ๊ณผ ๊ด€๋ จํ•ด LayoutParams๋„ ํ™•์ธํ•˜์„ธ์š”. ์—ฌ๊ธฐ ์™ผ์ชฝ๊ณผ ์˜ค๋ฅธ์ชฝ ์—ฌ๋ฐฑ ์•ˆ์— ์ž๋…€๋“ค์„ ์Œ“์„(stack) ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ FrameLayout์„ ๊ตฌํ˜„ํ•œ ์ปค์Šคํ…€ View..
[Android] View ๋ฌธ์„œ ์ฝ๊ธฐ https://developer.android.com/reference/android/view/View ๋ทฐ ์‚ฌ์šฉํ•˜๊ธฐ ๋ชจ๋“  ๋ทฐ๋“ค์„ ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ ์•ˆ์— ๋ฐฐ์—ด๋œ๋‹ค. ์ฝ”๋“œ๋กœ๋“ , xml ๋ ˆ์ด์•„์›ƒ ํŒŒ์ผ์ด๋“  ๋ทฐ๋“ค์ด ํŠธ๋ฆฌ์— ์ถ”๊ฐ€๋œ๋‹ค. ๋ทฐ๋“ค์˜ ํŠธ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•œ ํ›„์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. - properteis ์„ค์ • : ์˜ˆ๋ฅผ ๋“ค๋ฉด, TextView์— text๋ฅผ ์„ค์ •ํ•˜๋Š” ๊ฒƒ. ๋ทฐ์˜ ์„œ๋ธŒํด๋ž˜์Šค๋งˆ๋‹ค properties์™€ properties๋ฅผ ์„ธํŒ…ํ•˜๋Š” ๋ฉ”์†Œ๋“ค์ด ๋‹ค์–‘ํ•˜๊ฒŒ ์กด์žฌํ•œ๋‹ค. xml ๋ ˆ์ด์•„์›ƒ ํŒŒ์ผ์—์„œ ๋นŒ๋“œ ์‹œ์— ์ด ์•Œ๋ ค์ง„ ์†์„ฑ๋“ค์ด ์„ค์ •๋  ์ˆ˜ ์žˆ๋‹ค. - focus ์„ค์ • : ์‚ฌ์šฉ์ž ์ธํ’‹์— ๋”ฐ๋ฅธ ๋ฐ˜์‘์œผ๋กœ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํฌ์ปค์Šค ์ด๋™์„ ์ฒ˜๋ฆฌํ•จ. requestFocus()๋ฅผ ํ˜ธ์ถœํ•ด ์›ํ•˜๋Š” ํŠน์ • ๋ทฐ์— ํฌ์ปค์Šค ..
[Android][Retrofit][OAuth] OAuth2.0 ์ธ์ฆ ์ฒ˜๋ฆฌ๋กœ ๋ณ€๊ฒฝ ์„œ๋ฒ„์—์„œ OAuth2.0 ์ธ์ฆ ๋„์ž…์œผ๋กœ ์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์˜ ์‚ฌ์ธ์ธ ๋ฐ api ํ†ต์‹  ๋ฐ ์—๋Ÿฌ์ฒ˜๋ฆฌ์— ์ˆ˜์ • ์‚ฌํ•ญ์ด ์ƒ๊ฒผ๋‹ค. OAuth2.0 https://oauth.net/2/ ** OAuth2.0 ๋ฌธ์„œ๋ฅผ ์ฝ๊ณ  ์ถ”๊ฐ€ํ•  ์˜ˆ์ • Retrofit ์—์„œ์˜ ์ฒ˜๋ฆฌ API ํ†ต์‹  ์‹œ, Access Token์„ Header์— ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ๊ณ , ์ด ์ฒ˜๋ฆฌ๋Š” OkHttp์˜ interceptor๋ฅผ ์‚ฌ์šฉํ•ด ์ฒ˜๋ฆฌํ•œ๋‹ค. ์‚ฌ์ธ์ธ ํ•˜๋ฉด์„œ ๋ฐ›๋Š” ํ† ํฐ ์ •๋ณด์— ํ† ํฐ์˜ ์œ ํšจ ๊ธฐ๊ฐ„ ์ •๋ณด๋„ ์•Œ๋ ค์ฃผ๋‚˜, ์ด๋ฅผ ํ™œ์šฉํ•˜๊ธฐ ๋ณด๋‹ค๋Š” API ํ†ต์‹  ์‹œ์— ๋ฐ›๋Š” access token ๋งŒ๋ฃŒ ์—๋Ÿฌ์ฝ”๋“œ๋ฅผ ๋ฐ›์•„ access token์„ ๊ฐฑ์‹  ํ›„ ๋‹ค์‹œ ํ•ด๋‹น API ํ†ต์‹ ์„ ์ง„ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. OkHttpClient์— addํ•˜๋Š” ๊ธฐ์กด interceptor๋Š” ํ—ค๋”์— acc..
[Android] androidx.fragment.app.FragmentContainerView https://developer.android.com/reference/androidx/fragment/app/FragmentContainerView FragmentContainerView | Android Developers androidx.car.app.managers developer.android.com ํŠน๋ณ„ํžˆ Fragment๋ฅผ ์œ„ํ•ด ์ปค์Šคํ…€๋œ Layout. FrameLayout์„ ์ƒ์†๋ฐ›์Œ Fragment Transaction ์ฒ˜๋ฆฌ๊ฐ€ ์•ˆ์ •์  Fragment ๋™์ž‘์„ ์กฐ์ •ํ•˜๋Š” ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ ์ œ๊ณต ์ผ๋ฐ˜์ ์œผ๋กœ Activity์˜ xml layout์—์„œ, Fragment ์ปจํ…Œ์ด๋„ˆ๋กœ์„œ ์‚ฌ์šฉ๋˜์–ด์•ผ ํ•œ๋‹ค. android:name ์†์„ฑ์„ ์ด์šฉํ•ด Fragment๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹ค์Œ์˜ ์ผํšŒ์„ฑ ์ž‘์—…์„ ์ง„ํ–‰ํ•œ๋‹ค. 1...
[Android] API vs SKD ์ฐจ์ด https://www.youtube.com/watch?v=kG-fLp9BTRo API Application Programming Interface 1. ํ†ต์‹ ์„ ๋ชฉ์ ์œผ๋กœ ํ•œ๋‹ค. 2. ์ถ”์ƒํ™”๋˜์–ด ์žˆ๋‹ค. - ๋ณต์žกํ•œ ๋…ผ๋ฆฌ๋ฅผ ์ถ”์ƒํ™” ์‹œ์ผœ ๊ฐ„๋‹จํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•จ 3. ํ‘œ์ค€ํ™”๋˜์–ด ์žˆ๋‹ค. - ex) SOAP, REST ๋“ฑ ๊ตฌ์„ฑ์š”์†Œ Request OPERATION - GET, POST, PUT, DELETE PARAMETER ENDPOINT Response json ๊ฐ™์€ ์›์‹œ๋ฐ์ดํ„ฐ API๋ฅผ ์‹ค์ œ๋กœ ํ˜ธ์ถœํ•˜๊ธฐ > SDK ๋“ฑ์žฅ! SDK Software Development Kit ๋„๊ตฌ(tool)์˜ ๋„๊ตฌ์ƒ์ž. ํ˜น์€ API๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋„๊ตฌ์ƒ์ž ์ง€์›์–ธ์–ด - Java, Go, Python ๋“ฑ ๋‹ค์–‘ ์š”์•ฝ API : ๋‹ค๋ฅธ ์‹œ์Šคํ…œ์˜..