본문 바로가기

프로그래밍/Android131

[Android] Retrofit 어노테이션별 의미 @Path와 @Query의 차이점 @Path: path variable을 위함 api/member/{username} @Query: query parameter 위함 api/member?username= @Field와 @Query의 차이점 @Query:사용시 파라미터를 url 뒤에 붙여서 전달하는데, 유저들에게 쉽게 노출된다. @Field: 보안을 위해 url 뒤에 붙이지 않고, 파라미터를 숨긴다. (@FormUrlEncoded 사용) stackoverflow.com/questions/57848058/what-is-the-difference-between-field-and-query-in-retrofit What is the difference between @Field and @Query in retr.. 2022. 8. 17.
[Android] 리사이클러뷰(어댑터) 합치기 ConcatAdapter 하나의 RecyclerView 에 여러개의 Adapter 를 연결해서 구현을 가능하게 해주는 ConcatAdapter. 예를 들면, HeaderAdapter, ContentAdapter, FooterAdapter 이렇게 3가지 어댑터를 연결해서 하나의 리사이클러뷰로 표현이 가능합니다. 기존에는 하나의 Adapter 에 뷰타입으로 레이아웃을 다르게 생성해서 사용했는데, 따로 나누어서 할 수 있기 때문에 나중에 다른곳에서 재활용이 가능한 장점이 있을것 같습니다. ​ val headerAdapter: HeaderAdapter = ... val contentAdapter: ContentAdapter = ... val footerAdapter: FooterAdapter = ... val concatAdapter .. 2022. 7. 31.
[Android] holder.getAdapterPosition의 Deprecated 개요 RecyclerView의 ViewHolder의 getAdapterPosition() 함수가 Deprecated 됐다. 어떻게 변경하면 되는지 알아보자. 안드로이드 개발자 사이트 설명 getAdapterPosition() 메소드는 Adapter가 다른 Adapter를 중첩하는 경우 어느 adapter의 위치인지 혼란스러워 아래의 두가지 방법으로 호출하도록 하고 있습니다. getBindingAdapterPosition() - Adapter내의 위치를 반환 getAbsoluteAdapterPosition() - RecyclerView에서의 위치를 반환 한 Adapter를 사용하여 RecyclerView를 이용한다면 위 두 메소드는 같은 값을 반환한다. 하지만 ConcatAdapter로 여러 Adapter.. 2022. 7. 31.
[Android] 키보드로 EditText 아래 객체가 가려질때 해결법 분명히 잘됐는데 코드를 수정하다보니까 안된다.. 아래방법대로 하는게 아닌듯 뭐가 문제인거지 아래 화면은 필자가 만든 앱의 회원가입 화면이다. 아래 화면에서 비밀번호 확인을 눌러보겠다. 비밀번호 확인을 눌렀더니 아래 화면과 같이 가입하기 버튼이 사라져서 사용자가 키보드를 닫은 후에 가입하기 버튼을 클릭해야 하는 불편함이 생긴다. 하단에 코드를 넣겠지만, 필자는 ScrollView를 이용하였지만 자동으로 스크롤 되지 않았다. 그 이유는 무엇일까? 아래 코드는 위 회원가입 페이지의 XML 코드이다. 분명 ScrollView를 사용했음에도 자동으로 스크롤되지 않았다. 왜냐하면 ScrollView를 사용했지만 ScrollView의 크기가 작아 한 화면에 모두 담기기 때문에 자동으로 스크롤되지 않기때문이다. 더보기.. 2022. 7. 30.