Kotlin

    [kotlin] SQLite - 연결및 사용하기

    [kotlin] SQLite - 연결및 사용하기

    이전 아래 글에서 SQLite Open Helper클래스를 상속받아 SQLite를 사용하기 위한 Helper클래스를 만들어 보았습니다. 2020/10/09 - [Mobile/Kotlin] - [kotlin] SQLite - SQLite Open Helper 구현하기 이번에는 위에서 만든 이 Helper클래스를 이용해 간단한 전화번호부 앱을 만들면서 직접 연결하고 사용하는 방법을 알가 보고자 합니다. 우선 Activity Main에서 화면을 다음과 같이 디자인합니다. 가장 상단에는 RecyclerView를 배치하고 그 아래 2개의 Plain Text 그리고 Button하나를 순서대로 배치합니다. 예제에서 RecyclerView의 ID는 rccList, Plain Text는 txtName과 txtPhone,..

    [kotlin] SQLite - SQLite Open Helper 구현하기

    [kotlin] SQLite - SQLite Open Helper 구현하기

    Android에서 내부적으로 사용하는 가장 대표적인 DB로 SQLite가 있습니다. 경량화된 DB이기도 하고 성능도 꽤나 잘 나오기 때문에 모바일뿐만이 아니라 여러 가지 용도의 앱이나 프로그램 등에서 내부 데이터 저장용으로 많이 사용되는 DB입니다. 이 SQLite를 다루기 위한 헬퍼 클래스를 작성해 볼 텐데 우선 어떤 사람의 이름과 전화번호를 기록하는 앱을 만들어야 한다고 가정해 보겠습니다. 앱 입장에서는 이름, 전화번호를 기억하는 용도로 SQLite를 사용하기로 했는데 그러려면 우선 DB에 접속하는 단계가 필요하고 이후에 정보를 담아둘 최소 단위인 테이블을 생성해야 합니다. 물론 테이블은 한번 만들어 두면 다시 생성하지 않아도 됩니다. 이후에 필요한 정보를 가져오거나 추가 또는 변경, 삭제하는 동작을..

    [kotlin] androidx.preference

    [kotlin] androidx.preference

    androidx.preference는 이전에 알아본 Preferences의 구조를 차용해 앱에서 필요한 설정값을 손쉽게 관리할 수 있도록 해주는 API를 제공합니다. 이 API를 사용하면 XML을 구성하는 것만으로도 사용자로부터 설정값을 저장하고 저장된 값을 읽을 수 있습니다. 우선 androidx.preference를 사용하기 위해서는 의존성 라이브러리를 추가해야 합니다. 우선 Gradle Scripts -> build.gradle (Module:app) 파일을 열고 오른쪽 상단에 Open(Ctrl+Alt+Shift+S)를 클릭합니다. 이어지는 화면의 왼쪽 메뉴에서 Dependencies를 클릭하고 + 버튼을 눌러 Library Dependency를 선택합니다. 그리고 step1에서 preperence..

    [kotlin] Preferences

    [kotlin] Preferences

    키와 값을 쌍으로 내부 저장소에 데이터를 저장시켜주는 Preferences는 앱에서 사용하는 간단한 설정 내용이나 기타 필요한 값을 쉽게 저장하고 가져올 수 있도록 합니다. 참고로 설정값은 내부 저장소에 XML형태로 데이터를 보관합니다. Preferences를 알아보기 전에 우선 Activity화면에서 아래와 같이 버튼 하나를 추가합니다. 그리고 버튼 클릭에 대한 리스너를 작성해 주세요. 아래부터 생성되는 코드는 이 리스너안에서 작성할 것입니다. Preferences를 사용하려면 당연히 Preference 파일을 생성해야 하는데 사용하고자 하는 범위에 따라 2가지 생성 방법이 존재합니다. 첫 번째로는 여러 Activity에서 공유할 수 있도록 생성하는 방법이며 아래와 같습니다. val myPF = get..

    [kotlin] 저장소및 파일처리

    [kotlin] 저장소및 파일처리

    Android(안드로이드)는 Linux(리눅스)를 기반으로 합니다. 그래서 Filesystem(파일 시스템)도 리눅스와 파일 시스템과 동일한데 리눅스 파일 시스템의 특징은 System(시스템)을 사용하는 계정별로 권한을 다루게 부여할 수 있다는 것입니다. 이러한 특징을 통해 Android에서는 앱하나당 하나의 내부저장소인 디렉터리를 마련해 두고 앱에 해당하는 계정 하나를 생성해 해당 저장소에 접근하도록 권한을 부여해 줍니다. 당연히 앱의 계정으로는 자신의 저장소에 자유롭게 접근할 수 있지만 다른 앱의 저장소에는 권한이 제한되어 있으므로 접근이 불가능하게 됩니다. 반면 모든앱이 접근할 수 있는 저장공간이 있는데 이를 외부 저장소라고 합니다. 위에서 언급한 내부 저장소는 만약 앱이 삭제되면 함께 삭제되어 안..

    [kotlin] 권한 처리하기

    [kotlin] 권한 처리하기

    사용자 기기의 특정 영역에 접근하려면 그에 해당하는 권한을 얻어야 합니다. 이번 예제에서는 카메라에 접근하는 앱을 만들어 권한을 어떻게 처리할 수 있을지를 알아보도록 하겠습니다. 우선 다음과 같이 app -> manifests에 있는 AndroidManifest.xml파일을 열어 다음과 같이 user-permission태그를 추가해 카메라 사용자 권한을 추가합니다. 그리고 임의의 버튼 하나를 만들어 둡니다. MainActivity에서 카메라에 접근하기 전에 이미 해당 권한이 부여되어 있는지를 확인하도록 하는 함수를 작성합니다. 권한이 부여되어 있는데 계속 권한 요청을 하면 문제가 되겠죠. 예제에서는 checkPermission으로 이 부분을 구현하였으며 checkSelfPermission의 결과가 PER..

    [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이라고 하였습니다. 파일이 생성되면 파일 내용을 다음과 같이 수정합니다. 지금 ..