Mobile

    [Kotlin] 위젯 - ViewPager2

    [Kotlin] 위젯 - ViewPager2

    ViewPager2는 스와이프(Swipe)를 통해 화면 전환을 구현할 때 사용되는 위젯입니다. 본래 ViewPager가 있었으나 여러 가지 문제로 현재는 ViewPager2로 완전히 대체되었습니다. 그럼 이번에는 ViewPager2에 대한 간단한 사용방법을 알아보도록 하겠습니다. ViewPager2에서 화면전환을 위해서 Fragment를 이용할 수 있습니다. 이런 경우 필요한 화면만큼 Fragment화면을 추가해야 합니다. 이번 예제에서는 대략 3개 정도의 화면을 만들어 보도로 하겠습니다. 다음과 같이 app -> java 아래의 패키지에서 마우스 오른쪽 버튼을 눌러 New -> Fragment -> Fragment(Blank)를 선택합니다. Fragment Name에서 이름을 MyFragment1 이라..

    [Kotlin] Widget 만들기

    [Kotlin] Widget 만들기

    Android Studio에서 기본적으로 제공하는 위젯 중 필요한 기능을 가진 위젯이 없으면 직접 만들어 사용하는 것도 가능합니다. 이번에는 그 방법에 대해 알아보고자 합니다. 우선 내가 만들 위젯에 필요한 설정파일을 생성합니다. 사실 위젯을 생성하는데 설정 파일이 반드시 필요한 건 아니지만 설정 파일을 따로 만들어 위젯에 제공하는 것이 위젯을 관리하기에 용이하므로 만들 것을 권장합니다. Android Studio에서 app -> res -> values 폴더에서 마우스 오른쪽 버튼을 눌러 Value Resource File을 선택합니다. 설정파일의 이름을 지정하고 OK 버튼을 눌러줍니다. 예제에서는 my_widget_attr이라고 하였습니다. 파일이 생성되면 파일 내용을 다음과 같이 수정합니다. 지금 ..

    [Kotlin] View

    [Kotlin] View

    View는 Android에서 화면에 무엇인가를 표시하기 위한 최상위 클래스에 해당하며 화면상에 표시되는 거의 모든 요소가 View로부터 상속받아 구현됩니다. 화면을 보면 TextView위젯이 하나 올라가 있는데 이 화면의 XML구성을 살펴보면 다음과 같이 XML이 작성되어 있는 걸 볼 수 있습니다. Android가 TextView를 실제 화면에 표시할때는 XML을 읽어 이것을 클래스로 변환해 화면에 그려주게 됩니다. XML상으로는 layout_width나 text처럼 여러가지 속성들이 존재하는데 이러한 속성들도 클래스로 만들어질 때 생성자의 매개변수로 전달되고 최종적으로 View 클래스로부터 상속된 TextView클래스가 만들어지는 것입니다. TextView를 보면 text속성에 'Hello World!..

    [Kotlin] Flagment

    [Kotlin] Flagment

    하나의 Activity를 화면을 구성하기 위한 최소 단위로 볼 수 있는데, 이 Activity를 여러 화면으로 나눠서 처리하고자 하는 것이 Flagment입니다. 예컨대 여러 화면을 Swipe를 통해 전환하는 경우 전환이 이루어지는 화면을 Flagment로 미리 만들어 화면을 구성해 하나의 Activity안에서 전 한하는 경우나 태블릿과 같은 큰 화면에서 목록과 상세화면을 하나의 Activity안에서 나누어 표시하기 위한 용도입니다. 1. Activity에 Flagment 추가하기 Android Studio에서 java 폴더에 마우스 오른쪽 버튼을 눌러 New -> Fragement -> Framment (Blank)를 선택합니다. Flagement Name을 임의로 지정한뒤 Finish를 눌러줍니다. ..

    [Kotlin] RecyclerView

    [Kotlin] RecyclerView

    RecyclerView는 데이터 목록을 보여주기 위해 사용되는 것으로서 일련의 사용 과정을 간략히 알아보고자 합니다. 1. RecyclerView 배치하기 처음 RecyclerView를 사용하려면 아래와 같이 오른쪽에 아래화살표가 표시되어 있음을 볼 수 있습니다. 이는 기본적으로 포함되어 있는 컨테이너가 아니므로 화살표를 눌러 라이브러리를 내려받아 사용해야 함을 의미합니다. 화살표를 눌러 라이브러리를 내려받습니다. 내려받기를 하면 IDE아래쪽에 진행과정이 표시되고 곧이어 완료되었음을 알려줍니다. 동시에 내려받기 위한 화살표도 사라지게 됩니다. 이제 RecyclerView를 아래와 같이 화면에 배치합니다. 위에서 보듯이 RecyclerView에서 보여지는 항목은 하나의 Item으로 표시됩니다. 물론 Spi..

    [Kotlin] Spinner

    [Kotlin] Spinner

    Spinner는 여러 개의 항목 중 하나를 선택할 수 있도록 하는 위젯입니다. 다른 설명 필요 없이 사용방법을 간단히 알아보도록 하겠습니다. 새로운 프로젝트를 생성한뒤 빈 레이아웃 안에 Spinner를 다음과 같이 올려놓습니다. Spinner의 ID는 'spinner'가 기본값이며 예제에서는 변경 없이 그대로 사용하도록 하겠습니다. 이제 Spinner에 표시할 데이터를 만들어야 하는데 기본으로 생성된 onCreate 메서드 안에서 다음과 같이 데이터를 만들어 둡니다. class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) set..

    [Kotlin] Activity

    [Kotlin] Activity

    사용자를 위한 UI 구성을 위해서는 화면을 그려야 하는데 이를 위해서 Activity컴포넌트를 사용합니다. 도화지 위에 그림을 그린다고 생각하면 Activity는 도화지라고 볼 수 있는 것입니다. 1. Activity 생성 기본적으로 제공되는 Activity 외에 새로운 Activity를 추가하여 사용자에게 필요한 다른 화면을 보여줄 수 있습니다. Activity를 추가하려면 먼저 Android Studio에서 Project -> app폴더에서 마우스 오른쪽 버튼을 눌러 New -> Activity -> Empty Activity를 선택합니다. 그러면 생성할 Activity를 설정하는 화면이 나오는데 여기서 Activity Name과 Layout Name은 원하는 이름으로 지정해 주면 됩니다. 다만 Ac..

    [Kotlin] res

    [Kotlin] res

    Kotlin에서는 소스코드 파일 이외에 다른 파일은 모두 리소스 파일로 처리합니다. 그리고 이들 리소스 파일은 거의 대부분 프로젝트 디렉터리 구조에서 res 디렉터리 안에 포함됩니다. 이름에서도 알 수 있듯이 리소스와 관련된 파일들이 모여진 디렉터리를 의미합니다. 1. drawable 이미지 파일과 관련된 디렉토리입니다. 그런데 기본적인 drawable 디렉터리 이외에 다음과 같이 다양한 drawable 디렉터리가 존재할 수 있습니다. Android 앱은 다양한 해상도의 디바이스에서 작동할 수 있고 drawable 디렉토리는 그런 해상도에 맞춰 적절한 이미지가 사용되도록 합니다. 위 화면에는 drawable-hdpi와 drawable-xhdpi가 있는데 디렉토리명에 사용된 dpi는 Dots Per Inc..