flutter๋ก ๋น๋ํ ํ๋ก์ ํธ๋ react๋ก ๋ณ๊ฒฝํ๋ ์์
์ ์งํ ์ค์ด๋ค. ํ๋ก์ ํธ๋ฅผ flutter๋ก ๋น๋ํ๋ ์์
์ ๋ด๊ฐ ํ์ง ์์์ง๋ง ์ด๋์ ๋ flutter์ฝ๋๋ฅผ ์ฝ์ ์ ์์ด์ cloneํด์ ์ฝ๋๋ฅผ ์ดํด๋ณด๋ ค๋๋ฐ ๋ฒ์ ผ์ด ๋ง์ง ์์์ ์ ๋๋ก run์ด ๋์ง ์๋๊ฒ์ด๋ค! ํ๋ฌํฐ ๋ฒ์ ผ ์
๊ทธ๋ ์ด๋ํ๊ธฐ ๐ ๊ต์ฅํ ๊ฐ๋จํ๋ค! ํฐ๋ฏธ๋์ ์๋์ ๊ฐ์ด ์ ์ด์ฃผ๋ฉด ๋๋ค. flutter upgrade ๊ทธ์ ์ ์ฐ์ version์ ์ฒดํฌํด๋ณด์ flutter --version ์ด๋ ๊ฒ ํ๋ฉด version๊ณผ dart version๋ ํจ๊ป ํ์ธํ์ค ์ ์๋ค. upgrade ํ์๋ ์์
์ค์ธ ํ๋ก์ ํธ๋ก ๊ฐ์ flutter -v pub get ์ ํ๋ฒ ํด์ค์ผ ํ๋ก์ ํธ๊ฐ ์ ๋๋ก ๋์๊ฐ๋ค!
flutter
dart๋ผ๋ ์ธ์ด์ ํต์ญ์ ํ๊ธฐ ์ํด์ ๋ณ์, ๋ฉ์๋ ๋ฑ์ด ํ์ํ๋ค method๋ ๋ฏน์๊ธฐ์ ๊ฐ์ ๊ธฐ๋ฅ์ ํ๋๋ฐ, ์ด๋ค ๊ธฐ๋ฅ์ด ํ์ํ ๋ ์ฌ์ฉํ๋ค. ๋ณ์์ ๊ฒฝ์ฐ์๋ ๋ค์ํ ์์ดํ
์ ๋ณด๊ดํ๊ธฐ ์ํด์ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ๋ณ์์ ํฌ๊ธฐ๋ ํ์
์ ๋ง๊ฒ ์ ์ธ๋์ด์ผํ๋ค. string, boolen ๊ณผ ๊ฐ์ด ๋ง์ด๋ค. ์๋ฅผ ๋ค์๋ฉด String์ด๋ผ๊ณ ํ์
์ ์ ํ๊ณ ๋ณ์๋ฅผ ์ ์ธํด์ฃผ๋ฉด ์ปดํจํฐ๊ฐ ๊ทธ์ ๋ง๋ ๊ณต๊ฐ์ ์ค๋นํ๊ณ ๋ง๋ค์ด์ค๋ค. ์ด์ ๋ ํด๋์ค๋ค ํด๋์ค๋ ํ๋์ ์ธํ์ด ์๋ค๊ณ ํ๋ฉด, ๊ทธ ์ธํ์ ์ด๋ฃจ๊ธฐ ์ํด์ ๋ค์ํ ๋ถ๋ถ์ด ์กด์ฌํ๋ค. ํ, ๋จธ๋ฆฌ , ๋ชธํต๊ณผ ๊ฐ์ด ๋ง์ด๋ค. ์ ๋ ๊ฒ ๋ถ๋ถ์ ์ผ๋ก ํํธ๋ณ๋ก ๋๋ ๋ถ๋ถ์ ํด๋์ค๋ผ๊ณ ์ดํดํ๋ฉด ์ข์ ๊ฒ ๊ฐ๋ค. ํฌ๊ณ ๋ณต์กํ ๊ฒ์ ๋ง๋ค๋ ๋๋ ์ ๋ง๋ค์ด ์กฐ๋ฆฝ! ๊ฐ์ฒด(object) ๋ ๋์ ์ค์ฒด๊ฐ ๋ณด์ด๋ ..
์ฝ 1์ฌ๋
๊ฐ๊น์ด ํ๋ฌํฐ๋ก ์ฑ์ ์ ์ํ๊ณ ์๋๋ฐ ์ฌ์ ํ ์์ํ ๊ฐ๋
๋ค์ ์ ๋๋ก ์์ง ๋ชป ํ๋ค๋ ์๊ฐ์ด ๋ค์๋ค. GetX๋ก ์ํ ๊ด๋ฆฌ๋ฅผ ํ๋ฉด์ stateless ์์ ฏ๋ง ์ฌ์ฉํ๊ณ ์๋๋ฐ ์ฌ์ค stateful์ด๋ผ๊ณ getx๋ฅผ ๋ชป ์ฐ๋ ๊ฒ์ ์๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฐ๋
์ด ํ์คํ์ง ์๋ค๋ณด๋ ๊ทธ์ ์ ์ฐ๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์. ๊ทธ๋ฆฌ๊ณ ํ๋ฉด์์์ ํด๋ฆญ ์ด๋ฒคํธ๋ง์ผ๋ก ์์ ฏ์ด ๋ณ๊ฒฝ๋์ผํ๋ ๋ ์ด์์์ ๊ตฌ์ฑํ๊ฒ ๋๋ฉด์ ๊ทธ๋ฅ stateless๋ก ์จ์ผํ๋๊ฑธ๊น getx๋ก ๊ด๋ฆฌํด์ผํ๋ ๊ฑธ๊น๋ผ๋ ์๋ฌธ์ด ๋ค์๊ณ , ์ด๋ค ๋ฐฉ๋ฒ์ด ๋ ์ข์ ๋ฐฉ๋ฒ์ธ์ง ์์๊ฐ ์์ด์ ๊ฐ๋
์ ๋ฆฌ๋ฅผ ๋ค์ ํ๋ฒ ํด๋ณด๋ ค๊ณ ์์ฑํด๋ณธ๋ค. โ
Stateless Widget ํ๋ฉด์ด ๋ก๋๋ ๋ ํ ๋ฒ๋ง ๊ทธ๋ ค์ง๋ state๊ฐ ์๋ ์์ ฏ์ผ๋ก ๋ณ๊ฒฝ์ด ํ์ํ Data๊ฐ ์๋ ๊ฒ์ ์๋ฏธ ์ด๋ฒคํธ ..
โจ๏ธ ๋ฌธ์ ์ํฉ ๋ง๋ค๊ณ ์๋ ํ๋ก์ ํธ ํ์ด์ง ์ค์ ๊ธ์ ๊ฒ์ํ๋ ํ์ด์ง๊ฐ ์๋๋ฐ, ์ต๊ทผ ๊ฒ์์ด๋ฅผ ๋ฑ๋ก, ์ญ์ ๊ธฐ๋ฅ์ ์์ ํด์ผ ํ๋ ์ํฉ. Hive์ ์ ์ฅํด๋๊ณ ํด๋น ์์ดํ
์ ๊บผ๋ด์์ obx๋ก ์ํ๊ด๋ฆฌ๋ฅผ ํ๋ฉด์ ์ญ์ , ๋ฑ๋ก์ ํด์ผ ํ๋๋ฐ, ๋จ์ด๋ฅผ ํ๋์ฉ ์ถ๊ฐํ ๋๋ง๋ค ๋ฐฐ์ด์ ๋ค์ ๋ถ๋ ๊ฒ ์๋๋ผ ์์ ๋ถ๊ฒ ํ๊ฑฐ๋, ๋ค๋ก ๋ถ์ผ ๊ฑฐ๋ฉด reverse๋ฅผ ์์ผ์ ๋ฐฐ์ด์ด ๋๋ฌ๋๊ฒ ํด์ค์ผ ํ๋ ์ํฉ. ์ฌ๊ธฐ๊น์ง๋ ๊ด์ฐฎ์๋ฐ, ๋ฌธ์ ๋ ํด๋น ์ธ๋ฑ์ค๋ฅผ ์ฌ์ฉํด์ ์ญ์ ๋ฅผ ํด์ผ ํ๋ ์ํฉ์ด๋ค. ๋ฐฐ์ด ์์ชฝ์ผ๋ก ์ถ๊ฐํ๋ ๋ฐฉ์์ผ๋ก ํ๋๋ ์ธ๋ฑ์ค๋ ๋ณํ์ง ์๋ ๊ฒ์ธ์ง ํด๋น ๋จ์ด๋ฅผ ๋๋ฅด๋ฉด ๋ค๋ฅธ ๋จ์ด๊ฐ ์ฌ๋ผ์ก๋ค. ๊ฒ๋ค๊ฐ 10๊ฐ ์ด์์ ์ถ๋ ฅ์ํค์ง ๋ง๋ผ๋ ์กฐ๊ฑด๊น์ง ๋ถ์๋ค. ํด๊ฒฐ ๋ฐฉ์ โ
์ต๊ทผ๊ฒ์์ด ์
๋ฐ์ดํธ ๋ ๋ ๋ฐฐ์ด ์์ชฝ์ผ๋ก ๋ณด๋ด๊ธฐ โก๏ธ inser..
์์ง์ด๋ .gif ์ด๋ฏธ์ง๋ง๊ณ ์ ์ ์ธ .jpg ์ด๋ฏธ์ง๋ก ์์ง์ด๋ ๋ก๋ฉ ์ธ๋์ผ์ดํฐ๋ฅผ ๋ง๋ค์ด์ผํ์ต๋๋ค! ํ์ฐธ์ ์ด๊ฒ์ ๊ฒ ์ฐพ์๋ดค์๋๋ฐ์. ํ๋ฌํฐ์ AnimatedSwitcher ๋ฅผ ์ด์ฉํ๋ฉด ์ฝ๊ฒ ๋ง๋์ค ์ ์์ด์. ๋ ์ข์ ๋ฐฉ๋ฒ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์ธ์ ใ
์ ๋ ์๊ณ ์ถ์ต๋๋ค. ๐๐ป ๊ณต์ flutter - AnimatedSwitcher ํ์ด์ง ๊ฐ๊ธฐ https://api.flutter.dev/flutter/widgets/AnimatedSwitcher-class.html AnimatedSwitcher class - widgets library - Dart API A widget that by default does a cross-fade between a new widget and the widget previously..
โก๏ธ api๋ก ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ฌ ๋, ๋น๋๊ธฐ์ฒ๋ฆฌ์์ ์๊ธดํ๊ฒ ์ฐ์ผ futurebuilder! ํ๋ฉด ์ด๋์์ ๋ฐ์ดํฐ๊ฐ ๋ค ๋์ด์ค๊ธฐ ์ ์ ๋ถ๋ถ์ ์ผ๋ก ๋ก๋ฉ๋๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ์ธ๋์ผ์ดํฐ๋ฑ์ ๋์ธ ๋๊ฐ ์๋๋ฐ ์ด๊ฑธ ํ๊ธฐ ์ํด์ FutureBuilder ๋ผ๋ ๊ฒ์ด ํ์ํ๋ค FutureBuilder ๊ณต์๋ฌธ์ FutureBuilder class - widgets library - Dart API Widget that builds itself based on the latest snapshot of interaction with a Future. The future must have been obtained earlier, e.g. during State.initState, State.didUpdateWidget,..
โ๏ธ input์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ์ด์ ๊ด๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ์ฐพ๋ค๊ฐ TextEditingController ๋ผ๋ ๊ฑธ ์๊ฒ ๋์๋ต๋๋ค ๊ณต์๋ฌธ์ https://docs.flutter.dev/cookbook/forms/retrieve-input Retrieve the value of a text field How to retrieve text from a text field. docs.flutter.dev ์ด๊ฒ ์น ํ๋ก ํธ ํ๋ ๋ถ๋ค์ ์ดํดํ์ค ๊ฒ ๊ฐ์๋ฐ, ํ ํ์ด์ง ์์ input์ด ๋๋ฌด ๋ง์์ ์ฒ์์๋ ์ผ์ผํ ๋ณ์๋ฅผ ๋ค ๋ง๋ค์ด์ setState๋ฅผ ๋ง์น React์ useState ์ธ์ ์ด์ฉํด์ ์ฌ์ฉํ์ง๋ง, ๊ทธ๋ ๊ฒ ํ๋ฉด ์ฝ๋๊ฐ ๊ต์ฅํ ์ง์ ๋ถํด์ง๊ณ ๊ด๋ฆฌ๊ฐ ๋์ง ์์์ ใ
ใ
๊ทธ๋์ ์ ์์ด๊ฐ ํ์ํ๋ต๋๋ค. 1. TextEd..
ํ์ฌ ๋ง๋ค๊ณ ์๋ ํ๋ก์ ํธ์์ page4์ ์๋ ๋ฒํผ์ ํ ๊ธํ๋ ๋ถ๋ถ์ด ์๋๋ฐ, ์ด ๋ถ๋ถ์ controller์์ ๊ด๋ฆฌ๋ฅผ ํด์ฃผ๊ณ statelessWidget์์ ์ฐ๊ธฐ ๋๋ฌธ์ dispose๋ฅผ ์ฌ์ฉํด์ ์ฃฝ์ผ์๊ฐ ์๋ ์ํฉ์ด์๋ค. ํด๊ฒฐ์ฑ
1. ๋ฒํผ์ ์ด๊ธฐํํ๋ ํจ์๋ฅผ ๋ง๋ค์ด์ ๋ผ์ฐํ
ํ ๋๋ง๋ค ๊ทธ ํจ์๋ ๊ฐ์ด ์คํ์์ผ์ฃผ๊ธฐ ๊ฐ์ธ์ ์ผ๋ก ์๊ฐํด๋ด๋ ์ ์ข์ ์ฝ๋์ด๊ณ (ใ
ใ
ใ
ใ
ใ
) ํ์ฌ ํ๋ฌํฐ ๊ฐ๋ฐ์์๊ฒ๋ ๋ฌผ์ด๋ณด๋ ์ถ์ฒํ๊ณ ์ถ์ง ์์ ๋ฐฉ๋ฒ์ด๋ผ๊ณ ํ๋ค. ํด๋น ํจ์๋ controller ํ์ผ์ ๋ง๋ค์ด์ ํด๋ฆญ ๋์์ด ์ผ์ด๋ ๋๋ง๋ค ๋ฃ์ด์ฃผ๋ ๋ฐฉ์์ด๋ค. 2. onClose() ๋ฅผ ์ฌ์ฉํด์ ํ์ด์ง๋ฅผ ๋ ๋๋ฉด ์๋์ผ๋ก ๋ฉ๋ชจ๋ฆฌ ์ญ์ ์ํค๊ธฐ ์ด ๋ฐฉ๋ฒ์ด ์ ์ผ ํฉ๋ฆฌ์ ์ธ ๋ฐฉ๋ฒ์ธ๊ฒ ๊ฐ๋ค. ์ด๋ ๊ฒ ํจ์๋ฅผ ๋ฃ์ด์ ์ฌ์ฉํด์ค๋ ๋๊ณ ์๊ทธ๋๋ ๋๋ค. ๋ฌธ์ ..
[๋ฌธ์ ๋ฐ์] ์์์์์์์๋ ์ ๋๋์ฒด flutter์ listview ๋ฅผ ์ฐ๋ฉด ์ด์ํ ๊ณต๋ฐฑ์ด ์๊ธฐ๋ ๊ฒ์ธ๊ฐ! ๋ฆฌ์คํธ๋ฅผ ํ๋ฉด ์๋ก ์ฌ๋ฆฌ๋ฉด ์ ์ผ ์ฒ์์ ์ฌ๋ผ์ค๋ ๋ฆฌ์คํธ ์๋ก ๋ง์น margin์ ์ค ๊ฒ์ฒ๋ผ ์ฌ๋ฐฑ์ด ์๊ฒจ๋ ์๋ค. [ํด๊ฒฐ์ฑ
] padding: const EdgeInsets.symmetric( horizontal: 20, vertical: 12), listview๋ฅผ ์จ์ ๋ฐ์ดํฐ๋ฅผ map์ผ๋ก ๋๋ ค์ ํ๋ฉด์ ์ฌ๋ ค ์ค ๋ ์ ์ฝ๋๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ํด๊ฒฐ๋๋ค. horizontal, vertical ์์น๋ฅผ ๋ณํํด์ ๋ฃ์ด์ฃผ๋ฉด ๋๋๋ฐ, ์ด๊ฒ๋ ์ ์จ์ผํ๋ค. ๋ญ๊ฐ ... ๋ฌด์กฐ๊ฑด 0์ผ๋ก ๋ฃ์ด๋ ์ด์ํ๋ค. ๋ญ๊ฐ ์ด๊ฒ ์์ ํ ํด๊ฒฐ์ฑ
์ด ์๋ ๊ฒ ๊ฐ์ ๋ต๋ต~~ํ๋ค. โ ์ฐธ๊ณ ์๋ฃ https://velog.io/@tygerhwang..
CustomSwitch button์ ๋ํ๋๋ฐ, ๊ฐ์๊ธฐ ์ค๋ฅ๊ฐ ๋ด๋ค. Error: Cannot run with sound null safety ์์๋ณธ ํด๊ฒฐ ๋ฐฉ๋ฒ์ ๊ต์ฅํ ๊ฐ๋จํ๋ค. ๋ฉ๋ด์ฐฝ์์ Run (์๋๋ก์ด๋ ์คํ๋์ค ๊ธฐ์ค) > Edit Configurations ๊ทธ๋ฆฌ๊ณ --no-sound-null-safety ๋ผ๋ ๋ง์ Additional run args:์ ๋ฃ์ด์ฃผ๋ฉด ๋๋ค. ๊ทธ๋ฌ๋ฉด ๊น๋ํ๊ฒ ํด๊ฒฐ~ ์๋์๊ฐ๋ ์ฝ๋๊ฐ ์ ๋์๊ฐ๋ค!!!
โช flutter / firebase ์ฐ๋ํ๊ธฐ ํ๋ฌํฐ์ firebase๋ฅผ ์ฐ๋ํ๋ ๋ฐฉ๋ฒ์ ์ฌ์ด ํธ์
๋๋ค. ๊ทธ๋ฐ๋ฐ, ์ ์ค๋ ๊ฑธ๋ ธ์ต๋๋ค ๐ firebase ์ฝ์์์ ์๋๋ก์ดํธ ํ๋ก์ ํธ๋ฅผ ์๋ก ๋ง๋ค์ด์ฃผ๊ณ flutter ํ์ผ๋ก ๋์์์ app ํด๋์์ build.gradle ํ์ผ์ ํ์ํ ์ ๋ณด๋ค์ ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. firebase๋ฌธ์ ๊ฐ ์์ธํ๊ฒ ์ค๋ช
ํด์ฃผ๊ธฐ ๋๋ฌธ์ ์ด๋ ค์ธ๊ฒ ์์ต๋๋ค. ๋ชจ๋ ํ์ผ๋ค ์
๋ฐ์ดํธ๋ฅผ ๋๋ด๊ณ ์ค๋ฅ๋ฉ์ธ์ง๋ฅผ ๋ง๋ฌ๋๋ฐ, flutter sdk๋ฒ์ ผ๊ณผ firebase ๋ฒ์ ผ์ด ์ํธ๊ฐ ์ ๋์์์ต๋๋ค. ์ด๋ด๋ android > app > build.gradle ํ์ผ์ midSdkVersion๊ณผ targetSdkVersion์ ์๋์ ๊ฐ์ด ๋ฃ์ด์ฃผ๋ฉด ๋ฉ๋๋ค. ์ซ์๋ง ๋ํด์ฃผ๋ฉด ๋๋๋ฐ ์ ๊ทธ๊ฑธ ๋ชจ๋ฅด๊ณ ์์ฒญ ํด๋งธ..
โช ์์ฑ ํ ๋ ์ด์์ ์ ๋ ์ด์์์ ๋ง๋ค์ด์ผํ๋๋ฐ, ์ ์ฒด์ ์ผ๋ก ๊ฐ์ผ Container ๊ฐ ์๊ณ , ๊ทธ ์์ Column๋ก ํ๋ฒ ๋ ๊ฐ์ธ๊ณ , ๊ฐ ๋ ์ด์์์ ๋ง๋ค๊ธฐ ์ํด์ ์ค๊ณ ๊ณํ์ ์ธ์ ๋ค. Column( children: [ 1. Container - ํ๊ต ์ด๋ฉ์ผ์ด๋ผ๋ Text๋ฅผ ์ธ ๊ฒ 2. Row - TextFormField(์ด๋ฉ์ผ input) , OutlinedButton(์ธ์ฆํ๊ธฐ) 3. SizedBox - input ์ฌ์ด์ ๊ฐ๊ฒฉ์ ์ํด์ 4. TextFormField - ์ธ์ฆ๋ฒํธ ์
๋ ฅ input 5. OutlinedButton - ๋ค์ ๋ฒํผ ] ) โช ๋ฌธ์ ๋ฐ์ 1์ ํ๊ณ 2๋ฒ์ผ๋ก ๋์ด๊ฐ ๋ ์ฐ์ Row๋ฅผ ์ ์ฐ๊ณ , TextFormField๋ฅผ ๋จผ์ ์ผ๋๋ฐ ํ๋ฉด์ ์ถ๋ ฅ์ด ์ ๋๋๊ฑฐ๋ค! ์ด ์ ์ ์ ํ๋ฒ ..