์๋
๋ถํฐ ์งํํ๋ ๋ชจ์์์ ๋งค์ฃผ๋ง๋ค ์๋ก์ด ํจํค์ง์ ๋ํด์ ๊ฐ์ ๊ณต๋ถํด์ ๋ฐฐ์ด์ ์ ๊ณต์ ํ๋ ์๊ฐ์ ๊ฐ์ ธ๋ณด๊ธฐ๋ก ํ๋ค. ์ด๋ฒ์๋ flutter_hooks์ ๋ํด ์์๋ณด์๊ณ ์งํ์ด ๋์๊ณ ๋ด๊ฐ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํด๋ณด์๊ณ ํ๋ค. hooks์ ๋ํ ๋ด์ฉ์ ๋ํ ์ฐธ๊ณ ๋ ์๋์ ๊ฐ๋ค. pub.dev ๊ณต์ https://pub.dev/packages/flutter_hooks flutter_hooks | Flutter package A flutter implementation of React hooks. It adds a new kind of widget with enhanced code reuse. pub.dev ๊ฐ๋ฐํ๋๋จ์๋ ์ ํ๋ธ https://www.youtube.com/watch?v=GBVBLKESogU&lis..
Flutter

1. ๋ฌธ์ ์ ๋ฐ๋จ ๊ฐ๋ฐ์ ํ๋ ์ค์ ์ ์ฌ์ง์ ๋นจ๊ฐ์ ๋ฐ์ค ๋ถ๋ถ, ์ฆ ์ ํ ๊ฒ์ ๊ฐ๋ก ๋ถ๋ถ ์ค ์ด๋๋ฅผ ํด๋ฆญํด๋ GestureDetector๋ฅผ ํตํด ์ธ์์ ํ๊ฒ ๋ง๋ค๊ณ ์ถ์์ต๋๋ค. Row( children: [ Expanded( child: GestureDetector( onTap: () { print('Clicked'); }, // ํ ์์ญ ๋ถ๋ถ ์ด๋๋ฅผ ํด๋ฆญํด๋ ์ธ์๋๋๋ก ์ปจํ
์ด๋๋ก ๊ฐ์ธ๊ธฐ child: Container( child: const Row( children: [ Icon(Icons.search, color: Colors.grey), SizedBox(width: 10), Text('์ ํ ๊ฒ์', style: TextStyle(color: Colors.grey)), ], ), ), ), ), ...

PlayStore๋ AppStore ์ด๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์ด์ ๋ฐ์๋ ํ์๊ฐ์
์ฝ๊ด ๋์ ํ์ด์ง๋ ๋ง์ด ๋ดค์ ๊ฒ์
๋๋ค. ์คํ ์ด์ ์ฑ์ ์ฌ๋ฆด๋ ํ์๊ฐ์
/๋ก๊ทธ์ธ/๊ฐ์ธ์ ๋ณด ๋ฑ ์ฌ์ฉ์์ ์ ๋ณด๋ฅผ ๋ฐ์์ผ ํ๊ฒ ๋๋ค๋ฉด ํ์์ ์ผ๋ก ๊ฐ์ธ์ ๋ณด์ฒ๋ฆฌ๋ฐฉ์นจ์ ๋ฃ์ด์ผ๋ง ์น์ธ์ ํด์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์ด ํ์ด์ง๋ฅผ ์ ์ํด ๋ณด๋ ค๊ณ ํฉ๋๋ค. ํ๊ท ์ ์ผ๋ก ์ฒดํฌ๋ฐ์ค๋ 3๊ฐ์ง ํ์
์ ์ ํ์ ๋ฐ๋ก ๋ง๋ค์ด ์ฃผ์ด์ผ ํฉ๋๋ค. 1. ๋ชจ๋ ๋์ ( ๋ชจ๋ ๋์๋ฅผ ํ๋ ์ฒดํฌ๋ฐ์ค ) 2. ํ์ ๋์ ( ๋ฐ๋์ ํด์ผ๋ง ๋ค์ํ์ด์ง ๋์ด๊ฐ ์ ์๋ค. ) 3. ์ ํ์ ๋์ ( ์ํด๋ ๋ค์ ํ์ด์ง๋ก ๋์ด ๊ฐ ์ ์๋ค. ) ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ ํ์ ๋์๊ฐ ์ ๋ถ ์ฒดํฌ๊ฐ ๋์๋ค๋ฉด ๊ฐ์
ํ๊ธฐ ๋ฒํผ์ด ํ์ฑํ ๋์ด์ผ ํฉ๋๋ค. ์ ๊ทธ๋ผ ์ด์ ๊ตฌํํด์ผํ๋ ์๋ฆฌ๋ ๋๊ฐ ์์์ผ๋ ํ๋์ฉ ๋ฏ๊ณ ..

ํ๋ฌํฐ์์๋ ์ฑ์ ์ฒ์ ์คํํ ๋ ๊ฐ๋จํ๊ฒ ์์ ์ด ์ํ๋ ์ด๋ฏธ์ง๋ฅผ ๋ณด์ฌ์ค ์ ์๋ ์คํ๋์ ํจํค์ง๋ฅผ ์ง์ํ๋ค. https://pub.dev/packages/flutter_native_splash flutter_native_splash | Flutter Package Customize Flutter's default white native splash screen with background color and splash image. Supports dark mode, full screen, and more. pub.dev ์ฌ์ฉ๋ฒ์ ๋งค์ฐ ๊ฐ๋จํ๋ค pubspec.yaml ์ ํจํค์ง ์ถ๊ฐ dependencies: flutter: sdk: flutter flutter_native_splash: ^์ต์ ๋ฒ์ # ์คํ..

์์ ๊ฐ์ ํ
์คํธํ๋์์ ์
๋ ฅ์ ์ซ์๋ก๋ง ์ ํ์ ํ๊ณ ์ ํ ๋ TextField( keyboardType: TextInputType.number, // ์ซ์๋ง ์
๋ ฅ๊ฐ๋ฅ inputFormatters: [ FilteringTextInputFormatter.digitsOnly, ], cursorColor: Colors.grey, decoration: InputDecoration( border: InputBorder.none, filled: true, fillColor: Colors.grey[300], ), ), KeyboardType์ ํตํด ์ํ๋ ๊ฐ์ ์ง์ ํ ์ ์๋ค. keyboardType: TextInputType.number ํ์ง๋ง ๋ฐ์๋๋ ๋ฌธ์ ์ ์ผ๋ก๋ ๋ง์ฝ ์ฌ์ฉ์๊ฐ ํธ๋ํฐ์ ๋ธ๋ฃจํฌ์ค ํค๋ณด๋๋ก ์ฐ๊ฒฐ์ ..

final List numbers = List.generate( 100, // ์ด ๊ธธ์ด (index) => index, // ์ซ์์ ์์ ); 2๊ฐ์ ์ธ์๊ฐ์ ๋ฐ๋๋ฐ 1. length 2. (index) 1๋ฒ์๋ ์ด ๊ธธ์ด์ int์ ๊ฐ์ ๋ฃ์ด์ฃผ๋ฉด ๋๊ณ 2๋ฒ์๋ ์ซ์๊ฐ ์ด๋ป๊ฒ ์ฆ๊ฐ๋ ์ง์ ๊ฐ์ ์ ์ด์ฃผ๋ฉด ๋๋ค. ๋ง์ฝ ์ ์ฝ๋๋ฅผ ๊ทธ๋๋ก ์คํํ ์ 1,2,3 .. 99 ๊น์ง ์คํ์ด ๋ ๊ฒ์ด๊ณ (index) => index * 2 ๋ฅผ ํ ๊ฒฝ์ฐ 2์ ๋ฐฐ์๋ก ์คํ์ด ๋๋ค.