마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DB에 저장된 회원번호 가져오는 방법 질문

0 추천
php와 java언어를 이용하여 게시판 구현에 있습니다. 현재 로그인을 하여 게시글을 작성할 시에 회원번호가 자동으로 들어가게 하고 싶습니다. 검색을 어떻게 해야할지 감도 안 잡혀서 중구난방으로 찾아보니 웹의 경우에는 헤더에 회원번호 등을 담아서 전달하더군요... php도 이러한? 작업이 가능한가요? 그 외의 방법에는 세션을 연결하는 방법이 있던데... 이러한 방법은 DB 테이블을 새로 생성해야하는지도 궁금합니다...

또한 intent.putExtra로 액티비티를 이동하면 해당 로그인 정보가 넘어오는 것이 아닌가요? 이것을 다른 액티비티로도 전달시키고 싶은데... 그럴 때엔 sharedpreferences를 이용하여야 하나요?

세션이나  헤더에 저장하여 보내지 않고도 sharedpreferences에 값을 넣어 게시판을 작성할 때 회원번호가 들어가도록 반영할 수 있을까요? (php단에서 session start로 연결은 해둔 상태입니다만... 이것 또한 안드로이드에서 작업할 것이 있을까요?)

질문이 조금 주절주절인 점 죄송합니다... 검색을 어떻게 해야할지도 감이 안잡혀서 ㅜㅜ 도와주시면 감사하겠습니다...!
살려주세요제발제발요 (670 포인트) 님이 2022년 10월 27일 질문

1개의 답변

0 추천
기본적으로 http(s), rest api의 동작원리를 아셔야 방향성을 제대로 잡으실 것 같네요. 그 부분부터 공부하시기를 권장드리구요.
로그인 성공 시, 서버에서는 토큰을 발행해서  db깉은 저장소에 보관을 하고 모발앱에서는 이걸 보관하셔야 합니다. api를 호출할 때 꺼내서 헤더에 보낼 수있도록 메모리나 db 등에 보관합니다.
서버에서는 토큰자체에 사용자id같은 걸 포함할 수도 있고, db 저장시 사용자id를 같이 저장할 수도 있습니다.
모발에서는 토큰을 SharedPreferences 보관할 지 말지는 본인 선택입니다. 다만 암호화를 하시는게 안전하구요.
로그아웃이나 앱 종료시에는 삭제하도록 하시길 권장드립니다.
그리고 intent에 토큰을 전달하지 마시고 필요한 곳에서 저장한 곳에서 직접 읽어오는게 처리하기에 더 좋습니다.
Api를 호출을 담당하는 클래스는 하나만 두시면 토큰을 헤더에 넘기는 것도 한 군데서 처리하시면 됩니다.
Rest api는 Retrofit이나 volley같은 라이브러리를 사용하는게 정신건강에 좋습니다.
spark (224,800 포인트) 님이 2022년 10월 27일 답변
spark님이 2022년 10월 27일 수정
참고로 세션은 JSP, ASP와 같이 서버 중심의 기술에 사용되는 것이 모발앱은 대부분 세션 대신 토큰을 시용합니다. 모발앱에서 토큰 처리는 웹뷰가 아닌 이상 직접 구현하셔야 합니다
...