TTS(Text To Speech)는 말 그대로 텍스트를 음성으로 읽어주는 기능이다. 간단하게 리스너를 달아주고 speak 함수를 통해 내가 원하는 텍스트를 음성으로 출력할 수 있다. 먼저 아래처럼 TextToSpeech 변수를 만든다. private var tts: TextToSpeech? = null 다음은 초기화를 진행해야 한다. 나는 확장함수를 이용해 어디서든 초기화해서 사용할 수 있도록 구현했다. TTSManager.kt fun initTTS(context: Context): TextToSpeech { var tts: TextToSpeech? = null tts = TextToSpeech(context) { if (it == TextToSpeech.SUCCESS) { val result = tt..
간단하게 채팅화면이 하나 필요해서 만들어 보던 중 Send 버튼이 아이콘으로 되어 있으면 좋겠다 싶어서 아이콘을 추가했다. 아직 초기 단계라 아무것도 없다. 하지만 아이콘이 뭔가 밋밋해서 어떻게 보여줄까 하다, 메시지가 날아가는 듯한 느낌을 주고 싶었다. 간단하게 한 줄만 추가해 보자. android:rotation="-45" 그러면 아래와 같이 된다. 현재 상태 기준으로 시계방향은 "+", 반시계 방향은 "-" 이다. 이때까지 자바 코드로 직접 돌려주고 있었는데, 이렇게 편한방법이 있는걸 오늘에서야 알게 되었다. 앞으로 자주 애용하게 될 것 같다.
Intro RecyclerView를 사용할 때, Divider를 종종 View태그를 사용해 만들어 사용하기도 한다. Item을 커스텀하여 사용하고, 가변성이 필요하거나 style을 간단하게 입히려면 좋은 방법이다. 만약 단순하게 Divider가 필요한 경우에도 View를 사용해야하는 귀찮음이 있다. 또한 레이아웃이 복잡해 졌을 때, 메모리 관리에도 별로 좋지 않은 방법이라고 생각한다. Summary 오늘은 간단하게 Decorator를 사용해 RecyclerView에 Divider를 넣어주고자 한다. Using 1. 기본 화면 만들기 RecyclerView를 추가하고 Adapter, Item을 만들어 준다. activity_main.xml item_recyclerview.xml MyAdapter.kt cl..
Intro 안드로이드 스튜디오를 사용하다보면 외부 라이브러리를 많이 사용하게 된다. 그러다보니 자연스레 build.gradle의 길이가 길어지고, 가독성이 떨어지게 된다. 현재 진행 중인 프로젝트를 신규 SDK로 마이그레이션 하다보니 문득 gradle이 너무 보기 싫다는 생각이 들었다. 또한, 최근에 프로젝트를 새로 생성하려고 하니 Kotlin DSL이 프로젝트 생성시 선택사항의 기본값으로 설정되어 있었다. kotlin으로 통일하는게 그래도 조금은 나아보일까 하여, 선택해서 작성하게 되었다. 하지만 생각보다 코드가 길어지면서 좀... gradle 파일을 들춰보기 싫어지게 되었다. 특히 요즘 대부분의 프로젝트에 클린 아키텍처를 적용하다보니, 각 모듈마다 필요한 dependency가 중복되는 경우가 있다. ..
Intro 안드로이드에서 음악, 영상 등을 재생하려면 MediaPlayer를 사용해야 한다. 오늘 해볼 음원 재생은 따로 뷰는 필요없지만, 그만큼 리소스 관리를 잘하여야 한다. 음원을 재생 후 따로 리소스 해제를 제대로 해주지 않는다면, 에러가 발생하거나 기능 자체가 원하는 의도대로 제대로 동작하지 않을 것이다. 내가 이번에 했던것은 단순하게 raw 폴더의 리소스를 재생하는 것이었지만, 2개의 리소스를 겹치지 않게 연달아 실행하기 위해 몇가지 셋팅이 필요했다. Summary MediaPlayer는 기본적으로 제공되는 라이브러리이고, developers에서는 다음과 같이 설명하고 있다. 미디어 프레임워크의 가장 중요한 구성요소 중 하나는 MediaPlayer 클래스입니다. 이 클래스의 객체는 최소한의 설정..
- Total
- Today
- Yesterday
- NoAnimation
- 스위프트
- 변수
- 음성재생
- 격파르타 후기
- rotation
- Java
- dart
- toml
- sqld 자격증 합격
- IOS
- 함수
- ~=
- 자바
- 코틀린
- Kotlin
- 격파르타 장점
- Xcode
- gem update
- rotate
- .toml
- 아이폰
- Swift
- 격파르타 합격후기
- 버전카타로그
- FLUTTER
- 아이폰앱개발
- Android
- 연산자
- 안드로이드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |