
OT 진행 교육 내용 코틀린 -> 안드로이드 네이티브 프로그래밍을 위한 언어 안드로이드 -> UI 관련, 안드로이드 애플리케이션 구성 요소, 데이터 관리 Flutter -> 하이브리드 개발 방식 학생정보관리 -> 코틀린 메모관리(일정관리) -> 안드로이드(UI와

Live강의다보니 적으면서 두서없이 정리된 부분이 있다. 일단 교육 진행하면서 꼭 기록을 남기는 것을 목표로 차근차근 노력해보자. 2023-12-27~2024-01-08 : 코틀린 언어 2024-01-09~2024-01-15 : 학생정보 관리 프로젝트(코틀린) 202

몇년 개발을 편하게 하고 십수년 유지보수를 힘들게 할지?몇년 개발을 힘들게 하고 십수년 유지보수를 편하게 할지?개발의 용이성반복되는 코드를 줄임으로써 수정을 용이하게하고 전체 작업량을 줄임코드를 미리 작성해 놓고 필요할 때 불러다 쓰는 개념Java에서는 클래스에 메서드

※ 키워드도 식별자로 사용이 가능하다백틱(\`)으로 감싸주면 키워드가 아닌 식별자로 사용할 수 있다.ex) 코틀린에서는 in이 키워드라서 System.in이 아니라 System.\`in\`으로 사용하고 있음나중에 자바코드로 변환되는 과정때문에 권장하진 않음연습 사이트로

자바에서는 printf로 %05d 등을 활용했는데 코틀린에서는 printf가 없어서 .format()을 활용함 format : 출력 서식을 이용하여 문자열을 만들 수 있다. 정수 : %d, 실수 : %f, 문자열 : %s, 문자 : %c %숫자d, %숫자s : 숫자만

동물원에는 동물들이 여러 가지가 있다.동물은 사자, 고양이, 새가 있다.사자는 다리가 네개이고 어흥이라는 소리를 낸다.고양이는 다리가 네개이고 야옹이라는 소리를 낸다.토끼는 다리가 두개이고 짹짹이라는 소리를 낸다.프로그램이 실행되면 3가지 동물에 관련된 정보를 입력받는

강사님이 마지막에 오버라이딩 설명을 해주시는데 꽤 어려웠다...다형성, 오버라이딩에 대한 why가 필요하다작업하는 파일들을 폴더별로 나눠서 관리하는 개념물리적인 폴더를 만들어 사용한다.패키지는 폴더로 구분하면 된다패키지 내에 있는 파일들은 상단에 패키지를 반드시 명시해

코틀린 교육이 끝나고 과제 평가가 있을 예정(프로젝트폴더 압축파일제출)오늘까지 배운 내용을 토대로 문제가 나옴A 클래스 (부모)변수 a메서드 aB 클래스 (자식)변수 b메서드 bB클래스가 A클래스를 상속받고B타입의 변수 b1에 B클래스의 인스턴스를 담으면 -> 변수 a

DataClass DataClass는 매개체의 데이터를 관리하는 용도로 사용하는 클래스 abstract, open, sealed, inner 클래스로 정의할 수 없다. 반드시 주 생성자를 가지고 있어야 한다. DataClass는 개발자의 개발 편리성을 위해 몇가지

코틀린 강의 끝나고 자바의 쓰레드, 스트림 공부할 예정미니프로젝트 학생정보관리프로그램 만들 예정라이브러리 배포를 위한 서버MavenGradle안드로이드는 Gradle을 사용하고 있음Reflection 라이브러리도 Gradle에서 이용File > Project Struc

코틀린 교육은 오늘로 종료대부분의 언어에서순서를 가진 값의 묶음은 \[ ] 대괄호로순서가 없는 값의 묶음은 { } 중괄호로 표현됨국제 표준은 아니지만 대부분 이 규칙을 따르고 있음컬렉션 중 set은 생략했음몽키테스트알파테스트 - 기획된 기능 테스트베타테스트(내부)베타테

재직자 과정 교육 추천어제에 이어서 미니 프로젝트 진행프로젝트 과정 중 변경사항이 있을 경우 반드시 기획서 먼저 수정한 후 작업 하기클래스에 주생성자에 프로퍼티를 정의하는건 객체를 생성할때 무조건 값을 전달받겠다는 것임메서드를 호출하여 프로퍼티를 초기화 하는 방법은

파일 입출력은 dao에서객체 직렬화 Serializable객체를 외부에 보낼수 있도록 바꿔주는것Serializable 인터페이스를 구현해줘야 함FileOutputStream으로 파일을 생성하고 스트림과 연결해줌ObjectOutputStream에 FOS를 매개변수로 전달

지난 시간에 이어 하루종일 동물 관리 프로그램 마무리했다.오늘까지가 코틀린 마지막 시간이고 이제 다음 시간부터 안드로이드를 진행한다.

애플리케이션 프레임워크이전 안드로이드 가상머신은 Dalvik이었으나 안드로이드5.0부터 ART로 변경됨Dalvik -> 실행 시 실시간으로 기계어로 번역하면서 실행됨ART -> 설치 시 기계어로 번역해놓고 실행 시 기계어 코드가 실행된다.SQLite DBOPEN GL

안드로이드에서 눈에 보이는 모든 요소를 View라고 부른다.개발자가 배치하는 모든 View들은 Class로 제공되는데 모두 View라는 클래스를 상속받고 있다View 클래스는 모든 UI 요소들의 부모 클래스로써 Widget과 Layout으로 나뉜다.Container,
id : View를 지칭하기 위해서 사용하는 이름한 화면에서 같은 id가 있으면 안된다.layout_width : 가로 길이. (wrap_content or match_parent or dp 단위의 크기)layout_height : 세로 길이 (wrap_content

editText가 관리하는 문자열은 String이 아니라 Editable이다 String일 경우 값을 입력할때마다 String객체가 매번 생성되기 때문에 이를 해결하기 위해 Editable을 따로 만들었으며 이를 사용하기 위해서는 toString으로 변환해주면 된다.로

첫 번째 과제 제출 결과가 나왔다.막 엄청 어려운 과제는 아니었지만 어느정도 도전적인 과제였다.강사님이 제출한 답안과는 조금 달라보이지만 결국 본인 스타일이니까TextInputLayout에는 TextInputEditText가 기본으로 같이 붙어온다.주요 속성hint :

강사님께서 화면이 달라도 id는 최대한 다 다르게 설정하는것을 권장하셨다.코루틴 특강 전에 쓰레드 강의 예정모든 네트워크 테스트는 와이파이 끄고 lte로 바꾸고 중계기가 없는 실내(방 안)에서 테스트데이터 용량을 최소화 시키는 것이 중요화면부터 만들기(화면이 다수라면

리사이클러뷰의 항목을 데코레이션으로 꾸밀 필요 없이 카드뷰로 구성할 수도 있다.어떤 방법으로 보여줄지 사용LinearLayoutManager : 가로, 세로 방향GridLayoutManager : 한 줄에 몇 칸을 사용할 것인지항목 View의 크기가 다를 경우 Grid

실습 팀은 다음주에 새로운 팀으로 구성 예정실습 팀 리더가 따로 없었는데 다음부터는 팀 리더도 정할 예정임1월 26일은 휴강, Coroutine 특강 예정 꼭 참여 필수!1월 29일에 취업 관련 특강이 있을 예정(18시~20시)현재 보이는 화면을 관리하는 실행 단위애플

코루틴은 2일동안 배울 예정 그전에 쓰레드 먼저기존에는 안드로이드에서 네트워크 통신 요청에 대한 리스너를 구현하는데 리스너 안에 리스너가 있는 중첩구조가 비일비재함이런 방식은 작업 구조가 복잡하고 가독성도 안좋아짐이를 해결하기 위해 코틀린으로 코루틴을 사용함통신1이 처

내가 작성한 EX09 코드에서는 학생별 정보를 각각의 리스트로 담아서 정보를 각각 전달했는데강사님의 경우 info클래스를 작성하여 객체를 전달하는 방식으로 작성하셨다.점수 통계를 내는 과정도 내가 작성한 코드는 리스트를 통째로 전달해서 통계뷰에서 계산을 하고 보여주는

강사님은 fun initToolbar() 함수로 따로 정의하심툴바의 뒤로가기 버튼을 클릭할때는 setResult에 RESULT_CANCELED를 담고 finish()함view를 길게 누르고 있으면 나오는 메뉴(pc의 오른쪽 클릭메뉴 같은)길게 눌러보지 않는 이상 사용자

이후 과제들은 깃허브를 이용하여 제출할 예정임구현 순서UI 구현UI에 대한 기능 구현그 외 기능 구현툴바에 사용할 아이콘 drawable폴더에 붙여넣기메인 ui구현(layout > activity_main.xml)메인 ui에서 사용할 툴바 ui 구현(menu > men

cpu core 하나 당 1~10개의 작업 처리process : 하나의 컴퓨터 안에서 실행되는 프로그램의 한 단위thread : 하나의 프로그램 안에서 작업의 한 단위thread 하나 당 하나의 작업을 처리할 수 있다.동기 : 순차적으로 처리비동기 : 동시에 처리, 동

FAB 버튼은 리니어레이아웃에서 사용못함ConstraintLayout에서 사용가능다른 뷰 위에 올라가는 버튼이 아님리사이클러뷰와 같이 사용할때 마지막 항목이 FAB버튼에 가려지는 경우 마지막에 빈 항목을더 추가해서 가려지는 항목을 위로 올리는 방법을 쓰기도 함

오늘은 안드로이드 프로젝트1 화면뷰까지만 모두 만들었다.나는 동물 추가 기능까지 구현해보았는데부모 클래스로 Animal을 만들고 자식 클래스로 각각 Lion, Tiger, Giraff 3개를 만들어서 Animal을 상속받는 식으로 동물 클래스를 만들었다.그리고 액티비티

내가 만든 프로젝트의 경우 동물을 담을 리스트를 MainActivity에서 생성했는데강사님은 따로 Util클래스를 만들어 컴패니언 오브젝트에다가 리스트를 생성해서 사용을 했다.체크할 개별 버튼에 이벤트를 주는 대신버튼 그룹의 check()메서드를 이용체크할 버튼의 id

매번 메인 액티비티로 돌아올때 onResume에서 리사이클러뷰를 새로고침해줄 수 있음하지만 onCreate에 어댑터 설정을 해놨을때 onResume에서도 어댑터 설정이 동작하므로 액티비티를 맨 처음 동작 시 어댑터 설정이 두번 중복으로 일어나게 됨onResume에서 리

intent에 객체를 담으려면 Parcelable을 구현한 클래스로 생성한 객체여야 한다.Animal까지 모두 Parcelable 구현사용하지 않는 Parcelable 메서드까지 모두 구현해줘야 함사자, 호랑이, 기린 클래스에만 Parcelable을 구현한 경우, An

여러 화면을 가지고 있는 애플리케이션은 여러 Activity를 가지고 있는 애플리케이션을 의미Acitivity는 독립된 실행단위로 메모리를 많이 소모하는데 독립된 실행단위가 아닌 화면만 필요한 경우 Activity보다는 Fragement를 활용하는 것이 효율적임Frag

깃 프로그램은 깃허브 데스크탑이나 포크가 있음특강 멘토님은 포크를 사용한다고 함맥에서 많이 사용하는 것 같음GIT은 "협업을 위한" 도구협업할 수 있는 능력을 증명경쟁력코드 공개아카이브의 형식은 좋지 않은 사용법임완벽한 코드가 아니더라도 커뮤니케이션, 성장 과정을 보여

material3의 가이드를 지키는 것이 어플 검수 조건은 아니지만플레이스토어 노출 조건은 많은데 그 중 하나가 material3 가이드라고 함material3 가이드를 잘 지키면 그만큼 가산점을 주기 때문에 스토어에 노출될 확률이 높음예를 들어 앱 삭제 시 나오는 안

별도의 고유값을 가지는 컬럼이 없을경우에는 idx컬럼을 설정하면 되지만 idx컬럼 외에 학생번호와 같은 고유값을 가지는 컬럼이 있을 경우에는 idx컬럼이 없어도 된다. -> db 성능 최적화 이유데이터 클래스를 먼저 정의하고 그걸 기반으로 테이블을 정의한다데이터 베이스

코루틴 특강은 미니프로젝트 할 때 먼저 배울 예정특강일에는 QNA와 과제로 진행데이터 클래스를 사용하면 개발자의 편의를 위한 몇가지 메서드가 오버라이딩 됨그냥 클래스를 사용해도 상관없으나 어떤 데이터를 관리하기 위한 목적이라면 데이터 클래스를 주로 사용함학생 클래스 정

Application Class를 사용하면 같은 애플리케이션 내에서 자유롭게 접근하여 공통 데이터를 관리할 수 있다.Application클래스를 상속받고 AndroidManifest.xml에 등록하면 된다.안드로이드는 애프릴케이션이 데이터를 저장할 수 있는 저장소를 두

xml 작성 시 앞에 android:와 app:의 차이는 android는 옛날부터 있던 요소이고 app은 이후에 추가된 요소다.android와 app 둘다 있는 속성인 경우에는 app인 속성으로 선택하면 된다.tools 요소(스패너 아이콘모양)는 미리보기에서만 표시되고

반응형 UI를 ConstraintLayout으로 만드는것을 강사님은 비추하심공식문서에도 반응형UI에 ConstraintLayout으로 작성하고 있는데 어지러워보인다.안드로이드는 drawable폴더에 이미지를 넣어서 이미지를 사용할 수 있다.xml을 통해 이미지를 새롭게

이미지뷰의 속성 중adjustViewBounds의 값을 true로 해주면 화면 꽉차게 채울 수 있다.안드로이드 애플리케이션에서 단말기의 정보가 필요할 경우 정보를 가져다 사용할 수 있다.안드로이드 8.0부터 단말기 일련번호, 유심 일련번호 등 단말기의 고유한 정보는 사

SERIF란?획의 끝에 있는 삐침WEIGHTultra thinthinlightromanmediumboldSIZEITALIC / OBLIQUEMONOSPACECONDENSEDFONT : 납활자 시기에는 한 타입페이스의 활자 묶음을 의미했으나, 디지털 시대에는 한 타입페이

안드로이드의 특징들안드로이드 가상 머신의 이름안드로이드 4대 구성 요소 중 Activity의 정의안드로이드 4대 구성 요소 중 Service의 정의안드로이드 4대 구성 요소 중 Content Provider의 정의안드로이드 4대 구성 요소 중 Broadcast Rece

Google Map구글 클라우드 계정 준비구글 클라우드는 주로 데이터를 제공하는 서비스구글 Open API를 이용할 예정https://console.cloud.google.com/왼쪽 상단에 "프로젝트 선택" 을 누르기기존에 프로젝트를 만들어둔게 있다면 프로젝

화면 기획에서 입력받는 부분은 제일 마지막에 진행한다. 만약 입력받는 부분을 먼저 기획하는 경우 나중에 다시 수정할 수 있으므로 번거로워짐 화면 UI 요소 배치를 가장 먼저 구현 화면 UI 요소에 대한 기능을 그다음에 구현 기획이 완료된 후 안드로이드 프로젝트 생성

1970-1-1 유닉스타임 참고https://steemit.com/kr/@ai1love/2038유닉스는 1960년대 인류가 만든 최초의 컴퓨터 OS당시 최초의 하드디스크 용량은 4mb였음년, 월, 일, 시, 분, 초, ms = 총 7개의 기억장소 \* 4byt

게시판 프로젝트 friebase 서비스(데이터 베이스(NoSQL), 저장소) 회원관리 DrawerLayout(메뉴버튼 누르면 왼쪽에서 나타나는 메뉴) BottomSheet(게시글 댓글) 이미지 업로드 스플래시 스크린 그 외 Splash 화면 https://develo

primary : 색상은 앱의 화면과 구성요소에서 가장 자주 표시되는 색상.secondary : 색상은 앱을 강조하고 구분하는 데 사용.surface : 색상은 카드, 시트, 메뉴와 같은 구성요소의 표면에 적용.background : 색상은 스크롤 가능한 콘텐츠 뒤에

replaceFragment메서드와 removeFragment메서드의 매개변수 name의 타입을 ContentFragmentName로 바꿔주기fragmentTransaction.replace 메서드에 인자값을 받을 프래그먼트컨테이너뷰 id를 containerConten

아이폰의 제스처 기능 처럼 안드로이드 기기는 항상 back버튼이 있다.네비게이션 아이콘에 뒤로가기 처리를 해도 back버튼은 별도로 존재하기 때문에 back버튼에도 동일하게 처리를 해줘야 한다.모든 화면에 대해서 back버튼을 눌렀을 때에도 제대로 처리가 되는지 확인해

코루틴동시에 작업을 하거나 오류가 발생할 가능성이 높은 코드를 처리하는데 사용한다.쓰레드와 유사하지만 쓰레드의 단점을 보완하기 위해 만들어졌다.안드로이드에서는 쓰레드보다 코루틴 사용을 권장하고 있다.파이어베이스나 룸데이터베이스도 코루틴으로 사용함쓰래드 보다 메모리 사용

기존의 viewBinding을 dataBinding으로 수정Sync now를 눌러 적용을하면 아래와 같이 코드에 에러 표시가 나고기존의 레이아웃 파일들 수정이 필요하다xml 레이아웃 파일을 열어서 code탭에서 아래와 같이 기존의 태그 내용들을 <layout>으로

이미지 소스를 지정하는 방법은 MVVM구조에서 적용하기 애매해서 기존의 방법으로 진행한다.보여주는 기능만하니까 단방향으로 설정한다.AddContentViewModel.kt에 작성한 메서드와 companion object를 동일하게 사용한다.글 수정에서는 사용자가 직접

좌측 메뉴에서 Firestore Database 클릭"데이터베이스 만들기" 버튼 클릭위치는 Seoul로 맞추고 다음테스트 모드로 맞추고 만들기테스트 모드는 한달동안 접속이 가능하다컬렉션 : 테이블문서 : 행 (문서 ID는 자동ID 기능이 있다)필드 : 변수컬렉션에 접근

build.gradle.kts에 implementation("com.google.firebase:firebase-storage:20.3.0") 추가회원번호아이디비밀번호닉네임나이성별취미 6가지회원 상태데이터를 저장할 때,객체로 데이터를 넣으면 프로퍼티가 필드이름이 되고,

사용자는 항상 어플리케이션을 강제종료할 수 있다는 가정을 하고 글업로드 과정에서 용량이 큰 파일데이터가 글 데이터보다 먼저 업로드되도록 순서를 정해야 한다.글 데이터가 올라갔는데 이미지 파일이 업로드 되지 않은 경우 글을 보여줄때 같이 업로드한 이미지 파일이 서버에 없

idx를 이용해 사용자 정보를 가져오는 메서드가 아직없으므로 메서드를 작성한다.사용자 닉네임을 불러올 수 있도록 수정해준다.이미지도 불러와야 하므로 서버에 저장한 이미지를 불러오는 메서드를 작성해야 한다.Glide를 이용하면 서버로부터 해당 이미지를 찾아 Uri객체를

아래와같이 where조건을 작성하고 order조건을 작성한 후에 다시 where조건을 작성한다면이러한 에러가 발생하게 되는데직접 파이어베이스로 들어가서 인덱스를 만들라는 링크가 에러 메시지에 같이 첨부가 된다.파이어 스토어에는 미리 데이터를 정리해주는 인덱싱 과정이 있

검색 기능을 구현할 때 보통 쿼리문의 Like절을 사용하는데,NoSql에서는 관계형데이터베이스와 같은 Like절이 없다.따라서 게시글을 모두 불러온 후 검색어에 해당되는 게시글을 체크하는 과정이 필요하다.글작성자 계정으로 로그인 한 경우 수정,삭제 메뉴만 보인다.다른

새 프로젝트를 만들 때 xml 방식에서는 Empty Views Activity로 만들었지만 Compose는 Empty Activity로 만들어준다.컴포즈로 프로젝트를 만들면 기존에 xml파일에 있던 디자인 미리보기가 kt파일에도 추가가 된다.@Composable : 눈

실제 삭제가 아니라 기본 이미지로 이미지뷰를 변경해준다.

게시판 프로젝트 회원정보 수정 사용자 정보를 수정하는 메서드 작성 성별값을 반환하는 메서드 사용자 정보를 수정하는 메서드 서버에서 사용자 데이터를 가져오는 메서드 입력 요소 초기화 메서드 수정

로그아웃을 하면 로그인 사용자와 관련된 프로퍼티를 초기화한다.SharedPreferences에 자동 로그인 정보가 있다면 삭제한다.로그아웃 처리를 먼저 한 후 회원 상태를 탈퇴로 바꾼다로그인을 할 때 탈퇴한 아이디로 로그인을 하려고 하면 탈퇴한 회원이라고 메시지

글 작성자 여부를 ReadContentBottomFragment클래스의 생성자 매개변수로 받는다.ReadContentFragment에서 ReadContentBottomFragment를 띄울때 글 작성자 여부를확인하여 매개변수에 담아준다.댓글 번호 (replyIdx)댓글

이대로 실행하면 인덱스를 만들라는 에러가 뜨므로 인덱스를 만드는 작업을 한다.또는 쿼리빌더를 사용하면 된다고 한다.다른 아이디로 로그인 한 경우본인 아이디로 로그인 한 경우https://baldeagle.tistory.com/69리사이클러뷰에 항목의 포지션이

ScrollView에는 하나의 레이아웃만 넣을 수 있다.하나의 레이아웃을 넣은 후 그 안에 여러개의 레이아웃을 넣는 방식버튼에 아이콘이 적용이 안될 때버튼 속성으로 아이콘을 지정해주었는데정작 화면에서는 아이콘이 나오지 않는다.m3 공식문서에는 icon넣어주면 된다고만

깃 협업 문제2명의 사람이 동일한 파일을 작업하고 있을 때브랜치를 만든 시점은 2명이 동일하고A가 먼저 코드를 작업하여 푸시를 했는데B가 코드를 작업하여 A의 푸시 이후에 푸시를 한경우A가 작업한 코드는 없어지고 B가 작업한 코드만 덮어씌워진다.강사님의 의견으로는 이

네비게이션아이콘을 누를때 현재 위치의 아이콘을 눌러도 BackStack에 중복으로 쌓일 수 있으므로 현재 위치가 아닌 아이콘을 누를때에만 BackStack에 쌓이도록 주의해야 한다.버튼에 백그라운드 속성을 적용하려는데 기본으로 적용된 Material 테마에서는 백그라운

카카오 개발자 페이지에 들어가서 로그인을 한다.https://developers.kakao.com/처음 회원가입 또는 로그인을 하면 서비스 이용동의 절차가 있으므로 체크해준다.메인 페이지에서 아래로 내리면 추천 제품이 뜨는데카카오싱크는 회원가입과 카카오톡 채널

사용자가 서버로 전달하는 파라미터 데이터가 주소에 붙어져서 전달된다.서버로 전달되는 데이터의 총량이 적다.요청속도가 빠르다서버로 전달하는 파라미터가 공개된다.주소를 포함한 파라미터 데이터의 총 길이가 255글자를 넘지 못한다.영문, 숫자, 특수문자 외의 다른 글자를 허

데이터베이스의 장소 서버 로컬데이터 베이스 관련 코드를 model에서 가져올 때데이터 베이스가 바뀌면 관련 코드를 model에서 전부 수정해야 한다.하지만 model 과 데이터베이스 중간에 Repository클래스를 넣어주면Repository는 모델에 데이터를 담아

컴포즈에서는 프래그먼트라는 화면 단위가 없고xml기반에서의 화면 이동과는 다른 개념다른 형태의 화면으로 재구성해줌하나의 화면 단위를 Screen이라고 부른다(Fragment와 같이 별개의 클래스가 있는 건 아님)라이브러리를 추가해준다MainActivity는 처음은 아래
본인 팀의 주제는 대학생 졸업 작품을 전시, 판매 하는 플랫폼 어플리케이션그 외운동 회원권을 사고 팔 수 있는 운동 커뮤니티 성격의 어플리케이션MBTI 기반 사용자 맞춤 코디 추천 쇼핑몰 어플리케이션반려동물 돌봄 서비스 플랫폼 어플리케이션홈트족을 위한 쇼핑 및 커뮤니티

컴퓨터로 만들어지는 서비스메인프레임PC워크스테이션\-> C / C++웹 서비스프론트 엔드 -> 사용자 측면(표준, HTML)백 엔드 -> 서버 측면(Servlet/JSP/Spring, PHP, ASP.NET, Django, Flask, Node.js 등등...)모바일S

클래스, 함수, 컬렉션 등을 작성할 때 데이터 타입을 정하지 않고 나중에 사용할 때 정할 수 있는 개념자료형 대신 영문자를 작성해두고 사용할 때 영문자에 해당하는 자료형을 결정해 사용할 수 있도록 한다.일반적으로 영어 대문자 한 글자를 사용한다.T : 변수 타입을 표현

처음 플러터 프로젝트 생성시 widget_test.dart에 있는 테스트 코드들도main.dart 의 예시 코드를 기준으로 만들어진 내용이라 전부 삭제해준다.lib/main.dart, test/widget_test.dart 내부의 코드를 모두 삭제한다.margin :

플러터에서 별도의 파일로 분리된 StatefulWidget은 서로의 State에 관여할 수 없다만약 공통적으로 사용하려는 State가 필요한 경우 provider라이브러리를 사용한다.https://pub.dev/packages?q=provider설치방법을 참고
게시판 프로젝트 로그인한 사용자의 정보 중에 사용자마다 무조건 다른 값은 아이디와 사용자 번호임 데이터를 저장할때 중복해서 저장될 데이터가 있는지 고려해야 한다. 자동로그인을 체크하고 로그인하면 사용자의 idx를 저장한다. 이후에 다시 로그인 페이지로 올때 사용자의 i

스크롤이 되는 Row 또는 Column과 동일하다작은 사이즈 액정을 가진 기기에서는 화면이 짤릴 수 있기 때문에 화면 밖에 벗어난 부분을 보여주기 위해 listView를 기본적으로 감싸주는 것으로 진행한다.리사이클러뷰 처럼 특정 항목만을 보여주려고 할 경우에는 List

screen/like_screen.dart 파일을 만든다.AppBar 작성을 위해 widget/like_top_app_bar.dart 파일을 만든다.AppBar를 배치한다.MainScreen에 LikeScreen을 배치한다.ListView 구성을 위한 widget/li

안드로이드 스튜디오 터미널에서 cmd를 입력하여 변경한다.파이어베이스에서 제공하는 명령어를 입력한다.dart pub global active flutterfire_cli를 먼저 입력한다.Path 오류가 뜰 경우에는 환경변수에서 다시 Path를 수정하고 다시 명령어를 입

컴포즈에서 룸데이터베이스 사용모듈 단위의 build.gradle.kts에서상단의 plugins에는 kotlin("kapt") 추가하단의 dependencies에는 3개 추가만들어놓은 Entity대로 테이블이 만들어진다제목, 내용 입력 요소와 연결되어 있는 데이터 관리

https://www.genymotion.com/안드로이드 스튜디오에서 지니모션 플러그인을 설치하면 에뮬레이터를 지니모션에서 실행시킬 수 있음안드로이드 스튜디오에서 실행하는 기본 에뮬레이터보다 더 빠름macOS에서도 지니모션을 사용하여 안드로이드 에뮬레이터를

flutter에서 firebase 사용시 조건에 관련된 것은 모두 where 함수를 사용한다.where 함수의 매개변수를 통해서 어떠한 조건인지를 설정한다.첫 번째 매개변수 : 필드 이름isEqualTo : 값을 지정한다. 필드의 값이 지정된 값과 같은 것isNotEq

컴퓨터에서 직접 만들지 않은 다른 플러터 프로젝트를 처음 열면 에러가 뜨는데아래의 방법을 통해 셋팅 해주면 된다.flutter sdk의 bin 폴더를 path로 잡아준다.안드로이드 스튜디오의 터미널을 실행해준다.터미널에서 cmd를 입력하여 명령 프롬프트로 변경해준다.다