728x90
반응형
- [ Flutter ][Flutter] 프로젝트 구조 알아보기2023-11-27 09:12:45Flutter UI 모든 것은 widget 공식 문서를 참조하면 편하게 학습할 수 있다. Widget 구성 및 상태가 주어질 때 화면에 보여지는 view가 어떤 모습이어야하는지를 기술 위젯은 용도에 따라 상태 저장 (Stateful) 또는 상태 비저장(Stateless)으로 구분 StatefulWidget 사용자가 위젯과 상호작용할 때 위젯의 상태가 변경되면 stateful 위젯 위젯의 수명동안 변경될 수 있는 상태를 유지 StatefulWidget 클래스가 State 클래스의 인스턴스를 생성 StatefulWidget 클래스 그 자체는 변경 불가능 State 클래스가 위젯의 수명동안 상태를 유지 동적으로 변화함 수신된 데이터에 따라 변경됨 위젯의 상태는 상태 객체(State Object)에 저장 위젯 ..
- [ Flutter ]Dart 문법 알아보기 - 32023-11-26 13:56:04mixin 여러 클래스 계층에서 클래스의 코드를 재사용하는 방법 , 로 여러 클래스의 코드를 사용할 수 있다. class Engine { int power = 5000; } // extends 해서 Engine 클래스 쓰고 싶은데..BMW가 Engine은 아니잖아요ㅠ (다형성을 만족하지 않음) class BMW with Engine { // with 키워드를 사용한다. } void main() { BMW b = BMW(); print(b.power); // 5000 } 다른 언어에서는 composition이라는 개념을 사용한다. composition 클래스 간에 포함 관계(composition)를 맺어주는 것 한 클래스의 멤버 변수로 다른 클래스 타입의 참조 변수를 선언하는 것을 의미 + 다트 문법을 복..
- [ Flutter ]Dart 문법 알아보기 - 22023-11-25 09:20:35클래스 객체를 정의하는 설계도 객체 클래스(설계도)를 통해 현실 세계에 뿌리내릴 수 있는 것 아직 현실 세계에 존재하진 않지만 존재할 수 있는 가능성이 있는 것 ⇒ 메모리에 로드할 수 있는 것 형태 class Dog { String name = "happy"; int age = 4; String color = "white"; } 이때 클래스는 메모리에 로드 (객체 생성) 되지 않은 상태이다. 객체 생성하기 Dart는 new 키워드를 생략할 수 있다. void main(){ // java에서는 익숙한 형태 // new : 클래스를 메모리에 로드하겠다는 것을 의미 // Dog dog = new Dog(); Dog dog = Dog(); print("강아지 이름은 ${dog.name}입니다."); // 클래스..
- [ Flutter ]Dart 문법 알아보기 - 12023-11-24 15:08:05함수 method 코드의 재사용을 용이하게 해준다. 기본 형태 리턴타입 함수이름(){ 내용.. } 매개변수가 있는 함수 void add(int x, int y){ int sum = x + y; print("$x + $y = $sum"); } 리턴 값이 있는 함수 int add (int x, int y){ return x + y; } 익명함수와 람다 (화살표 함수) 어떤 행위를 정의하는 함수들이 있다고 생각해보자. void run(){ print("달리기"); } void study(){ print("공부하기"); } .. 하루의 계획을 세우는 함수를 정의해야한다고 생각해보자. 하루의 계획은 매일 매일 달라지는데 그때마다 해당하는 함수를 만들어 호출하는 것은 너무 비효율적이다. 그리고 그때마다 setTod..
- [ Flutter ]Dart 문법 알아보기 - 02023-11-23 23:01:172022년 진행했던 Flutter 스터디의 내용을 옮긴 것 입니다. DartPadDartPad로 다트 문법을 알아보자 Dart 실행 방식main 메소드 내부가 실행된다.void main() { }Dart 문법 알아보기변수다트는 타입을 먼저 선언할 수도, 타입을 추론할 수도 있다.void main() { int n1 = 1; // type variable = data; double d1 = 10.1; bool b1 = true; // Boolean String s1 = "Amy"; var n2 = 1; var d2 = 10.1; var b2 = false; var s2 = "Amy"; }var 로 선언된 변수의 경우 타입 추론이 가능하다.print(n2.runtimeType); // int여기서 n2 = ..
- [ Android ]GPS 보정하기 - 032023-11-22 22:37:03지난이야기 GPS 보정하기 - 02 들어가며 GPS 보정하기 - 01 사실 이 알고리즘은 이전 프로젝트에서 개발 되었던 것인데, GPS 정확도 개선을 위한 좌충우돌 얼레벌레 MapMatching 구현기들어가며 정말 오랜만에 글을 쓰는 것 같다. 못 www.pinslog.com 지난 글에서는 알고리즘의 문제점들을 개선하는 과정을 작성했다. 이번 글에서는 경로이탈에 관해서 작성해보려고 한다. 경로이탈 개인적으로 나는...내비게이션의 꽃은 경로이탈이라고 생각한다...(부들 사용자들은 자유의지를 가지고 있기 때문에 절대로 안내된 경로대로 가지 않는다. 난 그걸 내 눈으로 똑똑히 보았다. 그래서 경로이탈이 감지되면 사용자의 현재 위치를 바탕으로 목적지까지의 길을 재탐색하여 다른 경로를 제공해야한다. 그런데 보정 ..
728x90
반응형