Lottie란? 에어비엔비에서 만든 After Effect 애니메이션을 랜더링하여 애니메이션으로 보여주는 라이브러리입니다. https://airbnb.io/lottie/#/android 안드로이드 화면에서 움직이는 그림들을 보여주기 위해 사용합니다. 스플래쉬 스크린에서 움직이는 이미지를 보여줄 때나 로딩 화면을 만들 때 사용할 수 있습니다. Lottie 이미지 다운로드 받기 https://lottiefiles.com/ LottieFiles - Free animation files built for Lottie LottieFiles is a collection of animations designed for Lottie - gone are the days of bugging your developer lo..
뷰 페이저? 좌우로 스와이프 하여 view를 전환하는 AdapterView이다. 액티비티를 여러 개 만드는 것이 아니라 여러 개의 view들을 하나의 액티비티에서 사용합니다. 구현 PagerAdapter를 구현합니다. getCount는 ViewPager로 보여줄 뷰의 전체 개수를 지정합니다. isViewFromObject는 instantiateItem에서 만든 객체를 사용할 것인지의 여부를 결정합니다. destroyItem은 ViewPager에서 뷰가 사라질 때 제거하는 작업을 합니다. Do 뷰 페이저를 만들고 선택된 화면의 번호를 알려주는 것을 만들어 보겠습니다. XML 작성 activity_main.xml // activity_main.xml main xml을 위와 같이 만들고 // view1.xml..
리스트 뷰에서 했던 내용을 이어서 하도록 하겠습니다. 커스텀 리스트 뷰는 리스트 뷰에서 데이터를 보여주는 레이아웃을 직접 커스텀할 수 있습니다. SimpleAdapter를 사용합니다. 그럼 시작하겠습니다. 커스텀 레이아웃 만들기 위와 같은 커스텀 리스트 뷰의 xml 코드를 작성할 레이아웃 파일을 하나 만들어줍니다. custom_listview.xml // custom_listview.xml 커스텀 리스트 뷰 작성하기 먼저 메인 액티비티의 xml입니다. activity_main.xml // activity_main.xml 그리고 MainActivity의 전체 코드입니다. class MainActivity : AppCompatActivity() { private val image = arrayOf(R.dra..
코드를 통해 데이터를 아이템 단위로 구성하여 화면에 보여주는 방법입니다. 리스트 뷰? 여러 항목들을 제공하고 위아래로 스크롤하여 항복을 보여주는 뷰입니다. 간단하게 리스트 뷰 출력하기 기본적인 리스트 뷰에 데이터를 출력하는 방법은 아래의 코드와 같습니다. Kt // MainActivity.kt class MainActivity : AppCompatActivity() { val item = arrayOf("1", "2", "3", "4", "5", "6", "7") override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val adapt..
간단하게 Json을 보여주며 GET, POST, PUT, DELETE를 보여주는 예제입니다. 시작하기 먼저 값을 가공해주는 Data클래스인 UserInfo클래스를 만들겠습니다. // entity/UserInfo.kt data class UserInfo( val id: String, var name: String, var phone: String, var address: String ) 그리고 유저 정보를 전달해주는 컨트롤러의 기본 세팅입니다. 아직 DB와 연결하지 않았기 때문에 전과 같이 @EnableAutoConfiguration을 추가하였습니다. // controller/UserController.kt @RestController @EnableAutoConfiguration(exclude = [Dat..
Search Bar 만들기 검색을 하기 위해서 먼저 Search Bar를 아래와 같이 만들어줍니다. 위와 같이 xml을 작성합니다. 그리고 main xml에서 아래의 코드를 추가해줍니다. Search Bar 기능 구현하기 검색 기능을 구현하기 위해서 먼저 서버에서 읽어 온 JSON 데이터와 ClusterManager 클래스에 추가한 MyItem 클래스를 연결하는 변수가 필요합니다. 따라서 MainActivity에 아래 코드를 추가해줍니다. onLowMemory 함수 하단 val itemMap = mutableMapOf() ToiletReadTask의 onPreExecute itemMap.clear() itemMap 변수 초기화 코드. ToiletReadTask의 onPostExecute override ..
구글 맵 클러스터링 화장실 찾기까지 하였지만 화장실이 너무 많아서 렉도 걸리고 화면에 화장실이 겹쳐진 모양으로 가득 차게 됩니다. 구글 맵 클러스터링은 이러한 문제를 보완하여 여러개 겹친 경우 원의 숫자로 보여줍니다. 시작하기 구글 맵 클러스터링을 구현하기 위해서는 크게 ClusterItem 인터페이스와 ClusterManager 클래스가 필요합니다 ClusterItem 인터페이스는 화면에 표시되는 정보를 제공하고 ClusterManager 클래스는 마커로 표시할지 원으로 표시할지를 관리합니다. 추가로 마커의 이미지를 변경하고 싶다면 ClusterRenderer 클래스도 사용해야 합니다. ClusterItem 인터페이스인 MyItem.kt class MyItem(private val position: L..