✍🏻 요구사항 분석 내가 구현하고자 한 것은 여러 EditText의 값이 모두 채워지면 하단 버튼이 활성화되도록 하는 것이었다. 구현 코드는 아래와 같다. 💻 구현 코드
화면 이동할 때 쌓여있는 모든 Activity, Fragment의 스택을 없애야 할 때가 있다. 이를테면 로그아웃 후 로그인 화면으로 돌입해야하는 상황처럼 말이다. 나는 처음에 무작정 쌓기만 하고, 이를 없애는 방법을 알지 못했다! 그래서 각각의 경우를 오늘 정리해보려
디자인 상에서 다이얼로그는 아래의 세 가지 형태였다.디자인을 적용해야 했기에 커스텀 다이얼로그를 만드는 건 확정이었고,팝업 다이얼로그를 띄워야할 곳이 상당히 많았기에이 세 가지 경우마다 각각의 파일을 만들어주기 보다는 모두 하나의 파일에서 해결하고 싶었다.구현 코드는
서버에서 받는 값은 전체 리스트밖에 없었고, 서버 통신으로 받아온 정보를 담은 리사이클러뷰의 아이템을 클릭하면 조회한 데이터를 넘겨 수정 화면에 불러와야했다.위의 사진을 보면 아마 이해가 더 쉬울 것이다.리사이클러뷰 아이템 2개 중에서, 아래를 클릭하면 제목, 카테고리
아래와 같이 카테고리 란을 클릭할 때, 각 카테고리가 펼쳐지는 드롭다운 형태의 뷰를 구현해야했다. 드롭다운 자체를 써 본 적이 없지만, 특히 이런 경우에는 어떻게 구현해야할지 감이 잘 오지 않았다.결국 나는 ListView에 데이터를 넣어서, 클릭했을 때 접었다 펴는
나는 여태까지 한 번도 리사이클러뷰에 StaggeredGridLayout을 쓴 적이 없었는데, 해커톤에서 마주한 화면은 이를 사용해서 만들어야 했다. 해커톤이 사실 시간에 쫓기기도 했고, 계속 구현해본 코드만 가져다가 쓰다가 처음 하려니까 걱정도 많이 됐다. 내가 걱정
해커톤에서 아래와 같이 클릭할 때마다 배경이 노란색이 되는 바텀네비를 만들어주어야 했다.아래처럼 선택했을 때와 선택하지 않았을 때의 아이템 이미지를 각각 넣어준다. 아이템 개수만큼 넣어주면 된다.1에서 추가한 선택했을 때와 아닐 때의 이미지를 각각 넣어주고, state
한 번도 앱 키 관리를 해본 적이 없었는데.. 깃허브 레포를 public으로 돌리려면 아무래도 history에 앱 키가 있으면 꺼려져서 방법을 찾아보게 되었다. 나는 카카오 앱 키를 숨기는 방법을 찾아보았다..gitignore에 String이 있는 xml 파일을 추가해
✍🏻 요구사항 분석 앱 내에서 기본 카테고리가 여러 개 있고, 그 카테고리에 맞는 색과 이미지도 있었다. 이를 하드코딩으로 color, string, drawable 리소스를 각각 참조했었지만 카테고리에 대응하는 배열을 만들어서 쓴다면 유지보수에 편할 것 같았다.
이는 G.IT 와글와글 해커톤 때 있었던 해프닝을 정리한 글입니다.해커톤의 주제는 '학교 생활과 접목하는 IT'였다.우리팀은 항상 수업만 들으러 다니고, 학교를 잘 걸어다니지 않는 학생들을 위해 매일 3개씩 학교 안에서 할 수 있는 미션을 제공하고, 만보기를 통해 경험
이런 식으로 "2023-01-01", "2023-01-02" 식으로 날짜를 key로, 투두 정보를 body로 하는 데이터를 꺼내 리사이클러뷰에 보여줘야하는 상황이 생겼다. 심지어 날짜가 여러 개 있을 수 있고, 그 날짜마자 투두 정보가 있어 이중 리사이클러뷰를 써서 구
이런 식으로 알림 시간을 설정해줘야 했는데,오전/오후1시 ~ 12시00분 or 30분으로 설정되어야 하는데, 그러려면 넘버 피커가 3개 필요했다. 스타일도 설정해줘야 해서 꽤 힘들었던 기억이 있다.알림 기본 시간은 hint로 표현했는데, 이 또한 hint 텍스트를 읽어
프래그먼트 전환을 할 때, 클릭한 앨범 정보를 다른 프래그먼트로 넘겨서 보여줘야 했다.사진까지 넘겨주고 싶었는데, 어떤 사진이 있을지 모르니까 리소스를 넘겨주는 것보다는 이미지뷰의 이미지를 직접 넘겨주는 방법을 찾아보게 됐다.어쨌든 성공은 했고, 나는 이미지 리소스를
만들고자 하는 토글 버튼은 위와 같았다.iOS 기본 버튼이랑 비슷한 느낌이어서 라이브러리를 가장 먼저 찾아봤지만, 토글 여부에 따른 값을 받아오는 것이 내 생각대로 안 됐던 거 같다. 그래서 결국 직접 구현하고자 했다.select일 때와 아닐 때의 색을 다르게 해준다.
위와 같이 기본 색상과 팔레트 색상이 구분되어있는 것에 대해, 체크 표시는 전체에서 하나밖에 가능하지 않아 이를 구분해주어야 됐다.사실 위의 기본 색상 4개와 팔레트 색상 10개는 모두 수가 고정되어있긴 해서 둘 다 그냥 하나의 위젯으로 구성해도 됐을 거 같지만.,,
A 프래그먼트 -> B 프래그먼트로 이동할 때 스택을 쌓았다가B에서 뒤로가기 버튼을 누르면 다시 A로 돌아올 수 있도록!일종의 백스택이라고 보면 된다.👉🏻 화면 이동 및 백스택 관리해당 게시물에 이어서 작성하는 내용이다.이런 식으로 작성해주고 나면, 스택에도 더 이
개발을 하다 보면 화면을 이동하면서 데이터를 전달해야하는 경우가 굉장히 많다!오늘은 이 부분에 대해 다뤄보려고 한다.Intent를 이용해서 데이터를 전달할 수 있다.intent에서 데이터를 꺼내서 저런 식으로 넣어줄 수 있다.Bundle를 통해서 데이터를 전달할 수 있
화면을 이동할 때는 데이터를 넘겨주는 방법이 많다.그렇다면 화면을 이동하고 다시 돌아올 때는 데이터를 넘겨줄 수 없을까?오늘 다룰 부분은, 이를 가능하게 하는 registerForActivityResult이다.MainActivity -> SongActivity로 이동하
이런 식으로 가운데에 플로팅 버튼이 박힌 바텀네비게이션을 만들고 싶었다.처음 만들어보는 거라 많이 걱정됐지만, 되게 좋은 자료가 있어서 생각보다 쉽게 만들 수 있었다.바텀네비게이션을 만들기 위해 꼭 필요한 작업이다.바텀네비에 총 아이콘이 2개 들어갈텐데, 가운데는 플로
안드로이드 스튜디오에서 JDBC driver를 이용해서 MySQL 연동하기 ‼️ 왜 이런 해괴한 방법을 썼냐면.. 전공 팀플로 "MySQL과 프론트를 어떻게든 연결해서 인스타 or 트위터를 만들어라!"라는 주제가 떨어졌기 때문이다. 팀원 중에서 서버 배포를 해본 사람
안드로이드 스튜디오에서 JDBC를 이용해 MySQL 연동하기!그 두 번째, 폴더 구조화 내용이다.👉🏻 첫 번째: 안드로이드 스튜디오에서 JDBC를 이용해 MySQL 연동하기 (1/3) - 세팅편민감한 서버 정보가 들어있을 수 있기 때문에 DB 정보는 시크릿으로 깃이
학교 수업에서 요구한 기능은 다음과 같았다. [필수 기능] 1. 회원가입 2. 팔로잉/팔로워 기능 3. 비밀번호 변경 회원가입 - insert 팔로워, 팔로잉 목록 조회 - select 팔로잉하기 및 취소 - insert & delete 비밀번호 변경 - update
이번에 프로젝트에서 업데이트 된 기능을 구현해야 하는 중, 기존에 뷰 안에 위치한 목표 추가 버튼을 플로팅 버튼으로 바꿔야 했다!플로팅 버튼은 화면 위에 항상 떠 있는 버튼이어서, 스크롤의 영향을 받지 않는다는 점이 큰 장점인 것 같다.코드는 복잡하지 않다.icon 속
프로젝트 디자인 중, 카테고리 이름을 탭으로 보여주는 부분이 있었다.이 사진처럼선택되지 않은 탭 아이템: 회색 테두리 + 회색 글씨선택된 탭 아이템: 흰색 배경 + 검정색 글씨로 표시해주어야 했다. 또한, 탭 아이템의 텍스트들은 앱에서 쓰는 카테고리 이름을 넣어주어야
개발을 준비하고 있는 여행 관련 프로젝트에서 다음과 같은 두 가지 사전 과제를 요구받았다. 1. 백그라운드에서 실시간으로 사용자의 위치를 받아올 것 2. 지도에 사용자의 위치를 선으로 연결해서 보여줄 것 아직 개발을 본격적으로 시작하지는 않았지만 서비스에
✍🏻 요구사항 분석 오늘 날짜가 2022년 6월 10일이라고 하고(실제로는 24년 2월이지만), 위의 사진을 살펴보면 주간 달력의 요구사항은 다음과 같다. > [ 🗓️주간 달력🗓️ 요구사항 ] 달력 표시 처음 들어갔을 때는 현재 날짜를 선택 오늘 이후의 날
지난 편이 xml을 다룬 내용이었다면, 이번 편은 로직을 구현한 코드를 말해보도록 하겠다.👉🏻 지난 편: \[Android/Kotlin] 라이브러리 없이 주간달력 구현하기 (1/2) - xml 편구현해야 하는 기능을 리마인드 하자면,🗓️ 주간달력 요구사항 주간
백그라운드에서 위치 정보를 가져오고, 네이버 지도를 통해 사용자의 실시간 위치를 받아오는 방법에 대한 내용입니다.
화면의 비율에 맞춰서 위젯을 배치하려면(ex. 이미지가 가로의 80%를 차지)레이아웃에 넣어야하는 이미지의 가로, 세로의 비율이 정해져 있다면위 상황에 써먹을 수 있는 방법이다.화면 사이즈에 맞춘 이미지를 보여주어야 하는 상황에서는 width와 height의 사이즈를
🤔 시작하기에 앞서 캘린더 앱을 만드는 프로젝트를 하면서 색을 정말 많이 다뤘다 (거의 캘린더에서만 생각한 부분인 것 같다). 특히 리사이클러뷰를 이용해 색을 넣어줘야했기 때문에 xml이 아닌 코틀린 파일에서 색을 다뤘어햐 했다. 따라서! 오늘은 색상 및 리소스 변경
위 사진처럼 화면의 남은 공간에 따라 아이템을 배치해주어야 하는 필터 화면을 요구받았다.위젯 하나하나를 만들어 넣자니 옵션의 변동 가능성을 너무 고려하지 못하는 느낌이라어찌되었건 리사이클러뷰로 만들어야겠다는 생각은 하게 되었다.어떻게 구현해야할지 고민하던 중, 같은 팀
아래처럼 5분 간격의 타임 피커를 만들 것을 요구받았다.다만, 구현 시간 상 디자인은 네이티브 기본 디자인으로 구현해도 된다고 했다.그래서 TimePicker를 커스텀해서 5분 간격을 가지게끔 만들고자 했다.(예전에는 뭣도 모르고 NumberPicker를 일일이 수정해
앱 내에서 사용되는 문자열을 strings.xml에 미리 저장해놓으면 중복되는 텍스트를 쉽게 관리할 수 있고, 하드코딩도 줄일 수 있다는 장점이 있다. 그렇지만 어정쩡하게 활용하면 안하느니만 못할 수 있다. 문자열 안에 변수를 어떻게 넣고, 데이터바인딩을 어떻게 적용할
매우매우 삽질했던 이야기...... 카카오맵 자체에서는 기본적으로 지원하지 않는 기능인 거 같아 많이 헤맸었다.디자인을 보면서 지도에 나타낼 것을 생각해보자.지도에는 아래 정보를 표시해야 한다.지나온 루트를 선으로 연결해주어야 한다.활동을 순서대로 마커로 표시해주어야
오늘은 카카오맵을 사용하던 프로젝트에서 SDK 버전을 업데이트 했던 경험에 대해 이야기해보려 합니다. 기존 코드에서 코드가 어떻게 변경되었는지에 대해 다뤄볼게요! 지도를 표시하고, 지도에 마커를 나태내는 것까지 모두 다룰 예정입니다.
디자인으로 위와 같은 달력 구현을 요구받았다.화면에서는 바텀시트처럼 띄워줘야 했다.커스텀을 위해 MaterialCalendar 활용 대신 직접 구현하는 방식을 택했다.PM과 논의한 결과 월, 년도 선택은 나중에 구현하기로 했고, 일 선택 화면만 우선 구현하기로 했다.그