Flutter - abstract class
·
Flutter
abstract class Flutter의 추상 클래스는 직접 인스턴스화할 수 없지만 서브클래싱해야 하는 클래스이다. 추상 클래스는 다른 클래스가 따라야 할 청사진 역할을 한다. 여러 클래스에서 사용할 수 있는 공통 메서드 및 속성 집합을 제공하여 일관성을 보장하고 코드의 중복성을 줄인다. 추상 클래스는 상속받는 클래스의 종류를 특정한다. ex) 인간과 호랑이는 동물이라는 공통 추상클래스를 가진다. 프로브와 질럿은 프로토스 지상 유닛이라는 공통 추상클래스를 가진다. extends를 사용해서 상속받는다. 상속은 단 하나만 받을 수 있다. class Probe extends ProtossGroundUnit {} 암시적 인터페이스 플러터는 interface 예약어가 없으므로, class 또는 abstract ..
Flutter - Future , async , await
·
Flutter
굳이 비동기 함수로 작성할 필요가 없지만 오직 비동기 함수 작성과 호출 문법을 설명하기 위한 예제이다. 동기 함수의 선언 int sum(int a, int b) { return a + b; } 비동기 함수의 선언 Future sum(int a, int b) async { return a + b; } 동기 함수의 호출 void main() { print(sum(1, 2)); } 비동기 함수의 호출 (await 키워드 사용) Future main() async { final result = await sum(1, 2); print(result); } 비동기 함수의 호출 (Future - then() 메소드 절 사용) Future main() async { sum(1, 2).then((result) { pri..
Flutter - 타입 검증 연산자
·
Flutter
타입 검증 연산자 as : 타입 캐스팅 is, is! is: 특정 타입여부 인지 여부가 일치하면 true is! : 특정 타입여부 인지 여부가 일치하면 false 객체의 타입을 알아내려면 runtimeType 속성으로 확인 가능하다. 하지만 실제로 런타임 타입 체크를 하려면 Object is Type 조건을 사용한다. // 사용예시 var typeChk = "나의타입"; print(typeChk.runtimeType); // result : String
안드로이드 Activity 생명주기
·
Android
onCreate() : 최초로 앱 실행 시 호출, 초기화 관련 작업 onStart() : 이 시점부터 사용자가 액티비티를 볼 수 있다. onResume() : 액티비티가 실제 사용자와 상호작용이 가능한 포그라운드에 위치하면 호출된다, 액티비티 실행 중 상태 onPause() : 액티비티가 실행 중인 상태에서 사용자와 상호작용이 불가능한 상태, 즉 포커스를 잃은 상태가 되면 호출 onStop() : 액티비티가 더 이상 보이지 않을 때 호출 onDestroy() : 액티비티가 종료되거나 앱 프로세스 자체가 종료되면 호출 ex) 불투명한 새로운 액티비티가 최상단으로 올라와서 기존 액티비티가 완전히 보이지 않게 되면 onPause()에 이어서 onStop()까지 바로 호출된다. 불투명 새로운 액티비티가 최상단으..
Android 4대 컴포넌트
·
Android
1. Activity(액티비티) UI 화면(사용자와 상호작용)을 담당하는 컴포넌트 액티비티 역할을 하기 위해서는 자바소스에서 Activity클래스를 상속해야 하며 액티비티가 기본적으로 가지고 있는 생명주기 메소드를 재정의하여 원하는 기능을 구현하는 방식으로 제작합니다. 특징 - 안드로이드 어플리케이션은 반드시 하나 이상의 Activity를 가지고 있어야 합니다. - 두개의 액티비티를 동시에 Display할 수 없습니다. - 다른 어플리케이션의 액티비티도 불러낼 수 있습니다. - 액티비티 내에는 프래그먼트(Fragment)를 추가하여 화면을 분할시킬 수 있습니다. public class MainActivity extends Activity { @Override protected void onCreate(B..
생성자와 널 세이프티 이해하기
·
Flutter
오늘은 생성자와 널 세이프티(null safety) 를 알아볼거다 생성자 - 인스턴스 초기화 메소드 - 인스턴스에 원하는 특징과 개성을 부여하기 위한 것 - 클래스는 반드시 생성자를 가져야 함 - Non nullable 변수에는 null 값이 할당될 수 없음 - 클래스내에서 생성된 변수에는 선언과 동시에 초기화 되어야 함 - 하지만 변수에 null 값이 필요하거나 값이 나중에 할당되어야 하는 경우를 위해서 이를 위한 해결책도 존재함(타입 뒤 ?) 코드로 보면 바로 이해가 갈거다 ! class Test{ String? carMaker; int? price; String? color; int? wheelNumber; Test(this.carMaker,this.price,this.color,this.wheel..
Flutter Setstate ?
·
Flutter
setState() 이란? setState() 함수 안에서의 호출은 State 에서 무언가 변경된 사항이 있음을 Flutter Framework 에 알려주는 역할이다. 이로 인해 UI 에 변경된 값이 반영될 수 있도록 build 메소드가 다시 실행된다. 쉽게 말해서 우리가 StatefulWudget 을 자주 사용을 한다. StatefulWidget StatefulWidget은 변경될 수 있는(mutable) 상태(state)를 가지고 있는 위젯이다. 여기서 상태는 1)위젯이 빌드되는 동시에 읽을 수 있고, 2)위젯의 생명 주기동안 변경할 수 있는 정보를 말한다. 그래서 StatefulWidget는 UI의 일부분이 동적으로 변화할 때 유용하게 사용할 수 있다. 아래는 StatefulWidget을 사용할 때..
Flutter SQLite(2)
·
Flutter
어제는 Flutter SQLite 세팅부터 간단한 조희 등 설명을 했다. - 참고 바란다 Flutter SQLite 1) (tistory.com) Flutter SQLite 1) 오늘은 Flutter 에서 SQLite를 쓸 일이 있어 글을 남긴다.. 공식 홈페이지 https://docs.flutter.dev/cookbook/persistence/sqlite Persist data with SQLite How to use SQLite to store and retrieve data. docs.flutter.dev 여기에 보면 공식 developer0524.tistory.com 오늘은 Update 랑 내가 어떻게 사용자한테 보여주는지 알려주려고 한다. 일단 나는 사용자가 Value를 조정하고 저장을 누르면 ..
Flutter SQLite 1)
·
Flutter
오늘은 Flutter 에서 SQLite를 쓸 일이 있어 글을 남긴다.. 공식 홈페이지 https://docs.flutter.dev/cookbook/persistence/sqlite Persist data with SQLite How to use SQLite to store and retrieve data. docs.flutter.dev 여기에 보면 공식 홈페이지 보면 설명이 잘 되어있다 참고 바란다.! 나는 사용하기 전에 공식 사이트 말고 한글 블로그도 참고하면서 활용했다. https://dalgonakit.tistory.com/116 Flutter Database (SQLite) 사용하기 (1) 프로그램의 꽃은 데이터 저장! 그 저장과 불러오기를 쉽게 도와주는 것이 데이터베이스 인데요 이번 강좌에서는 ..