본문 바로가기
반응형

IT 이야기/Flutter23

[안드로이드 스튜디오] SDK 폴더 위치 변경 C드라이브 용량 확보 안드로이드 스튜디오는 기본적으로 SDK 데이터를 C드라이브에 위치시킵니다. 프로젝트가 점점 커지고 다양한 API 버전과 AVD 기기가 많아지다보면 C드라이브 용량이 부족해지는 상황이 발생합니다. SDK 폴더 위치를 변경해서 C드라이브 용량을 확보하도록 하겠습니다. 1. 안드로이드 스튜디오에서 우측 상단에서 Android SDK 아이콘을 클릭합니다. SDK 경로가 어디로 잡혀 있는지 확인합니다. 용량이 무려 11기가가 넘네요. 2. Edit을 눌러 경로를 D드라이브에 새로 생성한 폴더로 잡아줍니다. 3. Next 버튼을 눌러 새로 생성한 폴더에 SDK 설치를 진행합니다. 4. 설치가 완료되었습니다. Finish 버튼을 누릅니다. 5. 경로가 변경된것을 확인합니다. 필요한 SDK는 별도로 다운로드 받으시면 .. 2023. 1. 30.
[Flutter] 데이터 REST API 호출 CERTIFICATE_VERIFY_FAILED 에러 해결 Flutter 개발 중 공공데이터 Rest API를 호출중에 아래와 같은 에러를 만났다. [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: E/flutter ( 4672): CERTIFICATE_VERIFY_FAILED: unable to get local issuer certificate(handshake.cc:359)) 인증서에 대한 이슈로 원활한 개발(테스트)를 위해 아래처럼 인증서를 체크하지 않는다는 전역설정의 코드를 추가한다. import 'dart:io'; void main() { HttpOverrides.global = No.. 2022. 10. 30.
긴급재난문자 원리, 전국에 발송된 안전안내문자 조회하는 어플 안내안전문자(긴급재난문자)를 조회하는 앱을 만들었습니다. https://play.google.com/store/apps/details?id=com.youngmap.alert_message 전국재난문자 - 최신순 조회 - Google Play 앱 공공데이터를 활용한 재난문자(안전안내문자) 조회 앱 play.google.com 코로나19 상황에서 재난문자 알림이 부쩍 많아졌습니다. 재난문자는 사실 핸드폰 번호로 개별적으로 보내는 문자와는 다릅니다. 기지국과 연결된 핸드폰에 방송 형태로 문자를 전달하는 CBS(Cell Broadcasting Service) 방식 입니다. 그러다보니 행정구역 경계선에서 직장생활을 하시는 분은 여러 지역의 문자를 받게됩니다. 출퇴근을 하면서 서울과 경기를 오가다보니 정작 필요한 .. 2022. 6. 29.
[Flutter] 릴리즈 모드에서 API 호출 에러 해결 공공데이터의 재난문자 API를 활용하여 플러터로 "전국재난문자" 앱을 만들었습니다. 디버그 모드에서는 API 호출에 문제가 없었습니다. 릴리즈 모드에서 API 호출이 안되는 에러가 발생했습니다. 원인을 찾아보니 인터넷 권한 문제였습니다. (네트워크 에러) 안드로이드매니페스트 파일에 권한을 추가하면 해결됩니다. android/app/src/main/AndroidManifest.xml 전국의 재난문자를 쉽게 조회하는 어플입니다. 필요하신분은 받아보세요. https://play.google.com/store/apps/details?id=com.youngmap.alert_message 전국재난문자 - 최신순 조회 - Google Play 앱 공공데이터를 활용한 재난문자(안전안내문자) 조회 앱 play.googl.. 2022. 6. 21.
간편한 URL 단축기 어플 추천 긴 웹 주소를 짧은 주소로 변환하고 싶은 경우가 있습니다. 사업상 필요하거나 QR코드 생성, 문자 전송 등 다양한 활용이 가능한 앱을 소개드립니다. 네이버 API를 활용해 제가 필요해서 만든 앱 입니다. URL 단축기 (URL Shortener) https://play.google.com/store/apps/details?id=com.youngmap.url_shortener URL 단축기 - Google Play 앱 URL 단축기 - 네이버 API 사용 ( me2.do ) play.google.com 사용방법은 간단합니다. 긴 URL을 넣으시고 버튼을 누르면 짧은 URL로 변경됩니다. 주소는 me2.do 입니다. 변경된 주소는 복사 버튼과 QR코드 버튼으로 활용하세요. 그리고 변환된 주소는 히스토리가 저.. 2022. 1. 15.
[Flutter] 레이아웃 학습 3편 Expanded 실습 지난 시간에 이어 레이아웃을 공부해보겠다. Row + Column + Container를 복합적으로 사용해보고 Expanded에 대해 알아보겠다. Expanded는 빈공간을 채우는 확장이라고 생각하면 된다. DartPad : https://dartpad.dartlang.org/ DartPad dartpad.dartlang.org 1. Row에 Container 3개 만들기 지난 시간에 배운 Row에 Container를 3개 넣어보자. import 'package:flutter/material.dart'; void main()=>runApp(MyApp()); class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ .. 2022. 1. 14.
[Flutter] 레이아웃 학습 2편 Column / Row 실습 Column / Row는 옵션으로 childen을 갖는다. (복수) Container는 옵션으로 child를 갖는다. (단수) DartPad : https://dartpad.dartlang.org/ DartPad dartpad.dartlang.org 1. Column 기본 Column의 아이들은 위에서 아래로 배치된다. 아무런 옵션이 없는 상태에서 확인해보자. import 'package:flutter/material.dart'; void main()=>runApp(MyApp()); class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ return MaterialApp( home: Scaffold( appBar.. 2022. 1. 14.
[Flutter] 레이아웃 학습 1편 Container 실습 앱을 만드는 데 있어서 레이아웃을 잡는 것은 매우 중요하다. 레이아웃에 대해 기본적인 지식이 없이 개발하다 보면 소스가 복잡해지고 예상치 못한 상황이 발생한다. Dart Pad 실습을 통해 레이아웃을 공부해보자 가장 먼저 Container에 대해 알아보자. DartPad : https://dartpad.dartlang.org DartPad dartpad.dartlang.org 아래 소스를 그대로 복사해서 실행해보자. 1. 기본소스 import 'package:flutter/material.dart'; void main()=>runApp(MyApp()); class MyApp extends StatelessWidget{ @override Widget build(BuildContext context){ re.. 2022. 1. 14.
[Flutter] SingleChildScrollView 위젯 사용 주의사항 (ListView 관련 오류) SingleChildScrollView 위젯은 스크롤을 하나로 만들어주는 효과가 있습니다. 위젯의 Bottom overflowed 메시지를 해결하기 위해 많이 사용합니다. 하지만 ListView를 같이 사용할 때 아래와 같이 에러가 나오는 경우가 많이 있습니다. 에러내용 Vertical viewport was given unbounded height. Failed assertion: line 1927 pos 12: 'hasSize' RenderBox was not laid out: RenderViewport#cc258 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE 이유는 전체적으로 하나의 스크롤이 있고 ListView에도 스크롤이 있으므로 모순되는 상황이 발생하기 때문입니다... 2022. 1. 14.
[Flutter] 키보드가 올라오는 경우 위젯 Overflowed 해결법 Flutter에서 텍스트필드 위젯을 사용하는 경우 주의사항이 있습니다. 아래는 제가 만든 URL Shortener 앱을 예시로 보여드리겠습니다. 화면을 세로로 하는 경우 키보드가 올라와도 문제가 없습니다. 화면을 가로로 하는 순간 Bottom overflowed by 000 pixels 메시지가 뜨면서 다음과 같이 표시됩니다. 위젯의 길이는 고정되어있는데 화면이 키보드(키패드)로 인해 높이가 줄어들어 발생하는 현상입니다. 이 경우 조치방법은 매우 간단합니다. 변경전 body: Padding( padding: const EdgeInsets.all(8.0), child: Column( mainAxisAlignment: MainAxisAlignment.start, children: [ TextField( co.. 2022. 1. 14.
반응형