외부 통신을 통해 JSON 파싱하기
·
Flutter
Future fetchAlbums() async { final uri = Uri.parse('https://jsonplaceholder.typicode.com/albums'); List albumList = []; final response = await http.get(uri); if (response.statusCode == 200) { albumList = json.decode(response.body); return albumList; } else { throw Exception('실패 '); } } @override Widget setBuild() { return FutureBuilder( future: fetchAlbums(), builder: (BuildContext context, Asyn..
BasePage를 이용하여 공통 페이지 구성 만들기
·
Flutter
공통페이지를 만들어서 프로젝트 구성 시 조금더 간편하게 구현하는 방법에 대해 알아보았다. STEP 1: 우선 base 라는 폴더를 만들어 준 뒤 그곳에 공통이 될 BasePage와 BaseController를 생성해 준다. STEP 2 : abstract class BasePage extends StatelessWidget { // Controller late BasePageController ctrl; final _scaffoldKey = GlobalKey(); BasePage({Key? key, BasePageController? controller}) : super(key: key) { if (controller != null) { ctrl = controller; } } // 화면에서 사용 App..
함수로 위젯 표현하기
·
Flutter
화면을 구성하다 보면 위에 처럼 같은 구성을 반복적으로 사용해야 할 때가 있다. 그럴 때 widget을 함수처럼 사용하여 반복적인 구성을 간편하게 구현할 수 있다. 위 이미지는 제일 큰 컨테이너 안에 이미지, 텍스트, 텍스트가 들어가야 하는 구성이 반복된다. 그래서 파라미러터로 imgUrl 경로, title 텍스트, contents 내용에 관련된 내용을 String 타입으로 받는다. 구성을 그대로 짜주고 해당 파라미터로 받을 값들을 적어 준다. Widget _addSubText(String imgUrl, String title, String contents) { return Container( margin: const EdgeInsets.only(top: 10), child: Column(crossAxi..
http 통신을 통한 JSON 파싱하기
·
Flutter
pubspce.yaml 의 dependency 에 입력해준다. http: ^0.13.3​ http 패키지 사용을 위해 import 해준다. as http 를 사용하게 되면 http.Response response = await http.get(Uri.parse('주소')); 와 같은 프리픽스를 붙여주여 더욱 명확하게 사용할 수 있다. import 'package:http/http.dart' as http; async 를 사용하는데 그 이유는 http의 get() 함수가 await를 포함하고 있어 비동기가 되기 때문이다. void fetchData() async { try { http.Response response = await http.get( Uri.parse( 'https://jsonplacehol..
해니01_15
'Flutter' 카테고리의 글 목록 (15 Page)