Fox Moon
앱 디버그 앱 정상 구동 확인 pubspec.yaml 설정 버전 설정 version: 1.0.0+1 environment: sdk: ">=2.16.2 <3.0.0" android\app\src\main\AndroidManifest.xml 설정 파일에서 권한 설정 <manifest> <uses-permission android:name="android.permission.PERMISSION_CODE" /> <application></<application> </manifest> 권한 내용 INTERNET 인터넷 사용 권한 BLUETOOTH 블루투스 상태 확인 VIBRATE 진동 설정 권한 SET_ALARM...
2022.04.06
위젯(Widget) : 요소의 구성(Configuration)을 기술하고 처리한다. 요소(Element) : 트리의 특정 위치에서 위젯을 인스턴스화 한다. 렌더 객체(RenderObject) : 크기, 레이아웃 등을 다루고 렌더링을 처리한다. State 생성 트리의 특정 위치를 참조하는 BuildContext 존재 해당 BuildContext에 연결 연결된 각 BuildContext에 위젯 배치(인스턴스화) 요소(Element) 생성 기본 코드 main() -> runApp(HelloWorld()) -> HelloWorld() -> build() -> MaterialApp() -> Scaffold() import 'package:flutter/material.dart'; main...
2022.04.05
중요 개념 모든 변수는 객체(object)이다. 모든 객체는 클래스의 인스턴스이다. 숫자, 함수, null도 객체다. 모든 객체는 Object 클래스로부터 상속된다. 타입 어노테이션은 타입 추론이 가능할 경우 옵션이다. 예를 들어 int number = 10;으로 명시적으로 타입을 지정하지 않고 var number = 10;으로 사용 가능하다는 의미이다. 타입이 예상되지 않는다고 명시적으로 표현하고 싶을 때는 dynamic 키워드를 사용한다. 이것은 하나의 변수가 여러 타입으로 변경 가능하다는 의미이다. var 키워드와 비교해보면 좀 더 이해하기 쉽다. var는 다음과 같이 String 타입으로 지정된 후에는 int 타입을 참조할 수 없다. var name = "Kim"; name = 10...
2022.03.31
선택자 종류 예시 설명 div[class~=ko-kr] { background-color: red } ko-kr 을 포함하는 태그를 선택 div[class|=ko-kr] { background-color: red } ko , kr 을 포함하는 태그를 선택 div[class^=ko-kr-name] { background-color: red } ko-kr 로 시작하는 태그를 선택 div[class$=name-ko-kr] { background-color: red } ko-kr 로 끝나는 태그를 선택 div[class*=name-ko-kr-name] { background-color: red } ko-kr 을 포함하는 태그를 선택 예시 html 코드 <div class="box_1">...
2022.03.31
List : 데이터 순서가 있고 중복 허용 Set : 데이터 순서가 없고 중복 허용하지 않음 Map : 키(key)와 값(value)으로 구성되며 키는 중복되지 않고 값은 중복 가능 List 데이터 순서가 있고 중복 허용 데이터를 여러 개 담을 수 있는 자료구조 데이터를 List에 담을 때 순서를 가지기 때문에 배열을 대체할 수 있고 데이터에 순차적으로 접근하기 쉽다 List<데이터 타입> 변수명 = [데이터1, 데이터2, 데이터3, ...]; List<String> colors = ['Red', 'Orange', 'Yellow']; List<데이터 타입> 변수명 = List(); colors .add(데이터1); colors .add(데이터2); colors .add(데이...
2022.03.30
플러터에서 새로운 화면을 만들 때는 마치 웹사이트의 주소가 변하는 것과 비슷하게 '경로(route)'로 관리 '하나의 경로'는 '하나의 화면' 플러터에서 라우트를 왔다갔다 하기 위해서는 Navigator를 사용 화면을 바꾸는 방법 라우트 2개 (= 화면 2개) Navigator에 라우트를 push (= 화면을 이동) Navigator에 있는 라우트를 pop (= 이전 화면으로 돌아감) import 'package:english_words/english_words.dart'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class My...
2022.03.29
ListTile에 아이콘을 추가하여 이름 저장하기 사용자가 원하는 이름을 선택 선택한 이름을 저장 import 'package:english_words/english_words.dart'; import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { // final wordPair = WordPair.random(); return MaterialApp( title: '플러터 학습', home: RandomWords(), ); } } class RandomWords extends Stat...
2022.03.29