본문 바로가기

Flutter10

[Flutter] Listview.builder Listview.builder()는 동일한 형태의 view를 여러개 화면에 그릴때 효과적으로 사용할 수 있는 위젯입니다. 기본적으로 itemCount와 itemBuilder 속성이 필요합니다. itemCount는 용어 그대로 몇 개의 아이템을 표시할 것인지, itemBuilder는 어떤 view를 화면에 그릴지를 선택하는 속성입니다. itemCount : int값이며 ListView 항목들의 총개수에 해당한다. (단, 주어지지 않으면 무한히 항목을 만든다.) itemBuilder(BuildContext ctx, int i) : i번째에 해당하는 항목에 그려질 View를 반환하는 함수이다. idx는 0부터 시작. ListView.builder( itemCount: _riview.length, itemBui.. 2023. 8. 22.
[Flutter] http 통신(GET) & JSON 파싱 (2) 지난 포스팅에 이어 서버에서 가져온 데이터를 앱 화면에 보여지도록 해보겠습니다. 4. 데이터 Fetch fetchAlbum()메소드를 initState() or didChangeDependencies()에서 호출합니다. initState() 메소드는 한번 실행된 후 다시는 실행되지 않습니다. 따라서 InheritedWidget의 변화에 따라 API가 다시 로드 되는 것을 원한다면, fetchAlbum() 메소드를 didChangeDependencies()안에서 호출하고 그렇지 않다면 initState()에서 호출하면 됩니다. class _ListTileAppState extends State { late Future futureAlbum; //late : non-nullable 변수의 초기화를 나중에 할.. 2023. 8. 16.
[Flutter] http 통신(GET) & JSON 파싱 (1) 오늘은 서버에서 데이터를 가져와서 flutter 앱 화면에서 보이도록 해보겠습니다.(flutter 공식문서 내용을 참고하였습니다.) 1.  패키지를 추가합니다. pubspec.yaml는 플로터 프로젝트를 생성하면 같이 생기는 기본 파일로 패키지 의존성 관리 및 프로젝트 정의 등의 다양한 역할을 수행하는 파일입니다. 그중에 dependencies는 패키지의 의존성을 작성하는 곳으로 주로 외부 패키지를 가져다 쓰기 위해 사용되는데 이곳에 http 패키지를 추가해줍니다. 그리고 AndroidManifest.xml 파일에서 인터넷 권한을 추가해줘야합니다.  AndroidManifest.xml파일에 을 작성해줌으로써 앱에 인터넷 권한이 추가됩니다. http 패키지는 import 'package:.. 2023. 8. 15.
[Flutter] StatefulWidget vs StatelessWidget 앱 개발도중 기초적인 부분에서 헷갈려서 포스팅하면서 다시 한번 정리하고자합니다! Flutter에서는 화면에 무엇인가 표시하는 경우 모든 것을 Widget으로 처리합니다. 이러한 widget은 크게 StatefulWidget과 StatelessWidget 2개로 나뉩니다. 오늘은 이 두 위젯의 차이점에 대해 포스팅 하고자 합니다. Stateless Widget 화면이 로드될 때 한 번만 그려지는 State변경이 불가능한 위젯으로 변경이 필요한 Data가 없는 것을 의미하며 이벤트 또는 사용자 상호 작용에 의해 동작하지 않습니다. 쉽게 말하면 한번 빌드 된 이후로 그 위젯의 상태에 관여할 수 없습니다. 보통 아래와 같이 간단하게 선언됩니다. StatelessWidget을 상속하고, build() 함수를 @o.. 2023. 8. 14.