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

๐Ÿค2024 ์•ˆ๋“œ๋กœ์ด๋“œ/Filmo ์˜ํ™” ํ”„๋กœ์ ํŠธ35

๐Ÿ’‰Android ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์— di ์ ์šฉํ•ด๋ณด๋Š” ๊ธฐ๋ก ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ํ˜„์žฌ ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์— di๋ฅผ ์ ์šฉํ•ด๋ณด๋Š” ๊ณผ์ •์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ๋‹ค. ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ๋‹ค ๊ตฌํ˜„ํ•˜๋Š” ๊ทธ๋‚ ๊นŒ์ง€ ๊ณ„์† ๊ธฐ๋ก์„ ํ•ด๋ณด๊ฒ ๋‹ค! Day 1๏ธโƒฃ module์—์„œ ์ •์˜ํ•œ ๊ฐ์ฒด๋ฅผ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ ํด๋ž˜์Šค์—์„œ ์‚ฌ์šฉํ• ๊นŒ?์— ๋Œ€ํ•œ ์˜๋ฌธ์„ ๋“œ๋””์–ด ํ•ด๊ฒฐํ•˜์˜€๋‹ค. ์•„์˜ˆ ๊ทธ ๋ชจ๋ธ GoogleAuthModule.provide( ) ํ˜•์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ๋„ ํ–ˆ์—ˆ๋‹ค... @Provides @ActivityScoped fun provideCredentialManager( @ActivityContext context: Context, ): CredentialManager { return CredentialManager.create(context) } ์ด๋ ‡๊ฒŒ ์ •์˜ํ•œ CredentialManager์˜ ๊ฐ์ฒด๋Š” ๊ฐ„๋‹จํžˆ ํ•„๋“œ ์‚ฝ์ž… ์„ ํ†ตํ•ด.. 2024. 3. 15.
๐Ÿซ™Android ๋กœ๊ทธ์ธ ํ† ํฐ ์ €์žฅ : Proto Datastore ์ ์šฉํ•˜๊ธฐ Proto Datastore ๊ฐœ๋… ์ดํ•ดํ•˜๊ธฐ Jetpack์˜ Datastore์€ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ‚ค-๊ฐ’ ์Œ ๋˜๋Š” ์œ ํ˜•์ด ์ง€์ •๋œ ๊ฐ์ฒด๋ฅผ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ ์†”๋ฃจ์…˜์ด๋‹ค. Datastore์€ kotlin์˜ ์ฝ”๋ฃจํ‹ด ๋ฐ Flow๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋น„๋™๊ธฐ์ ์ด๊ณ  ์ผ๊ด€๋œ ํŠธ๋žœ์žญ์…˜ ๋ฐฉ์‹์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ด ๋•Œ 2๊ฐ€์ง€์˜ ์ €์žฅ์†Œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค. 1๏ธโƒฃProto Datastore : ๋งž์ถค ๋ฐ์ดํ„ฐ ์œ ํ˜•์˜ ์ธ์Šคํ„ด์Šค๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•œ๋‹ค. ์œ ํ˜• ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•˜๋ฉฐ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•œ๋‹ค. 2๏ธโƒฃPreferences Datastore : ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ์— ์ €์žฅ & ์•ก์„ธ์Šค๋ฅผ ํ•œ๋‹ค ์œ ํ˜• ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•˜์ง€ ์•Š์œผ๋ฉฐ ์‚ฌ์ „์— ์ •์˜๋œ ์Šคํ‚ค๋งˆ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. โ“ ์œ ํ˜• ์•ˆ์ „์„ฑ์„ ์ œ๊ณตํ•˜๋ฉด ๋ฌด์—‡์ด ๋‹ค๋ฅธ๊ฑธ๊นŒ? ๐Ÿ—จ๏ธํ”„.. 2024. 3. 15.
Android ๋„คํŠธ์›Œํฌ ํ†ต์‹  ๊ฐœ๋… ์ตํžˆ๊ธฐ [REST,URL, URI, Retrofit] ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ๊ฐœ๋ฐœ์„ ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๋Š” ๋กœ์ง์€ ํ•„์ˆ˜์ ์ด๋‹ค! ์ด ๋•Œ ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜์—ฌ ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์™€์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ ์ด์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…์„ ์•Œ์•„๋ณด์ž REST api๋ž€ ? REpresentational StateTransfer : REST๋ผ๋Š” ์›น ์•„ํ‚คํ…์ณ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์›น ์„œ๋น„์Šค๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. REST api๋Š” REST ์•„ํ‚คํ…์ณ ์Šคํƒ€์ผ์˜ ๋””์ž์ธ ์›์น™์„ ์ค€์ˆ˜ํ•˜๋Š” API๋ฅผ ๋งํ•œ๋‹ค. API๋ž€ ? ์—ฌ๊ธฐ์„œ api๋ž€ application programming interface๋ฅผ ๋งํ•œ๋‹ค. api๋Š” ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ž์™€ ์ •๋ณด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ž ์‚ฌ์ด์˜ ๊ณ„์•ฝ์„ ๋งํ•œ๋‹ค. ์ •๋ณด๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ์ž (์†Œ๋น„์ž)์™€ ์ •๋ณด๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ƒ์‚ฐ์ž๋Š” ๊ฐ๊ฐ content๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ์ด๋ฅผ ๊ฐ๊ฐ call๊ณผ response๋ผ๊ณ  ํ•œ๋‹ค. ๋งŒ์•ฝ ์ปดํ“จํ„ฐ์™€.. 2024. 3. 5.
[android ๋กœ๊ทธ์ธ] jwt token์œผ๋กœ ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ์™„์„ฑํ•˜๊ธฐ ๐Ÿ–๏ธ๋“ค์–ด๊ฐ€๊ธฐ ์ „์— ์ง€๊ธˆ๊นŒ์ง€ ๊ตฌํ˜„๋œ ๋กœ๊ทธ์ธ ๋กœ์ง์€ ํ”„๋ก ํŠธ์—”๋“œ ๋‹จ์—์„œ ๊นŒ์ง€์˜ ๋กœ์ง์ด์—ˆ๋‹ค. [ํ˜„์žฌ๊นŒ์ง€ ๊ตฌํ˜„๋œ ๋กœ์ง] 1๏ธโƒฃ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญ 2๏ธโƒฃ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ์ฐฝ์ด ์—ด๋ฆฌ๊ณ  3๏ธโƒฃ์•„์ด๋”” ํด๋ฆญ ์ง€๊ธˆ๋ถ€ํ„ฐ๋Š” ์„œ๋ฒ„์™€ ํ†ต์‹ ํ•˜๋ฉฐ ๋กœ๊ทธ์ธ ๋กœ์ง์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋ฅผ ์ธ์ฆํ•˜๊ณ  ์•ฑ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒ˜๋ฆฌํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. [์ง€๊ธˆ๋ถ€ํ„ฐ ๊ตฌํ˜„ํ•  ๋กœ์ง] 1๏ธโƒฃ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ๋ฒ„ํŠผ์„ ํด๋ฆญ 2๏ธโƒฃ๊ตฌ๊ธ€ ๋กœ๊ทธ์ธ ์ฐฝ์ด ์—ด๋ฆฌ๊ณ  3๏ธโƒฃ์•„์ด๋”” ํด๋ฆญ 4๏ธโƒฃ์„œ๋ฒ„์—์„œ access token๊ณผ refresh token ๋ฐ›๊ธฐ 5๏ธโƒฃ๋กœ์ปฌ db์— token๊ฐ’ ์ €์žฅ 6๏ธโƒฃresponse ์‹œ ํ•ด๋‹น token๊ณผ ํ•จ๊ป˜ ์š”์ฒญ๋ณด๋‚ด๊ธฐ -> ์‚ฌ์šฉ์ž ์ธ์ฆ 7๏ธโƒฃtoken ๋งŒ๋ฃŒ ์‹œ ๋กœ์ง ์ฒ˜๋ฆฌ โ“Access token , Refresh token ์ด๋ž€ ?? - Access Token ์‚ฌ์šฉ.. 2024. 2. 15.
728x90