프로젝트레알

이제 거의 끝나간다. 이 어플리케이션은 알람을 설정하고 녹음 길이를 설정해 두면 알아서 녹음되는 앱이였다. 오늘은 재생 탭 작업을 했는데, MediaPlayer는 재생 완료 시에도 항상 currentPosition < duration이라서 seekbar가 끝까지 가지 않았다. 그런데 Facebook 커뮤니티에서 Exoplayer를 추천해주셨다. Exoplayer는 이미 YouTube 등 각종 어플리케이션에 이미 사용되고 있었다. 덕분에 제대로 재생이 가능해졌다. 그리고 이번 커밋에는 다크 모드, 그리고 색을 지정해 주었다. 초록과 붉은색은 가장 처음 만들었던 숫자야구 앱, '넘베이스'의 색을 그대로 따 왔다. 이제 로고 작업, 온보딩 작업 정도만 하고 그만 하련다. 거의 끝냈다. 마저 끝내야지. 힘들다...
오늘은 많은 작업을 한 날인데, 먼저 녹음 중단 시 기존 내용을 삭제할 수 있는 다이얼로그를 만들었다. 그리고 라벨이 있으면 라벨명_시간, 없으면 그냥 시간만 표시하는 걸로 대충 해 두었다. 아직 녹음 화면은 좀 다듬을 게 많은데 (너무 여백의 미다) 솔직히 말해서 굳이 넣을 요소도 없다. 사실 녹음 탭도 딱히 필요는 없다. 오늘 작업의 핵심은 재생 탭인데, 이 역시 아직 다듬을 구석이 많다. 재생 탭은 보는 방법을 두 가지로 할 생각인데, 라벨별 분류와 시간 순 분류로 할 것이다. 현재는 라벨별 분류만 해 놨는데, 이중 RecyclerView를 통해 구현을 해 두었다. 라벨 / 갯수, 최근 녹음 날짜(최근이라는 말을 UI에서 빠뜨렸다)와 아래에 해당 녹음 파일을 보여주는 형식이다. 굳이 아래에서 라벨을..
톡방의 피드백으로 요일 글자 색을 바꾸었다. 선택했을 때는 흰색으로. 다크 모드에서는 어떻게 해야 되려나? 그리고 녹음 탭에서 UI를 약간만 구현했다. 오늘은 다른 일이 있어서 거의 개발을 하지 못했다. 핵심 기능도 구현했으니 쉬엄쉬엄 하고 있는데, 어쨌든 녹음 일시정지가 API 24부터 된다. 근데 minSDK가 23이라서 23 마시멜로우 버전에서는 어떻게 해야될 지 모르겠다. #개발일지 #4일차 #프로젝트레알 #1인개발
드디어 알람 반복이 된다. 원래는 AlarmManager.setRepeating을 이용하려고 했는데 죽어도 안 돼서 활동하고 있는 안드로이드 개발자방의 개발자분의 조언을 듣고 알람 생성 -> 서비스 시작 -> 서비스 안에서 그 다음 알람 생성 -> 하는 식으로 반복을 하기로 했다. 반복할 때 시간을 설정하는 로직은 이렇게 했다. for (i in 7 downTo 1) { val day = (dayOfWeek + i) % 7 if (data.repeatDay[day]) { nextAlarmDay = day } } 이렇게 해서 가장 가까이에 있는 미래 반복일을 계산한 다음, 오늘과 같은 요일이 반복일인지도 체크한다. 만약 오늘 날짜에 알람이 있다면, 그리고 현재보다 과거나 같은 시간에 설정이 되어 있다면, ..
텍스트 색을 재지정했다. 원래는 활성화 시 colorPrimary, 비활성화 시 회색이었는데 잘 안 보여서 검은색과 조금 더 짙은 회색으로 색을 변경했다. 그리고 축약 상태일 때 정보를 더 깔끔하게 전달하기 위해서 ChipGroup과 Chip (태그)를 사용했다. 원래는 아이콘이 없었는데 아이콘이 있어야 정보 전달이 수월할 것 같아서 아이콘을 넣었다. 반복 부분의 아이콘은 반복과 반복이 아닐 때의 아이콘을 구분해야 할 듯 하다. 그리고 앱의 핵심 기능인 알람이 울릴 때 실행하는 기능이 일부 구현되었다. 말을 할 순 없지만, 반복 모드가 아닐 때 (당일 실행 모드)는 제대로 작동하는데 반복 모드일 때는 아무리 테스트를 해 봐도 작동하지 않는다. 같은 pendingIntent, 같은 시간(반복이 당일 요일일..
처음으로 프로젝트 레알에 대해 업로드하게 되었는데, 현재 알람 쪽 UI 및 Database를 작업하고 있다. 클릭할 시 UI가 확장되며, 시간, 기간, 라벨, 반복, 활성화, 삭제 기능이 있는 리사이클러뷰 작업 중이다. 시간, 그리고 기간(Duration)은 클릭 시 TimePickerDialog가 뜨게 되며 각각 12시간, 24시간 모양의 TimePicker이다. 각각 클릭 시 작동은 잘 되고 DB 추가, 수정 및 삭제 작업을 진행하고 있다. #개발일지 #1일차 #프로젝트레알 #1인개발
아이엔 / ienground
'프로젝트레알' 태그의 글 목록