2024/11

1. firebase CLI 연동 과정 중 문제 파이베이스를 CLI로 연동하는 과정에서 아래의 코드를 치고 난 후 문제가 발생함dart pub global activate flutterfire_cli 아래의 글이 나오면서 실행이 안되었다. Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.): export PATH="$PATH":"$HOME/.pub-cache/bin" 글을 읽어보자. 내 경로에 인식이 안되고 있다고 하고 있었다. htt..

처음에 리스트를 추가하는 화면에서 정보를 입력하고 추가하면 리스트에는 정보가 추가 되었는데, 메인화면에는 바로 추가된 정보가 적용되니 않고 검색 기능을 이용하고 난 후에 추가된 정보가 보이는 문제가 있었다. 이를 해결하기 위해서 검색을 해보았다. https://usedpaper.tistory.com/63 flutter 페이지 뒤로 갔을때 새로고침 하는 방법.Navigator.push에서 then을 추가하고 setState를 적용한다. setState가 실행됨에 따라 새로고침이 되는 방식이다. 이동된 페이지에선 Navigator.pop을 해주면 된다. Navigator.push(context, MaterialPageRoute(builder: (contexusedpaper.tistory.com 처음에는 위..


쇼핑몰 앱을 만드는 프로젝트에서 여려웠던 기능 몇가지를 정리 하려고 합니다. 첫번째는 바로 검색 기능입니다.검색을 하는데 있어서 사용하는 정보는 아래의 코드의 형식으로 리스트 페이지에 정의 되어있습니다. List album = [ Album( imagePath: 'assets/images/peppertones.jpg', song: '행운을 빌어요', artist: '페퍼톤스', price: 30000, description: ''), ]; 검색을 하는데 이용하는 위젯은 아래의 코드입니다.//검색바 위젯Padding search_bar() { return Padding( padding: EdgeInsets.all(20), ..

오늘 공부하는데 선언형 UI에 대해서 알게 되었다. Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text('선언형 UI 예시')), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ ElevatedButton( onPressed: () { setState(() { count++; }); }, ..


dart문법을 이용해서 CLI환경에만 결과가 보이는 프로그램을 짤때는 바로바로 함수라던지 다트 문법을 바로바로 사용하면 된다.그런데 flutter 앱을 만들때는 UI코드를 짜고 그 사이에 조건문이라던지, 반복문을 사용해야하는데 이에 대해서 느꼈던 어려움을 말해보려고한다. flutter가 dart 문법을 이용한다는 것을 알것이다. 그러나 flutter는 UI코드를 짜면서 같이 기능을 구현해야하기에 난이도가 올라가는 것은 당연하다. 하지만 시뮬레이터를 이용해서 자신이 만들고있는 것을 바로 볼 수 있다는 장점이 있다. 그렇다면 flutter에서 어떻게 조건문, 반복문등을 쓸 수 있을까.UI를 구성하는 코드를 먼저 보자.flutter는 큰 형식으로는 위의 그림과 같이 큰 영역에서 작은 요소의 위젯이 계층적으로 ..


ListView 기차 앱의 마지막 화면으로 좌석을 선택하는 화면을 만들었다. 이때 선택하는 좌석 부분을 ListView로 구성을 해야했다. 역을 선택하는 화면에서 ListView를 이용했었다. 그래서 쉽게 구성할 것이라고 생각을 했었다. 하지만 이번에는 화면에 ListVeiw로만 구성하는 것이 아니라 다른 구성요소들 사이에 ListView를 넣는 것이었다. 처음에는 이렇게 했다. 화면을 보면 좌석이 좌우 2줄씩 총 4줄로 구성되어있다. 그래서 세로줄로 된 위젯을 만들고 이것을 가로로 나열 하려고 코드를 짰다.그렇게 하니 리스트뷰를 포함해서 화면 하단의 버튼도 같이 나오지 않는 문제가 발생했다. ListView의 영역이 정해지지 않아서 오류가 발생한거같아 화면에 padding,..


저번시간에 push를 통해서 리스트에서 선택하는 역이 출발하는 역인지 도착하는 역인지 정보를 넘겼었다.onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => StationListPage('$label'), ), ); }, onTap, 클릭이 되었을 때 실행되는 코드를 짜놓은 것이다. 저 코드를 이미 짜놓고 역을 클릭 했을 때 넘기는 정보도 같은 방식으로 진행하려고 했다. 그래서 같은 Navgiator.push를 써서 코드를 짜보았다. 그러자 코드에서 계속 오류가 발생했다. 오류를 해결하기 위해서 인터넷에 onTa..


오늘은 화면을 전활 할때 정보를 다음 화면에 정보를 전달하는 과정을 연습했다. 왼쪽의 화면에서 출발역과, 도착역을 클릭하면 '출발역', '도착역'이라는 글 정보를 오른쪽으로 넘겨서 상단에 표시할 수 있는 기능이다. 우선 하얀 사자 안에 글씨를 구성하는 코드이다. GestureDetector label(String label, String? station) { return GestureDetector( onTap: () { Navigator.push( context, MaterialPageRoute( builder: (context) => StationListPage('$label'), ), );..

ColumnColumn 위젯이란? ⇒ 위젯들을 세로로 배치하는 위젯!RowRow 위젯이란? ⇒ 위젯들을 가로로 배치하는 위젯!TextText 위젯이란? ⇒ 문자열을 화면에 표시하기 위한 위젯!SafeArea핸드폰 기기별로 조금씩 다른 디바이스 UI인 StatusBar(상태바) 영역등에 padding(여백)을 넣어주는 위젯SpacerRow나 Column에서 위젯 사이의 간격을 조정하는 데 사용사용 가능한 모든 공간을 차지함ExpandedExpanded 위젯은 Row, Column 내에서 남은 공간을 확장하여 공간을 채울 수 있도록 하는 위젯SizedBoxwidth 및 height 크기를 가지는 빈 상자상자 내에 위젯을 배치할 수도 있으며 빈 상자로 사용할 수도 있음