리사이클러뷰(RecyclerView) 리사이클러뷰는 안드로이드에서 리스트를 만들기 위해 사용되는 뷰 입니다. 리스트를 만들기 위해 사용된다는 점에서 리스트뷰(ListView)와 비슷하지만, 뷰를 재활용(Recycler)한다는 점에서 리스트뷰보다 더 개선된 형태입니다. 하지만, 뷰를 재활용 하기 때문에 각 뷰의 내용을 담아둘 뷰 홀더(View Holder)가 필요합니다. 아이템 레이아웃 만들기 item_recycler_view.xml 아이템의 각 행을 담을 레이아웃을 만듭니다. 데이터 클래스 만들기 data class BoardItem(val time: String, val title: String, val name: String) 리스트의 각 아이템의 내용이 담길 데이터 클래스를 하나 만듭니다. 저는 예..
집에 와 깃헙에 올려두었던 저장소를 클론하고, 해당 프로젝트를 열었더니 빨간줄이 날 반겨주었다. 대충 IntelliJ(혹은 안드로이드 스튜디오)가 이 프로젝트를 열 수 없으니, 2021.2.1 버전이나 그보다 더 최신버전으로 업데이트 한 후에 열라는 것 같다. 학교 연구실 컴퓨터에서 최신버전의 안드로이드 스튜디오를 사용해 프로젝트를 생성하고, 집에서 개인 노트북으로 하려니 버전이 맞지 않아 발생한 오류였다... ㅠㅠ 뭐... 귀찮지만 별 수 없으니 안드로이드 스튜디오를 업데이트를 해주도록 하자 안드로이드 상단 툴바의 Help - Check for Updates를 누른다. 그러면 이러한 창이 뜰 것이다. 뜨지 않는다면 우측의 팝업창 형태로 새로운 버전이 감지되었다고 뜰 것이다. Update and Rest..
뷰 바인딩(View Binding)은 코틀린 코드 상에서 findViewById를 통해 일일히 뷰를 찾아줄 필요 없이, 코틀린 코드 상에서 레이아웃에 더 쉽게 접근할 수 있도록 해주는 기능입니다. 뷰 바인딩 적용 방법은 아래와 같습니다. build.grandle 에 아래 코드 삽입 buildTypes { buildFeatures { viewBinding true } } build.grandle의 buildTypes 부분에 위 코드를 삽입합니다. 코틀린 코드 상에서 xml 참조하기 액티비티는 보통 Kotlin(Java) 파일과 xml 파일이 쌍을 이룹니다. LoginActivity.kt 과 이에 대응되는 레이아웃 파일인 activity_login.xml이 있고, 여기에 뷰 객체인 btn_login을 생성하..
안녕하세요. 오늘은 모바일 어플리케이션 개발 방법에 관한 이야기를 해볼까 합니다. '모바일 어플리케이션 개발 방법'이라 하면 여러가지가 떠오르실 텐데요. 언어적 측면에서 생각한다면 Java, Kotlin, Objective - C, Swift가 떠오르시는 분이 계실테고, IDE 관점에서 생각하신다면 안드로이드 스튜디오와 Xcode가, 소프트웨어공학 관점에서 본다면 설계부터 기능명세서, 유지보수 등을 떠올리실 분들도 있겠지요. 그 중에서도 오늘 이야기하고 싶은 주제는 바로 '플랫폼 시각에서 바라본 어플리케이션 개발 방법' 입니다. 스마트폰 플랫폼의 경우 애플의 iOS와 구글의 Android로 양분되어 있습니다. 그에 따라 스마트폰 애플리케이션 역시 iOS와 Android를 각각 개발하고 서비스해야 하지요...
애플리케이션을 디자인할때, 사용자에게 몰입감을 줄 수 있도록 특정 화면에서 화면을 가로/세로모드로 변경하는 방법이 있다. 그러나 안드로이드 오레오(Oreo) 버전, 그중에서도 안드로이드 8.0 버전에서 화면 회전 시 에러가 발생할 수 있다. 그에 따른 해결방법으로는 아래와 같은 방법이 있다. 1. Oreo 버전에서 대응코드 삽입 if (Build.VERSION.SDK_INT != Build.VERSION_CODES.O) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); } 오레오 버전일때 위와같이 if문으로 감싸 예외처리를 해준다. 그러나 오레오 버전일때 화면회전을 하지 않게 할 뿐이므로 화면회전이 되지않아 근본적인 해결책으로 보기..