2024/11

오늘은 dart를 넘어서 flutter를 공부하기 시작했다. dart는 개발언어로 기초를 배우는 느낌이라서 재미가 덜했지만 에뮬레이터를 돌리면서 코드로 짠 화면이 핸드폰 화면에 보여지는 것은 확실히 언어만을 공부할때보다 재밌다. 오늘은 앱 파일을 다운로드 후에 실해하는 과정에서 포함된 라이브러리 패키지가 제대로 인식이 안되는 문제가 발생했다. 해결하기 위해서 몇가지를 실행해보았다. 1. 필요한 패키지 설치하기.패키지가 설치 안되어있는 줄 알고 새로 설치하려고 보니, 패키지는 제대로 설치가 되어있었다. 2. 제설치 하기패키지 파일들을 호환성 문제인가 싶어서 문제를 해결하기 위해서 전체 업그레이드를 진행했다. 업데이트를 실시하고 자동으로 flutter doctor에서 문제가 없음을 확인했다. 3. 프로젝트 ..


1. 여러 몬스터의 정보를 읽어오기.첫번째로 맞닦들였던 문제는 몬스터의 정보를 가져오는 것이였다.몬스터의 정보는 하나였던 캐릭터와는 다르게 여러 마리이기 때문에 파일을 두번 나눠서 읽었어야했다.처음부터 파일의 주소에서 정보를 읽어오고나서, 각 몬스터들이 정보로 나누기 위해서 \n를 인식해서 나눠줬다.그리고 각 정보를 몬스터의 속성에 입력해주기위해서 몬스터들의 수만큼 반복문을 돌려서 입력해주고 입력한 몬스터 객채를 다시 monsters라는 리스트에 추가해서 사용했다. 처음에는 character처럼 불러오려다가 이중 리스트인데 어떻게 해야 각 속성에 매치해서 초기화 할 수 있을까 매우 고민했다. 그러다가 반복문을 사용해서 끊었던 list 하나의 정보를 요소로 만들고 다시 이중 리스트에 넣어서 사용하는 방법을..

어제는 파일에 저장된 내용을 읽어오는 방법을 써봤는데 오늘은 파일에 저장하는 방법을 알아봤다.save.writeAsStringSync('파일에 저장할 내용'); 다른 방법이 있을 수도 있지만 위는 어제 쓴 글에 readAsStringSync 방식과 같은 함수를 이용합니다.writeAsStringSync는 사용이 매우 쉽습니다. var save = File('파일 경로')save.writeAsStringSync('저장할 내용'); 먼저 파일 경로를 저장한 후에 경로에 함수를 사용해서 내용을 저장해주면 간단하게 저장하게 된다.

파일 읽기 //csv형식의 text파일을 불러옴 final file = File('lib/characters.txt'); //텍스트 파일의 정보를 String 형태로 변환 final contents = file.readAsStringSync(); //String으로 저장한 파일을 ,를 기준으로 나눠서 분리하기 final stats = contents.split(','); //이후에 저장한 데이터를 3개로 나눠서 리스트 형식으로 다루기 if (stats.length != 3) throw FormatException('Invalid character data'); int health = int.parse(stats[0]); int a..

예외예외는 예상한 상황과 다른 상황이 진행되는 것을 말한다.예외 상황이 발생하면 프로그램이 비정상적으로 종료가 되기 때문에 예외상황을 예상하고 처리해야 정상적으로 구동되게 된다. try~catch~finally try { //구동되는 코드를 짠다 String invalidNumber = "abc"; int result = int.parse(invalidNumber); print(result); // on은 오류중에서 특정한 형식의 오류만 골라내서 특정한 오류 구문을 사용} on FormatException catch (e) { print(e); // 오류구문이 발생하면 실행되는 부분} catch (e) { print(e); // 예외 구문이 끝난 후 무조건 실행된는 구문} finally ..

문제 해결 첫번째 코드에서 products라는 배열을 구성했고, String Pname, int Pprice로 구성되어있습니다. 저 배열을 이용해서 아래의 코드에서 키보드 입력과 비교해서 배열이 Pname과 같은 것을 찾고 그 물건의 Pprice를 찾고 총가격(totalPrice)에 추가하는 방식을 구성했다. 아래는 완성한 코드의 문제였던 일부를 가져온것이다.List products = [ Product("셔츠", 45000), Product("원피스", 30000), Product("반팔티", 35000), Product("반바지", 38000), Product("양말", 5000), ];String? inumber = stdin.readLineSync()!; ..