본문 바로가기

코틀린41

[Kotlin][Android] OCR 기능을 만들어보자 안녕하세요~ 오늘은 코틀린을 사용하여 OCR(Optical character recognition) 기능을 구현해 보겠습니다. OCR는 인간이 종이 위에 써 놓은 글씨를 인지하여 텍스트 데이터로 바꿔주는 기능을 말해요. 이 포스팅에서는 스틱코드를 사용하여 글자가 들어 있는 이미지에서 글자를 인식하는 간단한 앱을 만들어보겠습니다. 해당 포스팅에 사용된 스틱코드 stickode.com/detail.html?no=2177 스틱코드 stickode.com # 환경 세팅 1. 라이브러리 추가 ▶ 해당 기능을 사용하기 위해서는 tess-two라는 모듈이 필요합니다. 위 그림처럼 build.gaddle(moudle) 파일을 열어서 맨 아래 한 줄을 추가하고 동기화시켜줍니다. 최신 버전은 여기서 확인하실 수 있습니다... 2021. 6. 24.
[Kotlin][Android] Data Bindng을 이용한 계산기 어플 만들기 안녕하세요. 예전에 자바를 이용해서 계산기를 만들어 봤는데요. 이번에는 코틀린으로 구현해보도록 하겠습니다. 이번 예제에서는 특히 화면에 View들이 많이 들어가는데요. 일일이 findVidwID를 통해서 각 View를 접근하기에는 너무 힘들고 귀찮은 작업입니다. 그래서 이번에는 Data Binding을 사용해서 현재 Activity와 연결되어 있는 .xml 파일의 View에 접근해보도록 하겠습니다. Data Binding은 Jetpack의 구성요소 중 하나입니다. 제트팩은 2018년 구글 IO 행사에서 발표된 안드로이드 앱 개발 패키지 묶음입니다. 데이터 바인딩은 이름 그대로 액티비티나 프래그먼트의 데이터를 화면에 출력하는 부분을 도와주는 AAC 기법입니다. Data Binding이 무엇인지 안드로이드 .. 2021. 6. 20.
[Kotlin][Android] 달력 만들기 안드로이드에서 제공하는 calendarview를 사용하여 달력을 만들고 특정 날짜에 일정을 파일에 저장하는 기능을 사용하도록 하겠습니다 calendarview 란? 안드로이드에서 제공하는 달력 위젯 입니다. 참고) developer.android.com/reference/android/widget/CalendarView 먼저 예제에 사용할 화면을 만들어보겠습니다. 다음 예제에 사용할 코드를 작성하겠습니다. 1. 예제에 사용할 UI 정보 값 생성 ui 정보를 수정하기 위해 xml에 생성해둔 ui 정보를 호출해서 변수로 생성합니다. import android.os.Bundle import android.widget.Button import android.widget.CalendarView import and.. 2021. 6. 17.
[Kotlin][Android] 스톱워치 만들기 안녕하세요. 이번에는 코틀린을 통해 스톱워치를 구현 해보도록 하겠습니다. 우선 만들고자 하는 화면을 그려보도록 하겠습니다. 화면구성은 다음과 같습니다. 스톱워치를 컨트롤 할 수 있는 시작과 초기화 버튼과 각 기록을 화면에 표시하는 기록하기 버튼 그리고 각 시간을 보여주는 TextView를 준비해둡니다. 이제 이를 어떻게 구현하는지 알아보도록 하겠습니다. 우선 타이머, 스톱워치 등을 구현하기 위해서는 'Thread'라는 녀석을 알아야 합니다. Thread란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미합니다. 즉 시간초를 세어주는 작업을 메인스레드(UI스레드)가 아닌 다른 스레드(워크 스레드, 백그라운드 스레드)로 동작시켜야 합니다. 또한 여기서 생각을 하셔야 하는게 백그라운드 스레드.. 2021. 6. 7.
[Kotlin][Android] 그래프 만들기 이번 예제는 MPAndroidChart 라이브러리를 사용해서 그래프를 만들어보겠습니다. MPAndroidChart 란? 안드로이드 차트 기능을 제공하는 라이브러리 입니다. [참고] github.com/PhilJay/MPAndroidChart 라이브러리 추가 먼저, build.gradle 파일 안에 Glide라는 라이브러리를 사용하기 위해 아래 화면처럼 추가해주시고 위에 Sync Now 버튼을 누르시면 라이브러리가 적용됩니다. implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0' 위에 코드만 추가하고 실행할 경우 아래 사진과 같은 에러가 발생합니다. 이 에러는 아래 코드를 추가하면 해결이 됩니다. 첫번쨰 gradle 파일에 아래 화면처럼 maven 값을 추.. 2021. 6. 4.
[Kotlin][Android] SST(SpeechToText) 기능 구현하기 안녕하세요 ~ 오늘은 SST 기능을 구현해 보겠습니다. SpeehToText(이하 SST) 기능은 음성을 인식해서 텍스트로 변환시켜주는 기능입니다. 한번 만들어 볼까요? 스틱 코드? stickode.com/mainlogin.html STICKODE stickode.com 권한 설정 Manifest에 권한을 설정해줍니다. // MainActivity.kt // 권한 체크 코드 if (Build.VERSION.SDK_INT >= 23) ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.INTERNET, Manifest.permission.RECORD_AUDIO), REQUEST_CODE) 레이아웃 만들기 인식한 음성을 텍스트로 보여주는 .. 2021. 5. 31.
[Kotlin][Android] 안드로이드 다국어 지원 여러 국가를 대상으로 하는 앱을 만들떄, 해당 국가의 언어에 맞게 여러 언어를 제공해줘야 할 필요가 있습니다. 이번 예제에서는 어떻게 다국어를 지원해줄 수 있는지 알아보도록 하겠습니다. 여러 나라에세 서비스를 출시 할려면, 해당 나라가 쓰는 언어들을 지원해 줘야 합니다. 이번 시간에는 kotlin으로 앱 내에서 언어 설정을 변경하는 방법을 알아보도록 하겠습니다. 저번 자바에서 사용했던 화면을 그대로 사용하겠습니다. (자바로 언어 설정을 바꾸는 방법은 이 포스팅을 참고해주세요.) activity_translation.xml 화면 구성은 라디오 버튼과 바뀐 언어를 표시할 TextView로 이루어져 있습니다. 한글 버튼을 클릭시 '샘플 문장'이 보일 것이며 영어 버튼을 클릭하면 'Sample Sentence'.. 2021. 5. 27.
[Kotlin][Android] 안드로이드 - 다중이미지 불러오기 안녕하세요.~ 이번시간에는 안드로이드 코틀린으로 앨범에서 다중이미지를 불러오는 기능을 만들어보겠습니다. 스틱코드 (stickode.com/mainlogin.html) 이번에도 역시 빠르게 만들기 위해 스틱코드 플러그인을 사용해서 만들어보겠습니다. 스틱코드는 자주쓰는 코드를 저장해서 쉽고 빠르게 사용할 수 있고, 다른사람들의 코드도 즐겨찾기를 통해 쉽게 내코드로 등록하여 사용할 수 있어 사용하는 사람이 늘어나고, 좋은 코드가 쌓일수록 강력해지는 플러그인 입니다. 그럼 시작하겠습니다. 권한설정 AndroidManifest.xml 파일 안에 파일을 불러오기 위한 권한을 추가해줍니다. 이미지 파일을 불러오기위해서 앱의 manifest에 권한 설정을 해주어야 에러가 나지 않습니다. 프로젝트 생성 새로운 프로젝트를.. 2021. 5. 25.
[Kotlin][Android] 네비게이션 드로어(Navigation Drawer) 만들기 스틱코드를 사용하여 네비게이션 드로어를 만들어보겠습니다. 먼저 예제에 사용할 화면을 만들어 보겠습니다. 다음 메뉴 버튼 아이콘을 만들어 보겠습니다. drawable 파일을 우클릭하면 아래 화면같이 나오는데 Vector Asset을 선택해줍니다. Vector Asset을 선택하면 Asset Studio 화면만 나오는데 여기서 Clip Art를 누르면 아래 사진같이 화면이 나옵니다. 여기서 원하는 아이콘을 선택하시면 되는데 저는 dehaze 아이콘을 선택하겠습니다. 아이콘을 선택하면 아래 사진같이 나오는데 왼쪽부터 차례대로 next -> finish 버튼을 눌러서 실행하시면 됩니다. 실행이 완료가 되면 맨 왼쪽 사진처럼 xml 파일이 하나 생성 됩니다. 생성된 파일 이름을 -> navi_menu 로 변경해줍.. 2021. 5. 23.