본문 바로가기

프로그래밍100

[java] @Override 메소드 오버라이딩에 대한 이해 개요 메소드 오버라이딩은, 부모 클래스에서 정의된 메소드를 재정의하는 것입니다. 기본 어노테이션 @Override 를 선언하여 기존 클래스의 동일한 메소드를 재정의함을 명시합니다. 아래 소스 코드는 클래스 A를 상속받는 클래스 B에서 메소드 hello()를 오버라이딩했습니다. 클래스 A에서 정의한 hello()가 아닌 클래스 B에서 정의한 hello()가 실행되었습니다. ▶ 소스 코드 class A { public void hello() { System.out.println("Hello, A"); } } class B extends A { @Override public void hello() { System.out.println("Hello, B"); } } class HelloWorld { public.. 2024. 1. 13.
[flutter] BuildContext 그리고 ScaffoldState.of() 에 대한 이해 BuildContext 위젯 트리 내 위젯의 위치 정보를 가지는 클래스입니다. StatelessWidget.build 또는 State 객체(주로 StatefulWidget과 같이 활용되는)에서 사용가능한 메소드들을 제공합니다. StatelessWidget.build 아래 코드와 같이 StatelessWidget.build 메소드를 사용였습니다. build 메소드 하위 블록 {} 에서 context 를 이용한 작업 수행이 가능합니다. import 'package:flutter/material.dart'; void main() => runApp(const ExampleApp()); class ExampleApp extends StatelessWidget { const ExampleApp({super.key}.. 2024. 1. 6.
[flutter] android minSdkVersion 변경하기 (flutter sdk 3.13) 또 달라졌습니다... 버전 변경 프로젝트에 사용하는 flutter sdk 디렉토리/packages/flutter_tools/gradle/src/main/groovy/flutter.groovy 에 있습니다. /** * For apps only. Provides the flutter extension used in app/build.gradle. * * The versions specified here should match the values in * packages/flutter_tools/lib/src/android/gradle_utils.dart, so when bumping, * make sure to update the versions specified there. * * Learn more ab.. 2024. 1. 3.
[python] Firebase Admin SDK child path 활용 데이터 읽기 개요 python firebase admin sdk를 활용하여 실시간데이터베이스에서 데이터를 읽는 방법과 path를 작성하는 방법입니다. 가정 다음과 같이 데이터가 저장되어 있다고 가정합니다. - fruit : - apple : - price : "100" - size : "3" - banana : - price : "200" - size : "92" - orange : - price : "600" - people : - amy - james 기본 설정 python 스크립트에서 아래와 같이 작성합니다. import firebase_admin from firebase_admin import credentials from firebase_admin import db cred = credentials.Cert.. 2024. 1. 2.
[android] BottomNavigationView 아이템 클릭 시 shift mode 애니메이션 비활성화하기 문제 BottomNavigationView의 아이템 선택 시 아이콘과 라벨이 동시에 커지는 애니메이션이 기본값으로 설정되어 있습니다. 이 애니메이션 효과(Shift mode)를 제거해 보겠습니다. 해결 방법 이 문제를 해결하기 위해 빌드 시 강제로 dimens.xml에 지정된 값(12sp)을 오버라이드하도록 만들어야 합니다. res/drawable/values/dimens.xml 에 아래 코드를 추가해 주세요. 12sp 바텀네비게이션 레아아웃에 아래 코드를 추가해 주세요. xmlns:tools="http://schemas.android.com/tools" tools:override="true" 애니메이션 효과가 사라졌습니다. 참고 자료 해당 이슈에서 해결 방법을 찾았습니다. Google Issue Tra.. 2024. 1. 2.
[Flutter] URI.https type 'int' is not a subtype of type 'Iterable<dynamic>' 에러 해결 문제 상황 URI.https 인스턴스의 속성을 정의할 때, 파라미터 value 값에 int 자료형이 들어가는 경우 발생할 수 있습니다. ▶ #0 예제 코드 int number = 3; final Uri uri = Uri.https(APU_AUTHORITY, API_PATH, { "number": number, "count": 1, }); 해결 방안 파라미터 내 모든 value 를 String 자료형으로 만들어 줍니다. ▶ #1 수정된 예제 코드 int number = 3; final Uri uri = Uri.https(APU_AUTHORITY, API_PATH, { "number": number.toString(), "count": "1", }); 원인 Uri.https의 원형은 아래와 같습니다. 팩토리.. 2023. 12. 17.