본문 바로가기

전체 글

(61)
본 캠프 62일 차 - 최종 프로젝트 시작 브레인 스토밍 처음에 챗 GPT를 이용해서 OCR(광학 문자 인식)로 사진 찍었을 때 텍스트로 인식 해 주는 기능을 활용하여 학습 보조앱, 맛집, 쇼핑 등이 나와서 튜터님께 검토 받으러 갔으나 1번은 혼자서도 가능하고 나머지는 시중에 너무 많이 있으니 다른걸 해보는게 좋다고 해서 더 생각해 보기로 했다. 우선 OCR이나 이런건 모르겠고 중간에 펠월드 얘기가 나와서 그쪽으로 갈 수있나 하고 찾아 보았는데, 펠월드 공략 앱 만드는 게 수익을 내는 목적이 아니고 2차 창작물을 만드는게 아니라면 통보 없이 사용해도 되는 저작권이라고 쓰여있었다. 다만 공략앱이 없긴 했으나 이걸 만들려고 하면 우선 각 블로그에 퍼져있는 정보들을 들고와야하는데 이게 저작권에 걸리지 않을까 싶어서 일단 패스. 그러고 나서 공공데이터를..
본 캠프 61일 차 - 팀 프로젝트 발표회 팀 프로젝트 발표회 8조 : 바텀네비 커스텀, 무한스크롤, 뷰페이저, 공유, 쇼츠영상,재생 바, 스피너, 정렬, 검색 결과는 룸에 캐시로 저장해서 일정시간동안 api 호출하지 않고 그냥 불러 올 수 있음, 구글 로그인, 최근 본 영상 가로 스크롤 정렬 바텀네비에 액션을 주고 백스택 관리 -피드백 : 네비게이션바 커스텀 잘했다, 댓글 기능 잘했고 디자인도 비슷했다, DB해서 캐시를 일정시간만 하는거라 이건 괜찮은거 같다, 구글로그인으로 뭘 가져올게 더 있나?, 다이얼로그 관련해서 트러블 -> 어떤걸 썼는지 모르겠지만 다이얼로그 프래그먼트를 쓰면 사용하기 편하고 버그도 해결 될 것이다, 기존 유튜브랑 크게 다리지 않아서 창의성이 아쉽다,\ 이력서에 쓰기 좋은 기능들을 잘 만들었다 느낀점 제외해도 된다, 전체..
심화 팀 프로젝트 - 삭제할 거 백업용 class SearchAdapter : ListAdapter(diffUtil) { companion object { val diffUtil = object : DiffUtil.ItemCallback() { override fun areItemsTheSame(oldItem: SearchItem, newItem: SearchItem): Boolean { return oldItem.id == newItem.id } override fun areContentsTheSame(oldItem: SearchItem, newItem: SearchItem): Boolean { return oldItem == newItem } } } fun clearItem() { currentList.clear() notifyDataSe..
본 캠프 57일 차 - 팀 프로젝트 Search 기능 구현하기 youtube api를 통해 가져올 데이터를 데이터 클래스로 만들기 SearchViewModel을 만들어서 api를 통해 데이터 가져오는 함수 만들기 SearchAdapter 만들기 SearchFragment에 adapter와 viewmodel을 연결시키기 view에 가져온 데이터들을 눈에 보이게 만들기 문제1 저번에 개인과제를 진행 할 때는 가져온 데이터를 따로 내가 만든 data type에 끼워 넣어서 이걸 어댑터에 연결하여 표시하였는데, 이번에는 팀원들이 그냥 가져온 데이터 그대로 써도 될 거 같다고 해서 그대로 써보기로 했다. 첫 난관은 ViewModel에 있는 LiveData에 어떻게 집어 넣는지부터 시작 그런데 그냥 가져온 데이터를 여기서 내가 필요한걸 뽑는게 아니라..
본 캠프 55일 차 - 팀 프로젝트 시작 수정 중
본 캠프 54일 차 심화주차 팀 프로젝트 시작 피그마 작성 역할 분담 convention 앱의 목적과 이름 선정 역할 : SearchFragment 앱의 목적 : OTT서비스와 같이 유튜브의 인기 컨텐츠들을 종합해서 원하는 카테고리별로 한눈에 확인할 수 있는 서비스 앱의 이름 : 튜브링띵 -> tube(텔레비전 등의 뜻) + Everything(모든것) Codeconvention Class 이름: PascalCase (대문자로 시작하는 UpperCamelCase 명사로 짓기 해당 클래스가 하는 행동을 표현 ex) funtion 이름: CamelCas 동사로 시작 어떤 행동을 하는지 명시해주는 이름 데이터를 받아오는거는 get, 데이터를 쓸때는 set, 로컬 DB에 저장할떄는 save 사용 View를 초기에 세팅할 경우 in..
본 캠프 50일 차 - 개인 과제 내 보관함으로 서버에서 요청한 데이터 리스트를 클릭을 통해 옮기기 오늘 한 일 api 요청을 통해 가져온 데이터 중 클릭을 통해 메인 액티비티의 아이템 리스트로 보내고 이를 내 보관함에 연결해서 내 보관함에 리스트 띄우기 코드 리펙토링을 통해 코드를 좀 더 간결하고 가시성이 좋게 바꾸기 어제 어댑터에 연결해서 내 보관함에 리스트를 띄우기 위해 메인에 함수를 만들고 로그를 통해 확인 해보았지만 타지 않았던 onclick 되었을 때의 로그에서 이제 리스트를 띄우기 위하여 좀 바꿔보았다. if (items != myList) { (mContext as MainActivity).like(MyItems( items[position].thumbnail_url,items[position].datetime,items[..
본 캠프 49일 차 - substring(),replace(),contains() 개인과제 이미지 검색앱 오늘 한 일 api로 받아온 시간 데이터 보기 좋게 바꾸기 받아온 데이터 누르면 내 보관함으로 갈 수 있게 시도 받아온 시간 데이터 보기 좋게 바꾸기(yyyy-MM-dd HH:mm:ss) 위에 적은 괄호 안에 들어간 형식대로 만들어야 하는데 찾아보니 datetimefomatter를 통해 바꾸려고 시도했다. val dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss") holder.date.text = dateTimeFormatter(items[position].datetime) 위 코드로 시도 했으나 그대로 받아와서 실패... 그래서 retrofit 파일에서 바꿔보는 방식이 있길래 이것도 시도해보았다. var ..