본문 바로가기

반응형

Flutter-플러터/플러터 공부

플러터 숫자 천원단위 콤마 입히기 Format 부가세 계산기를 만들면서 Text값으로 나오는 숫자들에 천원단위 콤마 입히기가 너무 힘들었다. 구글링 해도 그냥 함수만 적어주셔서 어떻게 적용해야 하는지 애를 먹었다. 물론 제가 했던 방법이 옳은 건 아니니 참고만 하세요 먼저 yaml 파일에 intl : pubget dependencies: intl: ^0.17.0 그런다음 해당 페이지에 임포트 import 'package:intl/intl.dart'; 그리고 나는 comma변수를 먼저 선언해주었다. NumberFormat안에 형식을 만들면 된다. 숫자 옆에 '원'도 표시하고 싶으면 ("###,###,###,### 원"); 이런식으로 적으면 된다. 맨 앞에 $ 표시도 적을 수 있을 듯 하다. ("$###,###,###,### 달러"); 요렇게 class.. 더보기
Flutter Path_Provider. 데이터 저장소 돌아오는 목요일이 초급 스터디 발표날입니다. 발표자료를 준비하면서 파일로 데이터를 저장하는 방법인 Path_Provider를 공부해보았습니다. 책에서 나온 사용방법으로는 도저히 이해가 안되어서 Path_Provider 관련 배경지식을 쌓을 겸 Flutter의 데이터가 안드로이드와 IOS에 각각 어떻게 저장 사용되는지 공부해보았습니다. https://velog.io/@phs811/Flutter-저장소-폴더-구조 Flutter 저장소 폴더 구조 (velog.io) 위 링크에 도움을 받았습니다. 앱의 저장소 이해하기 Path Provider를 통해서 안드로이드 IOS 사용 유무표가 아래에 있는데 이게 가장 중요한 부분이다. 위 사용 유무 표에 나와있는 관련 함수 아래의 함수들을 통해 일반적인 앱이 접근하여 사.. 더보기
Flutter Getter and Setter 날이 갈 수록 어려워지는 플러터 젠장 다음달 부가세 기간이라 원가계산기보다 부가세계산기를 만들어보자 라는 마음이 들었습니다. 바로 스케치 작업했고 코드를 짜기 위해 MVVM 모델로 클래스를 나누어놨습니다. 문제는 Model 쪽에 선언한 변수를 View 클래스에도 쓰고 싶었는데 잘 진행이 안되었습니다. 그러던 와중에 Model 변수를 캡슐화 즉 Getter and Setter 작업이 필요하다는 것을 알게 되었습니다. Flutter는 변수를 선언하면 공공재가 됩니다. 공공재가 되다보니 한 곳에서 변수의 값이 바뀌면 다른 곳에 쓰이던 같은 변수의 값이 변하게 되는 불상사가 발생됩니다. 그래서 이러한 일을 막기 위해 Model에 있는 변수는 _priavte 하게 먼저 선언을 해주고 필요한 곳에서 쓸 수 있게 p.. 더보기
[Navigator] Flutter Stack Navigator 는 Flutter에서 단순히 Page간의 이동 뿐만 아니라 1번 Page에 있는 Data를 2번 Page로 넘겨주는 역할을 합니다. Navigator를 이해하기 위해서는 Stack 과 Queue를 알아야 합니다. Flutter의 Page는 기본적으로 Stack 구조를 가지고 있습니다. 33333333. : 3번 Page 22222222. : 2번 Page 11111111111 : 1번 Page 00000000 : 0번 Page Stack의 특징으로는 한방향으로만 쌓는다. 위에 표시한 것과 같이 0번 Page에서 3번 Page 방향으로만 쌓을 수 있음 Top 즉 가장 높은 Page에서부터만 접근이 가능, 위 예시로는 3번 Page에서부터 접근 최상단의 Page = 최신 Data.. 더보기
카카오 API 받기 사용방법 1.yaml 파일에 "http :" 라이브러리 사용 2. 카카오 개발자 사이트에 들어가서 카카오 Rest API key 얻기 3. 받는 데이터 Url을 Json 식으로 바꾸기 //리스트의 데이터를 Json 식으로 받게 만드는 함수 Future getJsonData() async { setState(() { var dataConvertedToJson =json.decode(response.body); List result = dataConvertedToJson['documents']; data!.addAll(result); }); } return response.body; 4. 리스트 만들기 List.builder ( itemBuilder : (context, index){ return Card(.. 더보기
TextFormField 위젯 Flutter 사용자 입력 값 검증 위한 Form validation과 TextFormField (Sample code) (tistory.com) Flutter 사용자 입력 값 검증 위한 Form validation과 TextFormField (Sample code) Flutter에서 사용자 입력을 받기 위한 Widget은 TextField와 TextFormField가 2가지 Class가 있습니다. TextField은 사용자 입력을 받고, Widget의 GUI를 설정할 수 있는 Widget이고, TextFormField는 TextField 기능을 포함 kibua20.tistory.com 위 블로그를 보고 많은 도움을 받았습니다. 현재 만들고 싶어하는 원가계산기에 TextformField가 필요해서 공부를.. 더보기
Sql 기초실습 1편 SQLite3로 가볍게 배우는 데이터베이스: SQL 기초 실습 - WikiDocs SQLite3로 가볍게 배우는 데이터베이스: SQL 기초 실습 까다로운 설치와 설정이 필요 없는 SQLite로 관계형 데이터베이스와 SQL의 기초를 빠르게 익혀봅시다. ### 대상 독자 * 엑셀 외의 방법으로 데이터를 다뤄보고 싶… wikidocs.net 위 교재로 공부를 시작했습니다. 데이터베이스 = DB 가 세상에 나온 이유 우리는 파일을 컴퓨터에 저장합니다. 그 파일은 이미지, 텍스트, 프로그램 다양한 형태로 보관하고 있습니다. 직관적으로 사용하기에는 편리하지만 이미지, 텍스트,프로그램의 양이 많아지게 되면 가독성, 효율성이 좋지 않습니다. 이러한 기존 파일 시스템의 단점을 극복하기 위해 만든 시스템이 "데이터베이스".. 더보기
임시 저장 기능[Shared Preferences] 비교적 적은 양의 데이터를 내부기기에 저장할 때 쓰인다. 반영구적인 설정을 저장할 때 많이 쓰인다. 사용예) 1.로그인 정보 2.다크모드 사용방법 1. sharedPreferences 패키지 추가 1) pubspec.yaml을 연다. 2) shared_preferences: 를 dependencies:에 추가한다. 3) pub get한다. 2. SharedPreferences를 만들고 추가한다. 1) final SharedPreferences pref =await SharedPreferences.getInstance(); 선언한다 2) 데이터 저장할 때 .set(맞는 type).('이름', 값);ex) pref.setInt('number', 123);기기 내부에 123이 'number'라는 이름으로 저장.. 더보기

반응형