본문 바로가기

안드로이드12

[안드로이드] RecyclerView에서 항목 삭제하기 (리스트에서 삭제처리) RecyclerView를 사용하다보면, 중간에 일부 항목을 삭제하는 경우가 있습니다. 서버에서 데이터를 삭제함과 동시에, 앱 UI에서도 삭제처리를 해줘야하는데요. 처리하는 방식은 보통 아래 2가지와 같습니다. 이미 불러온 데이터에서 특정 항목만 리스트에서 제거 서버 재호출하여 리스트 갱신 (refresh) 상황에 따라 저는 두가지 경우를 모두 사용합니다. 이번 포스팅에서는 첫번째 방법으로 처리하는 방법에 대해 알아보겠습니다. 먼저, 특정 항목에 대한 삭제이므로 RecyclerViewAdapter에서 코드를 시작하면 됩니다. 아래는 제가 작성한 코드 중 일부만을 발췌하였습니다. @Override public void onBindViewHolder(final RecyclerView_Holder holder,.. 2019. 5. 21.
[안드로이드] Firebase Cloud Messaging (FCM) 푸시 메시지에 따라 화면 이동하기 앱에 푸시기능을 넣기 위해서는 FCM(Firebase Cloud Messaging) 서비스를 이용해야합니다. 보통 구현하는 기능은 크게 아래와 같습니다. 단체 푸시 알람 개별 푸시 알람 단체 푸시의 경우, FCM이 설정된, 즉 해당 앱이 설치된 모든 유저에게 보내는 알람을 말합니다. 이런 경우, 기본적인 구성 외 별도의 코드 구성은 불필요하며, FCM 사이트에서 직접 푸시를 주는 것이 가능합니다. 개별 푸시의 경우, 특정 디바이스에만 푸시를 보내는 것을 말합니다. 예를들어 도미노 피자를 시켰는데, 남은 시간이 얼마인지 푸시로 알람이 오는 것이 바로 그런 경우에 해당합니다. 개별 푸시는 개별 디바이스의 Token 정보가 필요합니다. 주소를 해당 토큰으로 설정하고, 메시지를 보내면 해당 토큰을 가진 디바이스.. 2019. 5. 21.
[안드로이드] EndlessRecyclerViewScrollListener 적용하기 RecyclerView를 사용하다보면 리스트가 끝없이 이어지는 경우가 있습니다. 서버에서 한번에 모든 데이터를 받아 앱에 띄우기엔 시간이 너무 오래 소요되기 때문에, 보통은 서버단계에서부터 page를 나눠서 관리하는 것이 일반적인데요. 이번 포스팅에서는 서버에서 데이터를 특정 갯수로 분할하여 page식 관리를 할 때, 앱에서 처리하는 방법에 대해 알아보겠습니다. 바로 EndlessRecyclerViewScrollListener를 이용하는 방법입니다. (상세 내용은 여기) EndlessRecyclerViewScrollListener는 사용자의 스크롤이 최하단까지 내려왔을 때, 이를 인지하여 특정 메소드를 실행하는 방식으로 구성되어 있습니다. 아래는 위 사이트에서 가져온 코드 샘플입니다. public cla.. 2019. 5. 21.
[안드로이드] recyclerView에서 Activity로 인텐트 값 넘기기 이번 포스팅에서는 recyclerView Adapter에서 새로운 액티비티를 실행시킬 때, 그 결과값을 받기 위한 방법에 대해 알아보겠습니다. 먼저 액티비티와 recyclerView의 구성은 다음과 같습니다. MainActivity MainFragment RecyclerView Button (onClick 시) NewActivity 다소 복잡해보이지만 아주 일반적인 구성입니다. 액티비티 위에 프래그먼트가 있고, 그 프래그먼트 안에 recyclerView를 활용하여 리스트를 띄웁니다. 각각의 리스트 안에 특정 버튼을 눌렀을 때, 새로운 액티비티를 실행하고, 액티비티가 특정 조건에서 finish될 때(ex. 해당 리스트 삭제) 그 조건 값을 MainFragment에서 인식하여 refresh하는 방식입니다. .. 2019. 5. 21.
[안드로이드] 네이버 지도 API v3 기본맵 띄우기 작년이었나요. 네이버에서 제공하던 지도 API를 엔클라우드로 통합하여 운영한다고 발표했습니다. 그와 함께 새로운 지도API 버젼을 발표했는데요. 기존 버전 대비 신규 버전은 확실히 직관적이고, 간결하게 코드가 짜여질 수 있습니다. 기존 네이버 지도 API를 써보셨다면 아시겠지만 개발자 사이트에 있는 정보들이 다소 불친절합니다. 때문에 구글링을 통해 다른 개발자들이 올려놓은 코드를 보고 구현하곤 했는데요. 새롭게 출시된 네이버 지도(v3)는 직관적으로 코드가 구성되어 있어, 개발자 사이트만 보고도 충분히 구현이 가능했습니다. 기능도 더 다양해진 것 같고요. 아직 모든 기능을 사용해본 것은 아니지만, 우선 액티비티에 네이버 맵을 띄우는 과정에 대해 포스팅해보고자 합니다. 구성은 다음과 같습니다. Androi.. 2019. 5. 20.
[안드로이드] ConstraintLayout, Guideline을 이용하여 삽입 개체 크기 비율 조절 이번 포스팅에서는 안드로이드에서 특정 개체의 크기를, 현재 보고 있는 액티비티 화면의 비율로 조절하는 방법에 대해 알아본다. 스마트폰마다 화면 비율이 다르기 때문에, 특정 픽셀값의 절대치로 개체의 크기를 지정할 경우 보는 사람마다 크기가 달라보인다는 한계점이 있다. 보고있는 화면의 특정 비율, 예를 들어 화면 절반(50%) 만큼만 개체를 띄우고 싶을 경우에 아래와 같은 방법을 사용하면 된다.1234567891011 cs 보다시피, match_parent로 ConstraintLayout 를 전체 화면으로 지정해준 후, 그 안에 원하는 비율만큼의 Guideline을 넣는다. (현재 0.5 = 50%)그 후, 가이드라인에 맞춰서 원하는 개체의 Constraint 구속을 맞춰주면 원하는 비율만큼 개체의 크기를 .. 2019. 3. 19.