본문 바로가기

코틀린41

[Kotlin][Android] Alert Dialog 다이얼로그 띄우기 안녕하세요. 이번 시간에는 Dialog를 띄워보도록 하겠습니다. 우선 Dialog가 무엇인지 알아봅시다. 안드로이드 개발자라면 당연히 안드로이드 개발자 사이트에서 봐야겠지요? developer.android.com/guide/topics/ui/dialogs 대화상자 | Android 개발자 | Android Developers 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니다. 대화상자는 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기 전에 조 developer.android.com 안드로이드 개발자 문서에서 설명하는 Dialog는 다음과 같습니다. A dialog is a small window that prompts the user to m.. 2021. 5. 12.
[Kotlin][Android] 안드로이드 - 스낵바(snackbar) 안녕하세요.~ 이번시간에는 안드로이드 코틀린으로 스낵바를 만들어보겠습니다. 스틱코드 (stickode.com/mainlogin.html) 이번에도 역시 빠르게 만들기 위해 스틱코드 플러그인을 사용해서 만들어보겠습니다. 스틱코드는 자주쓰는 코드를 저장해서 쉽고 빠르게 사용할 수 있고, 다른사람들의 코드도 즐겨찾기를 통해 쉽게 내코드로 등록하여 사용할 수 있어 사용하는 사람이 늘어나고, 좋은 코드가 쌓일수록 강력해지는 플러그인 입니다. 프로젝트 생성 새로운 프로젝트를 생성 했고, XML 파일 설정 (레이아웃) 스낵바를 호출하기위한 버튼두개를 생성해줍니다. 메인 액티비티 셋팅 스낵바를 호출하기위한 버튼 설정을 해주도록 하겠습니다. 뷰를 선언하고, 클릭 리스너를 추가합니다. class MainActivity :.. 2021. 5. 10.
[Kotlin][Android] 바텀 네비게이션바 만들기 머티리얼 디자인에서 제공하는 라이브러리를 사용해서 하단 네비게이션바를 만들어보겠습니다. 빌드 스크립트 설정 새프로젝트 생성 후 gradle 파일에 들어가서 dependencies 에 아래사진과 같이 머티리얼 디자인에서 제공하는 라이브러리 추가해주시고, sync Now 를 해주시면 됩니다. dependencies { implementation 'com.google.android.material:material:1.3.0' } 다음 예제에 사용할 화면을 만들어 보겠습니다. 코드를 그대로 복사/붙여넣기를 하면 아래 사진과 같이 빨간색으로 에러가 나올텐데 빨간 느낌표를 눌러서 navi_menu.xml을 자동으로 생성합니다. navi_menu.xml을 자동으로 생성하면 아래 사진과 같이 파일이 만들어집니다. 파일.. 2021. 5. 9.
[Kotlin][Android] GPS Permission 현재 위치 값 불러오기 기능 저번 시간에 Java를 통해 사용자의 위치를 TextView에 표시하는 기능을 구현했었습니다. 이번 포스팅에서는 앞선 기능을 Kotlin으로 구현해 보도록 하겠습니다. 개발 순서 1. manifest.xml 권한 추가 2. 화면 그리기 (activity_g_p_s_permission.xml) 3. 의존성 추가 4. 코드 작성(GPSPermissionActivity.kt) 5. 결과물 개발 1. manifest.xml 권한 추가 사용자의 위치를 받아 오기 위해서는 매니페스트에 권한을 추가해줘야 합니다. developer.android.com/reference/android/Manifest.permission Manifest.permission | Android 개발자 | Android Developers .. 2021. 5. 7.
[Kotlin][Android] 뷰페이저를 사용하여 화면 슬라이드 기능 만들기 뷰페이저를 사용해서 화면 슬라이드 기능를 만들어 보겠습니다. 뷰페이저(ViewPager)란? 데이터를 페이지 단위로 표시하고, 좌/우 슬라이드를 통해 페이지를 전환할 수 있도록 만들어주는 컨테이너입니다. 자체적으로 화면을 그리는 기능을 가지지는 않고, 여러 종류의 뷰(View) 위젯을 사용하여 각 뷰페이저의 페이지를 구성합니다. 참고) 안드로이드 개발자 문서 - developer.android.com/training/animation/screen-slide-2 빌드 스크립트 설정 뷰페이저를 사용하기 위해 맨 아래에 보이는 의존성 설정을 추가 해주고, sync Now를 누르면 라이브러리 추가가 완료됩니다. implementation 'androidx.viewpager2:viewpager2:1.0.0' 다음.. 2021. 4. 28.
[Java][Android] Chip EditText 만들기 안녕하세요. 이번에는 Chip을 추가하는 프로젝트를 만들고자 합니다. Chip이란 소형 요소로 속성, 텍스트 등을 나타내는데 사용합니다. 사용자가 정보를 입력, 항목을 선택, 필터링 할 때 사용됩니다. Chip 종류에는 Input 타입, Choice 타입, Filter 타입, Action .타입이 있으며 활용되는 용도로는 아래와 같이 사용하실 수 있습니다. Material Design 공식 사이트에서는 Chip을 크게 4개의 부분으로 나누어 설명하고 있습니다. Container : Chip 모든 요소를 포함하고 있으며, 크기는 요소에 의해 결정 Thumbnail(Optional) : 로고나 아이콘을 보여줌으로써 텍스트의 의미를 보충해주는 역할을 합니다. 필수로 넣어야 하는 것이 아닌 선택입니다. Text.. 2021. 4. 27.
[Kotlin][Android] 알림(Notification) 기능 만들기 Notification(알림)이란? 사용자에게 미리 알림을 주고 다른 사람과의 소통을 가능하게 하며 앱에서 보내는 기타 정보를 적시에 제공하기 위해 Android가 앱의 UI 외부에 표시하는 메시지입니다. [참고] developer.android.com/guide/topics/ui/notifiers/notifications?hl=ko 알림 기능을 만들어 보겠습니다. 먼저 예제에 사용할 화면을 만들어 보겠습니다. 다음 코드를 작성해 보겠습니다. 스틱코드를 활용한다면, 클래스에서 'b' 까지만 작성했을 때 '버튼 이벤트 생성' 이벤트가 나타납니다. '버튼 이벤트 생성' 이벤트를 누를 경우 코드가 자동으로 완성이 됩니다. 여기서는 버튼의 아이디 값만 입력을 해주시면 됩니다. 다음 알림을 보내기 위해 알림을 생.. 2021. 4. 17.
[Kotlin][Android] SeekBar 시크바 기본 사용법 오늘은 코틀린을 이용해서 시크바를 구현해보도록 하겠습니다. 시크바란? SeekBar은 슬라이더 형태의 게이지 바를 말합니다. 음량이나 밝기 외에도 음악, 동영상 제어하는 등 다양한 곳에 사용되기 때문에 한번 익혀 놓으면 다양한 곳에 사용할 수 있습니다. 시크바 공식문서 developer.android.com/reference/android/widget/SeekBar SeekBar | Android 개발자 | Android Developers developer.android.com 시크바 이벤트 리스너를 활용하면, 사용자가 시크바에서 선택한 값을 알 수 있습니다. (1) onProgressChanged: 시크바를 조작하고 있는 중에 발생 (2) onStartTrackingTouch: 시크바를 처음 터치했을.. 2021. 4. 16.
[Kotlin][Android] Floating Action Menu 만들기 안녕하세요~ 오늘은 FloatingActionButton을 사용한 메뉴 기능을 만들어 보겠습니다. 앱을 사용하다 보면 위와 같은 버튼을 보신적이 있으실 텐데요, 위 버튼을 FloatingActionButton(fab)이라고 합니다. 화면이 움직이더라도 fab 버튼은 화면의 최상위에 고정되어 떠있는 것을 보실 수 있습니다. 그럼 fab 버튼을 이용하여 메뉴를 구현하는 예제를 스틱코드를 이용해서 만들어 보도록 하겠습니다. 레이아웃 작성 ▶ activity_main.xml 우측 하단에 fab 버튼을 배치하고 버튼을 눌렀을때, 나올 서브 fab 버튼을 위쪽으로 배치했습니다. 다음은 fab 버튼을 사용할때 많이 사용하는 옵션입니다. src : fab 버튼의 아이콘을 지정할 수 있습니다. backgroundTint.. 2021. 4. 9.