안드로이드와 웹데이터베이스를 사용하는 알고리즘 질문 드립니다.

조회수 466회

안녕하세요. 일주일 조금 넘게 안드로이드와 자바를 하고있는 초보입니다.

지금 웹데이터베이스에서 테이블들을 가져온뒤 데이터들을 조회하는 알고리즘을 만들고 있는데 어려움이 있어 질문드립니다.

================================================================================

시나리오:

1.. 데이터베이스에 2개의 테이블이 있습니다. 예를들어, 유저테이블, 참조데이터테이블

2.. "유저 테이블 데이터 전체의 분포"를 구해야해서, 유저테이블의 데이터 전체를 가져와야합니다.

예를들어서, 모든 유저의 제품A에 대한 평점데이터를 가져와서 분포를 그려야합니다.

3.. 위에서 그려진 분포에서 특정 사용자(사용자 아이디 aabbcc) 의 평점데이터를 가져온 뒤, 전체 분포위에서 표시해야합니다.

4.. 참조데이터테이블을 가져와야합니다. 참조데이터테이블에는 평점이 3점이상이면 "긍정" 같은 기준 데이터들이 있습니다. 그래서 특정 유저 (아이디 aabbcc) 의 평점을 참조 데이터와 비교해서 "긍정", "부정" 같은 반환값을 만들어야합니다.

5.. 위의 작업이 시각화 차트로 나타나야합니다.

================================================================================

제가 시도한 방법 & 어려움

-- 2번의 경우, volley 를 사용해서 테이블을 가져오고 있습니다.

-- volley 에서 void onResponse() 로 현재의 activity 로 "php데이터베이스 연결파일" 을 통해 받아온 json response 데이터를 리턴하기가 어렵습니다. 그래서 해당 activity class 에서 static 변수를 선언한뒤 onResponse() 내부에서 static 변수에 값을 저장했는데, 값이 바로 저장이 안되고, 차트화면에서 다시 "뒤로가기" 버튼을 눌러서 다시 차트화면 (현재 activity 화면)으로 다시 돌아와야 static 변수에 저장된 값이 찍힙니다.

제가 원하는건 volley를 통해, 현재의 activity Java class 로 데이터를 바로 받아와서 자바코드상에서 데이터를 쓰는것입니다.

-- 또한, 테이블 두개 (유저테이블, 참조데이터테이블) 을 현재의 activity로 가져와야합니다. 이건 volley 구문을 두번 사용해야 하는것 같은데, 위의 문제 (뒤로 갔다가 다시 현재의 activity 로 돌아와야 static 변수에 값이 저장되는 현상)가 해결되면, volley 구문을 두개의 테이블을 가져오기 위해 각각 실행하고, 그 각각의 실행에서 static 변수에 값을 저장하면 될것이라고 생각합니다.

-- 위의 방법처럼 유저테이블의 데이터를 다 가져오면 안드로이드폰에서 데이터베이스를 다 다운로드 받는건데, 사용자의 안드로이드폰에서 데이터 기록이 남는것인가요? 자바 코드상에서만 데이터를 불러오고 앱이 종료되면 스코프가 종료되어 데이터가 사라질 것으로 생각하는데, 이런 방식에서 잠재적인 보안 문제는 없는지 궁금합니다.

-- 제가 위의 방법에서 어떤걸 잘못하고 있는지, 혹시 시나리오를 구현하기 위해 더 좋은 방식이 있다면 조언 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)