본문 바로가기

플러터(flutter)38

플러터 기초 - PageRouteBuilder를 사용해서 화면 전환하기 플러터에서 화면을 이동하는 방법은 여러 가지가 있습니다. 그중에서 PageRouteBuilder를 사용한 방법을 알아보겠습니다. 그리고 MaterialPageRoute를 사용한 방법도 존재하는데 둘의 차이점도 무엇인지 알아보겠습니다. PageRouteBuilder를 사용한 화면 이동 먼저 PageRouteBuilder를 사용하기 위해선 StatelessWidget이나 StateFullWidget 같은 위젯이 필요합니다. 예를 들어 다음과 같은 StatelessWidget이 있다고 가정합니다. import 'package:flutter/material.dart'; class DetailScreen extends StatelessWidget { final String title, thumb, id; cons.. 2023. 5. 14.
플러터 기초 - HttpOverrides으로 userAgent 설정하기 일반적으로 사용하던 브라우저에서 User-Agent를 정의하는 방법은 더 이상 사용할 수 없게 되었습니다. 그렇기 때문에 다음과 같은 방법으로는 더이상 User-Agent를 변경할 수 없습니다. Image.network( 'https://example.com/image.jpg', headers: { 'User-Agent': 'Your User Agent', }, ... ); 그렇기 때문에 브라우저가 아닌 앱 자체에서 User-Agent를 변경해서 통신을 해야하는데 HttpOverrides를 사용하면 그것을 할 수 있습니다. HttpOverrides를 사용하여 User-Agent 변경하기 다음과 같은 클래스를 정의합니다. import 'dart:io'; class MyHttpOverrides extends.. 2023. 5. 13.
플러터 기초 - ListView 위젯 사용하기 안드로이드에서 리스트를 표현하기 위해서 사용하는 뷰는 RecyclerView입니다. 플러터에서는 ListView 위젯을 사용해서 동일한 동작을 구현할 수 있습니다. ListView 위젯 만들기 플러터에서 ListView 위젯은 다음과 같은 방법으로 만들 수 있습니다. ListView makeWebtoonList(AsyncSnapshot snapshot) { return ListView.separated( scrollDirection: Axis.vertical, itemCount: snapshot.data!.length, // itemBuilder: 현재 사용자가 보고 있는 부분에 대한 데이터만 보여준다. itemBuilder: (context, index) { var webtoon = snapshot.d.. 2023. 5. 13.
플러터 기초 - FutureBuilder를 사용한 비동기 작업 수행 플러터에서는 StatelessWidget을 사용하더라도 비동기 작업을 할 수 있는 방법이 존재한다. 바로 FutureBuilder를 사용하는 것이다. StatefulWidget 대신 FutureBuilder를 사용하면 다음과 같은 이점이 존재한다. StatefulWidget 대신 코드를 관리하기 편하고 비동기 작업이 단순해진다. StatefulWidget 과 비교하여 좀 더 나은 효율을 갖고 있다. FutureBuilder 사용하는 방법 FutureBuilder를 사용하기 위해서는 Future 데이터를 받아오는 객체가 하나 필요하다. 다음과 같이 오늘의 웹툰 데이터를 받아오는 객체가 있다고 생각하자. Future webtoons = ApiService().getTodaysToons(); 위 객체를 사용해.. 2023. 5. 12.