728x90
반응형
- [ Flutter ][Flutter] 실습 - 블로그앱2023-11-29 10:54:33회원가입 페이지 만들기 아래 화면을 만들어 볼 것이다. 전체 틀 잡기 먼저 화면의 큰 틀은 Scaffold, 그리고 ListView로 잡아준다. 이유는 회원가입 시 내용을 입력하기 위해 해당 영역을 클릭하면 키보드가 올라와야 하는데, 적절한 공간을 만들어주지 않으면 사용성이 떨어지기 때문이다. (안드로이드에서는 해당 속성을 설정할 수 있는데 여기도 있지 않을까..? 리스트 뷰만이 최선일까? 생각해보자.) Text 입력란 InputDecoration( hintText: "아이디를 입력해주세요", enabledBorder: OutlineInputBorder( borderRadius: BorderRadius.circular(10) ), focusedBorder: OutlineInputBorder( border..
- [ Flutter ][Flutter] 간단한 UI 알아보기2023-11-28 10:03:09완성화면 Lib DirectoryThis is the most important folder in the project, used to write most of the dartcode. By default, the lib folder contains the main.dart file, which is the application’s entry point. This configuration, however, can be changed.pubspec.yamlThis is the file we use to add metadata and configuration specific to our application. With this file’s help, we can configure dependencies su..
- [ 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
반응형