전체 글 412

STT(Speech-to-Text)란?

STT(Speech-to-Text)란? 사람이 말하는 음성 언어를 컴퓨터가 해석해 그 내용을 문자 데이터로 전환하는 처리 STT(Speech-to-Text), Voice Recognition 또는 인공 청각이라고도 표현합니다. 뜻 그대로 사람의 음성 인터페이스를 통해 텍스트(문자) 데이터를 추출해내는 것이죠. STT 기술에서는 이러한 비언어적 요소 없이 음성만으로 어떻게 정확한 내용을 처리 해낼 수 있을까요? STT 핵심 요소 기술 STT를 위한 데이터에는 크게 음향학적 관점과 언어학점 관점으로 볼 수 있습니다. 음향학점 관점은 말하는 이, 공간, 노이즈 등의 환경적인 데이터가 주를 이루고 언어학적 관점에서는 어휘, 문맥, 문법 등을 모델링하기 위한 언어 데이터가 주를 이룹니다. 오프라인 학습 단계 ST..

안드로이드 2022.11.09

Hilt 빌드 에러시 DefaultActivityViewModelFactory

이전에 샘플 프로젝트하면서 작성했던 프로젝트가 빌드 오류가 난다! # AppApplication_HiltComponents.SingletonC # hilt cannot access DefaultActivityViewModelFactory 클래스에 @HiltViewModel 주석 추가한다. 생성자의 @ViewModelInject 주석을 @Inject로 교체한다. SavedStateHandle 생성자 매개변수에서 @Assisted를 제거한다. build.gradle 파일에서 이전 androidx.hilt:hilt-lifecycle-viewmodel 종속성을 제거한다. Dependency 수정 AndroidX.Hilt 부분 제거 (참고로 버전은 1.0.0-alpha02 이었음) 구글 hilt 버전 2.42로 ..

RxJava2을 사용한 Retrofit통신

1. 5개의 파일을 만듭니다(ApiProvider, MyApi, MyModel, MyModelItem, MainActivity) 1) ApiProvider.kt fun provideMyApi(): MyApi = Retrofit.Builder() //통신할 서버의 주소를 입력합니다. .baseUrl("http://www.example.com") //네트워크 요청 로그를 표시해 줍니다. .client(provideOkHttpClient(provideLoggingInterceptor())) //받은 응답을 옵저버블 형태로 변환해 줍니다. .addCallAdapterFactofy(RxJava2CallAdapterFactory.createAsync()) //서버에서 json 형식으로 데이터를 보내고 이를 파싱해서..

안드로이드 2022.11.04

리싸이클러뷰 기초

리싸이클러뷰 0.package준비 1)adapter 2)data 3)model 4)layout - activity.xml, item.xml 1.app단계의 build.gradle 추가 implementation 'com.android.support:appcompat-v7:28.0.0-rc02' implementation "com.android.support:recyclerview-v7:28.0.0-rc02" implementation "com.android.support:cardview-v7:28.0.0-rc02" implementation "com.github.bumptech.glide:glide:3.7.0" recyclerView, cardView, glide3가지 라이브러리를 추가해 줍니다. 이때 ..

[Android] DB Realm Migration

Migration이란? Realm은 모바일에 최적화된 데이터베이스 입니다. 기존에 Realm을 적용한 앱을 배포한 수 Realm의 데이터를 수정한 후 다시 앱을업데이트하게 되면 데이터베이스가 어떻게!?변경 되었는지를 알려줘야 합니다. 그렇지 않으면 io.realm.exceptions.RealmMigrationNeededException: 에러와 함께 실행중지가 됩니다. 이때 필요한게 바로 Migration입니다. Realm Diary 데이터로 사용하는 Person객체가 있습니다. PrimaryKey 인 id 와 이름(name), 성별(gender), 나이(age) 그리고 일기 리스트(diaries) 이렇게 5개의 정보를 가진 객체입니다. 1.Realm을 초기화 해주는 부분에서 schemaVersion설..

안드로이드 2022.11.04

[Android] Lottie 애니메이션

Lottie 애니메이션 Lottie는 AirBnb 개발자 분들이 만든 오픈소스 라이브러리 입니다. 보다 높은 퀄리티의 애니메이션 효과를 네이티브 앱에 적용시키는데 도움을 줍니다. After Effects를 사용한 애니메이션 파일 -After Effects툴을 이용해 json형식의 애니메이션 파일을 만들면 네이티브 앱에 적용시킬 수 있습니다. 이를 위한 도구가 바로 BodyMobin입니다. 개발자 분과 함께 더욱 멋진 애니메이션 앱을 만들기 위해서 UI/UX디자이너 분들은 After Effects를 공부해 보고 적용해 보는것도 좋을 것 같습니다. 앱에 Lottie 적용해 보기 Lottie는 Android, IOS, React Native App, Web모두 호환이 가능합니다. 1.Sample파일 받기 Lo..

안드로이드 2022.11.04

[Android] DrawerLayout 숨겨있다가 액션 취하면 나타나는 기능

DrawerLayout 숨겨있다가 액션 취하면 나타나는 기능 -평소에는 화면의 한쪽에 숨겨져 있다가 사용자가 액션을 취하면 화면에 나타는 기능을 만들 수 있게 해주는 레이아웃 1. DrawerLayout자체가 화면에 나타나거나 사라지는 동작을 수행하는것으로 오해하면 안됩니다. DrawerLayout에 추가된 자식이 DrawerLayout의 영역 안에서 Drawer(서랍)와 같은 동작을 수행하도록 만들어 주는것이다. 그리고 DrawerLayout에 추가된 모든 자식들이 Drawer로 동작하는 것이 아니라는 사실에도 주의해야 합니다. 자식들 중 layout_gravity속성 값을 가지지 않은 자식은 기본적으로 표시되는 주화면으로 취급되고, layout_gravity속성 값을 가진 자식만이 Drawer로써 동..

[Android] Coordinatorlayout에 대해 알아보자

Coordinatorlayout에 대해 알아보자 1.AppbarLayout 단, api level 24이상에서는 support:design library가 포함되어이 있어서 바로 CoordinatorLayout을 추가해도 되지만 그 이하에서는 gradle 파일에 아래 dependency를 추가해 준다. CoordinatorLayout은 frameLayout처럼 parent view 역할을 한다. 이제 이 안에 적절한 view들을 넣어줄 차례인데, 가장 일반적으로 많이 쓰이는 Appbar를 한번 추가해보자. 참고로 Appbar는 api level 11부터 지원하는 Actionbar와 api level 21부터 지원하는 Toolbar를 포괄적으로 부르는 용어이다. CoordinatorLayout은 다음의 2..