Programming-[CrossPlatform] (37) 썸네일형 리스트형 [제철음식 알리미] 1. 화면구성: Stack, Navigator, PageView 제철음식 알리미 앱을 제작하며 학습했던 내용들을 정리한다. 1. Stack 플러터의 화면은 기본적으로 Stack으로 구성되어있다. Stack에 페이지를 한 겹씩 쌓아나가는 구조이다. 화면 전환을 할 때 Stack에 페이지들을 쌓을 수도 있지만 이전 stack을 없애고 새로운 stack만 존재하도록 할 수 있다. 그리고 뒤로가기를 누르면 하나의 Stack을 제거하는 구조이다. 1.1 페이지 스택 쌓기 원리 이해제철음식 알리미에서는 홈, 검색 페이지가 있다. 페이지 전환 시 스택과 관련된 로직은 아래와 같다. 앱에 접속하면 홈 페이지 스택이 쌓인다.검색 버튼을 누르면 검색 페이지 스택이 추가로 쌓인다.이 상태에서 뒤로 가기를 누르면, 검색 페이지 스택이 제거되면서 이전 홈 페이지 스택으로 돌아간다.홈 페이.. [링크, TIL] 안드로이드 앱 배포 https://whoyoung90.tistory.com/79 Archieve 해주고 Dist" data-og-host="whoyoung90.tistory.com" data-og-source-url="https://whoyoung90.tistory.com/79" data-og-url="https://whoyoung90.tistory.com/79" data-og-image="https://scrap.kakaocdn.net/dn/cgHEkj/hyW6CmfBIK/Uk1k8xw33qvLugDfUx1t11/img.png?width=200&height=200&face=0_0_200_200,https://scrap.kakaocdn.net/dn/bMaJV8/hyW2ZpS6yg/cRxooW2fsKYFL9cgrUJP41/i.. [sf] gnb 추가: pushReplacementNamed, bottomNavigationBar GNB 요소를 추가했다. 1. bottomNavigationBar homeScreen의 Scaffold에 bottomNavigationBar 속성으로 BottomNavigationBar 클래스를 추가해주면 된다. GNB를 홈과 마이페이지에서 동일하게 사용하기 위해서 BottomNavBar 클래스로 공통화하였다. 그리고 각 페이지로 이동했음을 표시해주기 위해서 selectedIndex와 onItemTapped 함수를 인자로 넘겨주었다. selectedIndexGNB에서 홈과 마이페이지를 구분하기 위한 변수값이다. homeScreen에서는 0으로 정의했다. Enum으로 빼주면 더 좋을 것 같긴하다. myPageScreen에서는 1 값으로 적용했다. onItemTapped이 변수는 일급객체로 Functio.. [TIL] 코틀린 gradle querydsl 설정 문제 Querydsl에서 참조로하는 Q객체를 만들려고했는데 에러가 떴다. 해결방법 build.gradle.kts 파일에 가서 다음처럼 설정한다. plugins { id("org.springframework.boot") version "3.1.0" id("io.spring.dependency-management") version "1.1.0" kotlin("jvm") version "1.8.21" kotlin("plugin.spring") version "1.8.21" kotlin("kapt") version "1.7.10" } kapt: 스프링부트에서 롬복(lombok)을 사용하면 특정 어노테이션이 달린 클래스들을 롬복이 해석하여 소스 코드를 자동으로 생성해주듯이 코틀린에서 롬복처럼 사용하는 Annota.. [TIL] 코틀린 문법 간단 요약 함수는 fun. 클래스 필요없음 변수는 var. 세미콜론 필요없음 타입은 콜론 뒤에 명시적 지정 가능. Reference Type으로만 작성. 코틀린이 타입을 추론함 상수는 val. 재할당 불가(자바 final) const val로 탑레벨 상수 지정 시 컴파일 타임에 사용 가능. main 함수 실행 전에 실행됨 const val top = 200 val num = 100 fun main() { var i : Int = 10 var name : String = "hi" var point : Double = 3.3 } String interpolation: "Hi! I'm ${name}" if문: 기본 문법은 자바와 같음. when문이 추가됨. IDE에서 Option + Enter로 변환 가능. if문의 결.. Flutter 기본-23. 채팅앱 - 이미지 등록 및 조회, firebase storage Youtube 코딩셰프님의 강의를 요약 정리한 글이다. dart 언어나 이론 부분은 자바와 유사하여 대부분 제외하였고, flutter 기초 위주로 정리한다. https://www.youtube.com/@codingchef 코딩셰프 향후 대세가 될 플러터를 단계별로 맛있게 학습하실 수 있습니다! www.youtube.com background image reference : https://wallpapercave.com/cartoon-chickens-wallpapers 1. Image picker 설치, XFile Image Picker 사용자가 이미지를 업로드하는 기능을 image_picker라는 라이브러리를 통해 구현한다. https://pub.dev/packages/image_picker 다른 라이브.. Flutter 기본-22. 채팅앱 - 유저이름 표기, 다이얼로그(팝업) Youtube 코딩셰프님의 강의를 요약 정리한 글이다. dart 언어나 이론 부분은 자바와 유사하여 대부분 제외하였고, flutter 기초 위주로 정리한다. https://www.youtube.com/@codingchef 코딩셰프 향후 대세가 될 플러터를 단계별로 맛있게 학습하실 수 있습니다! www.youtube.com background image reference : https://wallpapercave.com/cartoon-chickens-wallpapers 1. 유저 이름 표기 추가하기 flutter_chat_bubble 작업 전 편의를 위해 pub.dev에서 제공하는 flutter_chat_bubble 라이브러리를 설치한다. https://pub.dev/packages/flutter_chat.. Flutter 기본-21. 채팅앱 - 채팅 UI 작성, 데이터 관리 Youtube 코딩셰프님의 강의를 요약 정리한 글이다. dart 언어나 이론 부분은 자바와 유사하여 대부분 제외하였고, flutter 기초 위주로 정리한다. https://www.youtube.com/@codingchef 코딩셰프 향후 대세가 될 플러터를 단계별로 맛있게 학습하실 수 있습니다! www.youtube.com background image reference : https://wallpapercave.com/cartoon-chickens-wallpapers 1. 채팅 메시지 화면 새로 구성 기존 chat_screen에 있던 부분을 리팩토링한다. chatting/chat 폴더를 만들고 messages.dart 파일을 만들어 아래 코드를 작성해준다. import 'package:flutter/ma.. 이전 1 2 3 4 5 다음