์์
๋ก๊ทธ์ธ์ ๊ตฌํํ๋ฉด์ ์ฌ์ฉ์๊ฐ ๋๋ฒ์งธ ๋ก๊ทธ์ธ๋ถํฐ๋ ์์ฒด์ธ์ฆ์ผ๋ก ๊ฐ๋จํ๊ฒ ๋ฉ์ธ์ผ๋ก ์ง์
ํ๊ฒ ๊ตฌํํ๊ธฐ์ํด ์ฌ์ฉ์ ๋ก๊ทธ์ธ ๊ธฐ๋ก์ ๋ก์ปฌ DB์ ๋ฃ์ด์ผํ๋ค. ๋ณดํต ์ด๋ฐ์ ๋ณด๋ ๋ณด์์ด ๋ฑํ ์ค์ํ์ง ์๊ณ ๊ฐ๋จํ ์ ๋ณด๋ผ ์๊ฐํด์ iOS์ ๊ฒฝ์ฐ Userdefault์ ์ ์ฅํ๊ณ ํ๋ฌํฐ์์๋ Userdefault ๋ฉํํ๊ณ ์๋ Shared Preference ํจํค์ง๋ฅผ ์ฌ์ฉํ๋ ค๊ณ ํ๋ค.
ํ์ง๋ง ์๋๋ก์ด๋ ์ง์ SharedPreference์ ์ด์๊ฐ ์๋ค๋ ๊ฒ์ ์๊ฒ๋์ด ๊ณต์๋ฌธ์๋ฅผ ๋ค์ฌ๋ค ๋ณด๊ฒ ๋์๋ค.
shared preferences ๋ ์์ ๊ฐ์ด iOS์ userdefaults๋ฅผ, ์๋๋ก์ด๋์ SharedPreferences๋ฅผ ๋ฉํํ๊ณ ์๋ ํจํค์ง์ด๋ค. Userdefaults๋ iOS์์ ๋จ์ํ DB์ ์ฅ ๋๊ตฌ๋ก ํค-๋ฐธ๋ฅํ์์ผ๋ก ์ ์ฅ๋๊ณ ๋ณด์์์ค์ด ๋ฎ์์ ์ฑ์ ๋คํฌ๋ชจ๋๋ผ๋ ์ง ๋ฑ์ ์ฌ์ํ ์ค์ ์ ์ ์ฅํ๋ ํธ์ด๋ค. ๊ทธ๋ ๋ค๊ณ ์ ํ์์ ์ง์ ์คํผ์
๋ก ์ฐ์ง ๋ง๋ผ๊ณ ํ์ง๋ ์๋๋ค. ๋ฌธ์ ๋ ์๋๋ก์ด๋์์ SharedPreferences๋ฅผ ์ฐ์ง๋ง ๊ฒ์ ๊ณต์๋ฌธ์์์ ๊ฐ์กฐํ๊ณ ์๋ค.
์ฝ๋๋งํฌ: https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/app/SharedPreferencesImpl.java
์ด์ ๋ ๋ช๊ฐ์ง๊ฐ ์๋๋ฐ ๊ฐ์ฅ ํฐ ๋ฌธ์ ๋ ๋์์ฑ ํ๊ฒฝ์ ์ทจ์ฝํ๋ค๋ ๊ฒ์ด๋ค. ์๋ฐ์ฝ๋๋ก ์์ฑ๋ ์๋๋ก์ด๋ SharedPref ๋ด๋ถ์ฝ๋๋ฅผ ๋ณด๋ฉด commit ๋ฉ์๋๋ฅผ ํตํด ๋ก์ปฌ DB์ ์ ์ฅํ๋๋ฐ iOS์ ๋ค๋ฅด๊ฒ ์ฐ๊ธฐ ์์
์ ํธ์ถ๋ ๊ฐ์ ์ค๋ ๋์์ ์์
์ ์งํํ๋ค. (iOS๋ ๋ฐ๋ก ์ฝ๋๋ฅผ ์ ์ง ์์๋ ์๋์ผ๋ก ์ฐ๊ธฐ์์
์ ๋ค๋ฅธ ํ์ ๋ณด๋ด์ด non-blocking ๋ฐฉ์์ผ๋ก ์์
ํ๋ค.) ๋ฌผ๋ก SharedPref๋ฅผ ํตํด ์์ ์ ๋ณด๋ง ์ ์ฅํ๊ธฐ๋ ํ์ง๋ง ํ๋ฌํฐ์์ ๊ตฌํํ๋ฉด ์ ๊น์ด๋๋ง ๋ฉ์ธ ์ค๋ ๋๋ฅผ ๋ธ๋กํนํ ์๋ ์๋ค.
ํ๋ฌํฐ ์ด์์ ์ฌ๋ผ์จ Don't Use SharedPreferences ์์๋ ์ด๋ฌํ ๋น๋๊ธฐ ์ด์๋ฅผ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์ด์ ๋ก ์ธ๊ธํ๊ณ ์๋ค. ํ ๊ทธ๋์ ์ ์ ๋ก๊ทธ์ธ ์ ๋ณด ์ ๋ฌด๋ฅผ Shared pref ๋์ flutter_secure_storage ํจํค์ง๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ์์ฌ๊ฒฐ์ ์ ๋ด๋ ธ๋ค.
ํ ์ค์์ฝ
ํ๋ฌํฐ ํ๋ก์ ํธ์์ ์๋๋ก์ด๋๋ฅผ ํ๊ฒํ
ํ๊ณ ์๋ค๋ฉด Shared Preference ํจํค์ง๋ฅผ ์ฐ์ง๋ง์!