본문 바로가기

Development/JAVA 앱 개발노트

(13)
(My Voca) Day 19. 개발일지 1. 문제 발생 - Javascript 동적페이지에서 크롤링은 Jsoup으로는 불가능하다........ (맨땅에 헤딩이다보니 누군가에게는 기본적인 지식이겠지만 이런 것 조차 모르고있었다는게 너무 부끄럽다.......이 무지는 어느 단계에서 해결되었어야 하는지 조차 알 수 없는게 조금 답답하다...) 2. 해결방법 및 단점 - 사전기능을 원천 삭제(없애기는 너무 아쉬운 기능) - 동적페이지 크롤링 가능 옵션 서칭(아직 한 가지만 알아봤지만 selenium의 경우에는 웹페이지를 제어하여 상호작용하는 방식이라 앱이 무거워지거나 느려질 수 있을 것으로 생각됨) - 정적페이지 사전웹페이지를 서칭(제일 간단한 방법이기는 원하는 정보가 한 페이지에서 모두 나오지 않는 사이트가 대부분임) - Chat-GPT 사용 (g..
(My Voca) Day 18. 개발일지 1. 기능구현 1) 크롤링 기능 구현(Jsoup을 사용, Dictionary class로 구현) - 소스코드 저장, 각 컬럼에 해당하는 정보를 가져와 저장 - 뷰어에 적용(여기서부터 빌드 필요) - 복수의 정보 클러스터가 발겨될 경우 팝업의 디테일 정보를 투영할 뷰어를 복사하여 같은 형식으로 반복되도록 구현 2) 데이터베이스 저장 및 불러오기 - 팝업의 디테일 정보를 투영한 뷰어에 저장 버튼을 구현 - DB에 저장된 데이터들을 가져와 2way로 연결 필요(1. voca 2. test) 2. 추후 과제 1) 뷰어 설정 : 검색 결과는 리스트 뷰어로 추가 완료했으나 recyclerView 기반의 새로운 activity를 빌드해야 함, 팝업창 구조는 대강 완료되었으나 저장 및 끄기 기능이 구현 필요 2) 새로..
(My Voca) Day 17. 개발일지 1. 현재 진행 상황 1) ViewPager2 기능 구현 완료 2) 데이터베이스 테이블 구조 완료 2. 남은 단계 1) jsoup을 이용한 데이터 수집 2) 데이터베이스에 저장된 데이터를 불러와 활용 3) 저장된 데이터를 불러와서 추천하는 알고리즘 구상 3. 진행 예정 사항 1) jsoup을 이용한 구현 방법 학습 2) searchview와 연결 3) 검색된 데이터 출력 레이아웃 (저장버튼 포함) 4) 데이터베이스의 데이터 뷰어 구현(=단어장, 직접 저장기능 및 데이터 삭제기능 포함) 4. 추후 진행 계획 1) 예문도 크롤링? or 자동 생성? 2) 시험 문제 생성 구조 구상( X3 ) 3) 시험 결과 저장 및 시각화(통계) 4) 통계 기반 추천 알고리즘 구상
(My Voca) Day 16. 현재 문제 상황 1. 해결사항 - 의외로 searchview는 원하는 모든 기능을 다 가지고 있었다. clearEditText 구현, 버튼을 누르면 searchView가 나타나게 하는 기능 등 전혀 따로 구현할 필요가 없었다. - 버튼을 누르면 searchView뒤의 toolbar의 title이 겹치는 현상을 가시성 조절을 통해 해결했다. - actionbar보다는 toolbar가 더 커스텀 하기 편한 것인지 대부분의 자료가 그렇게 하도록 유도하여 일단은 따라서 기존의 문제들을 해결했다. (더 정확한 이유를 알 필요가 있음) 2. 새로운 해결 필요 문제 - 검색 버튼이 좌측에 있는 문제 - searchView가 toolbar영역만큼 커지지 않는 문제 3. 다음 구현 필요 사항 - 검색어 추천기능 구현 - 크롤링 기능과 ..
(My Voca) Day 15. 현재 문제 상황 1. 현 상황 - 원래 FloatingActionButton을 눌러 버튼 배경도형이 넓어지면서 검색창이 나올 수 있도록 하려고 했으나 버튼 자체를 커스텀할 수는 없어서 유사기능을 가지는 버튼을 만들었어야하는데, 그러면 시간적으로 너무 오래걸려 toolbar에 검색버튼을 올리기로 함 2. 문제점 - 버튼을 누르면 그냥 바로 searchview가 나오도록 하려고 했으나 지난 문제와 같이 버튼을 한번 더 눌러야 editText기능이 실행됨. - 눌러도 Toolbar Title에 가려져서 가시성에 손실 - 기존 툴바가 남아있는 상태로 아래에 툴바가 새로 생김(원인 불명) - 해결 과제1: 위 세 가지 문지 - 해결 과제2: 크롤링 기능을 가져와서 검색을 누르면 해당 단어에 대해서 크롤링을 할 수 있도록 하는 방..
(My Voca) Day 14. 현재 문제 상황 SearchView를 사용하려고 했는데 다음과 같은 문제가 발생했다. 1. FloatingActionButton을 누르면 배경인 원이 넓어지면서 내부에 EditText가 떠야하는데 도형 뒤에 실현됨 2. FAB를 누르면 바로 ET가 떠야하는데 안뜨고 다른 버튼을 눌러야만 ET가 뜸 이 두 가지를 해결하고 나면 RecyclerView 또는 Crawling 기능을 구현해야함 - MainActivity package com.example.myvocaproject; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import androidx.core.content.ContextCompat; import and..
(My Voca) Day 14. 사전기능 및 시험문제 만들기 기능 구현 1. 사전API - 사전 api는 사실상 유료가 대부분이며 무료인 경우에도 예문 등을 재구성하여 2차 창작물을 만든 경우 저작권에 문제가 생길 수 있음 - 따라서 사전기능은 정보를 저장하여 내용에 대한 수정은 없이 저장만 가능하도록 함 - 사용 예정 사전 api: 한국어기초사전 api 2. 문제 만들기 1) O, X 문제 만들기 - ArrayList에서 문제 생성을 위해 사용될 단어와 뜻을 가져옴 - 단어, 뜻, TF여부를 전역변수로 지정 - generateQuestion을 통해 문제 생성 틀을 지정 - 단어 가져오기 > 정답을 가져올지 오답을 가져올지 설정 > 클릭 이벤트 처리 대기 - rendomQuestion을 통해 랜덤한 문제 생성(총 문제 20개를 지정한다면 20개의 문제를 우선 생성 후 정답을..
(My Voca) Day 13. V2 기록 1. 전체 수정 1) 수정 전 - 데이터 입력: 사용자가 직접 입력, 사전 검색 후 검색 내용 저장(문제점: 사용자 입력단이 복잡) - 통계: 데쉬보드형 통계를 직접 보여주고 학습 방향성을 제시(문제점: 사용자 관점에서 효율성 저하 및 이탈 상승) - 엑티비티 구조: 4개 엑티비티 전체에 무게를 부여하고 각 엑티비티 하위에 서브엑티비티까지 구성 2) 수정 후 - 홈 화면에 나머지 엑티비티 통합 정보 게시 - 데이터 입력: 사용자는 직접 입력하지 않고 무조건 사전을 검색 후 검색 내용을 저장하여 일관적인 데이터 수집 - 통계: 데쉬보드는 유지하되 설정 중 하나로 묶고 참고용으로만 제공, 홈화면에 통계를 기반으로 한 학습을 선택할 수 있도록 하는 데이터로 사용 - 엑티비티 구조: A, B입력을 통합하여 버튼..