onBackPressed Fragment BackStack handler fragment 화면전환 관련 팀프로젝트 코드가 마무리됐다. 이제 더 이상 코드는 손대지 말자고 약속했다. 그 기념으로 오랜만에 TIL을 쓴다. 링크는 작업하면서 도움이 되었던 양질의 링크들을 가져왔다. 하면서 습관적으로 꺼버린 창도 꽤 돼서 잃어버린 것도 몇 개 있어 아...
탭 레이아웃 api retrofit 오늘은 수업 실습을 해볼까하는 마음도 있었지만 과제하는데에 시간을 다 쓴것 같다. 일단 브랜치를 새로 팠다. 예전 팀플 때 이슈를 파서 작업했던게 생각이 나서 이슈를 세개정도 파놓고 브랜치를 만들었다. 하나하나 차근차근 진행할 예정이다. 첫번째 이슈로는 아무래도 가장 커다란 놈을 골랐다. API 활용인데 오늘 내내...
오늘은 심화과정 강의를 전부 들었다. 위치정보를 활용하는 방법과 Retrofit에 관한 것이었는데 매우매우 유용한 내용이어서 활용할 생각에 조금 설렜던 것 같다. 공공데이터포털은 예전에 직장생활 할 때 종종 이용하곤 했던 곳인데 이런 식으로 활용하게 되니 활용 방식이 무궁무진한 것 같았다. 시간만 많으면 여러가지로 실습을 해보고 싶은 생각이 들었다. 이...
preference 1. 기본 정보 어플을 종료하더라도 정보를 남기고 싶을 때 사용한다. 사용 시 어플 내 폴더에 XML 파일로 키-값 세트 정보가 저장된다. 응용 프로그램의 고유한 정보로 외부에서는 읽을 수 없다. 2. 사용 방식 getSharedPreferences(name, mode) 여러개의 파일을 사용하는 경우에 사용한다. name은 데이터를...
API 33 onBackPressed() deprecated AlertDialog - 기본 다이얼로그 사용법 정리 getDrawable, getColor Deprecated
getString 활용 - Activity 외에서 getString 활용 - Activity 외에서2 (RecyclerView.Adapter) Fragment에서 recyclerview 활용 Fragment에서 recyclerview 활용2 (Fragment 재활용) RecyclerView에 divider 넣기 - ItemDecoration [이미...
뷰바인딩 build.gradle 에서 빌드설정 추가 Activity 내에서의 사용법 리사이클러뷰 (RecyclerView) xml 파일에 recyclerView를 만든다. adapter 클래스 정의 Activity 내에서의 활용법
오늘은 새로운 발제였다. 새로운 팀에서 개인과제를 약 2주정도 진행하고 다시 팀프로젝트를 하는 일정이다. 이번 개인과제는 당근마켓 오마주다. 강의를 살펴보니 총 시간이 1시간 반 정도 남짓이었다. 내용은 대강 뷰바인딩과 리사이클러뷰, 프래그먼트, 다이얼로그, 알림 정도였다. 나란 P 인간은 일단 들어봐야 뭐라도 가닥이 잡히기 때문에 강의를 보는 것부...
오늘은 발표를 마치고 챌린지반 수업을 들었다. 아침에는 오랜만에 코드카타를 진행했다. 내 맘대로 문자열 정렬하기였나 그런 문제였다. 오랜만에 풀어서 한번 가져와봤다. 이 문제를 처음 풀기위해 시도한건 꽤 됐는데 그땐 분명히 뭐가 뭔지 모르겠고 코드가 잘 안그려졌었는데 오늘 해보니 좀 허무할만큼 간단하게 풀린 것 같다. String 여러개가 있는 Ar...
오늘은 작업을 마무리하고 발표자료를 제작했다. 코드작업은 일단락이 되었다. 사실 약간의 아쉬움이 남기는 했지만 내 작업물이 아닌 팀원 모두의 작업물이니 이런 부분들이 생길 수밖에는 없다고 생각한다. 어쨌거나 협업을 하게 되면 자주 겪을 것 같다. 발표자료를 만드는데에 시간을 쓰는 것도 조금은 아쉽긴 하다. 이번주에 챌린지반 과제도 전혀 하지 못했다. 협...
오늘은 어제에 이어서 merge했던 개인작업들을 연결해주는 작업을 했다. issue 오늘 했던 일이다. 일단 어제 하다 말았던 intent값 전달을 완료했다. 다같이 화면공유로 코드를 보며 코드를 작성했다. 회원가입 페이지에서 입력한 이름과 아이디 등 여러가지 값을 데이터 클래스에 저장해둔 뒤 putExtra로 메인페이지에 보내고, 그걸 메인에서 받...
오늘은 조별과제에서 역할분담 부분을 마무리하고 merge를 진행하게 됐다. 중간에 국취제 상담 때문에 자리를 비워야했는데 오전부터 하나둘 개인이 맡은 부분을 완성한 팀원들이 pr을 하기 시작하면서 나도 빨리 끝내고 가야겠다는 생각을 했던게 문제의 시작이었던 것 같다. 어쩌면 애초에 pull requests라는 과정을 오인하고 있었던 것이 잘못이었는지도 ...
만우절 기념으로 작성을 생략하겠다. 그러고 싶다. 안타깝게도 만우절은 공휴일이 아니고 나는 쉴 수 없다. 정말 거짓말 같은 이야기다. 오늘은 팀프로젝트 발제가 있던 날이다. 나에게 팀플이란 대학시절 망해버린 조별과제 이후로 존재하지 않던 것이다. 솔직히 걱정이 많이 되었다. 심지어 익숙하지 않은 도구들을 활용해야만 한다는 어려움까지 추가가 된 ...
챌린지반 과제를 하려고 했다. 그 말은 다 못했다는 뜻이다. MVVM 패턴을 시도해보려고 했는데 라이브데이터니 옵저버니 뭐니 뭐가 뭔지 감을 하나도 못 잡겠어서 한창을 화면을 노려만 보다가 넉다운했다. 사실 집중이 너무나도 안됐다. 왤까? 무언가 새로운 기능이 아니라 기존 틀을 바꾸는 거라서 의욕이 나지 않았던 걸까? 모르겠지만 어쨌거나 오늘 찾아봤던 내...
오늘 드디어 챌린지반 수업을 들었다. 월요일에 무리를 해서라도 들을 걸 그랬나 싶었다. 조금이라도 이 알 수 없는 얘기를 빨리 들었더라면 머릿속에서 알 수 없는 화학작용이 일어나서 조금이라도 빨리 이해가 되지 않았을까 하는 알 수 없는 아쉬움이 들었던 것이다. 어쨌거나, 난 대략적으로 이해를 한듯 만듯 하기 때문에 뭐라도 정리해보려고 오늘의 주제로 정해보...
stack stack에 대해 잘 설명해둔 포스팅이 있어 가져왔다. toIntOrNull 정수형으로 변환이 불가능하면 null을 반환함. Int? 형이 됨 toString(n), toInt(n) toString(n)은 앞의 값을 n진법으로 바꾸어 String형으로 바꾼다. toInt(n)은 앞의 값을 n진법으로 읽었을 때 10진수의 값을 반환한다. do...
어제는 장염에 걸려 드러누워 있느라 공부를 하지 못했다. 평일에 누워있던 건 제법 오랜만이었던 것 같다. 어쨌거나 그런 덕분에 안타깝게도 챌린지반 수업을 실시간으로 듣질 못했다. 과제도 있었는데 내용을 모르니 영 감을 잡기가 어려웠다. 그래서 원래 오늘 오전에 강의를 보려고 했는데 녹화본이 아직 올라오지를 않아서 볼수가 없었다. 그래서 오늘은 주말과 공가...
이번주 내내 문법에 매달리다보니까 초에는 앱개발 강의를 제대로 듣지를 못했었다. 키오스크 만들때 시간에 쫓겼던 기억에 불안해져 문법을 대강 마무리짓고 강의를 듣기 시작했다. 다행히도 온보딩 주차 때 진행했던 강의에서 다뤘던 내용들을 되짚고 넘어가는 느낌이어서 그런지 강의를 따라가는 게 어렵지가 않았다. 물론 헷갈리고 어려운 개념은 있었지만 일단 실습을 하...
오늘은 앱개발 입문 강의를 마저 듣고 실습을 해봤다. 확실히 실습을 하니까 조금 재미가 붙는것 같다. 일단 흐름만 대강 이해하고 과제를 시작하면서 익히기로 했다. 과제 1단계 체크리스트 [x] 새 프로젝트를 만들고 MainActivity의 이름을 SignInActivity로 바꿔주세요. [x] 로고 이미지는 원하는 이미지로 넣어주세요. [x] 아이...
mapIndexed() mapIndexed는 특정 iterable을 대상으로 map 연산을 할 때, 원소 뿐 아니라 해당 원소가 갖고 있는 인덱스를 함께 묶어 매핑하게 해주는 함수라고 한다. 어떠한 리스트에 mapIndexed 연산을 수행하면 리스트의 원소와 각 원소가 갖는 인덱스를 받아 람다식으로 표현한 함수를 대입한다. parseInt() Intege...