![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eAQ52q/btqEEMKc7Xg/JLEVSGQm5hoj8Yr3KFOP01/img.png)
구글 API 발급 https://cloud.google.com/ 에 접속합니다. 로그인을 한 후에 상단에 있는 콘솔 버튼을 눌러줍니다. 그리고 API 및 서비스에 들어갑니다 그리고 프로젝트를 생성해줍니다. 상단에 있는 API 및 서비스 사용 설정을 누르고 Maps SDK for Android를 선택해줍니다. 사용 설정 버튼을 누른 뒤에 사용자 인증 정보로 와서 API 키를 생성해줍니다. 키 제한을 클릭하여 아래와 같이 제한 설정을 해줍니다. SHA-1 인증키 발급받기 SHA-1 인증키는 아래와 같이 발급받을 수 있습니다. Gradle > Tasks > android > signingReport를 더블 클릭하면 위와 같이 발급이 되고 복사하여 붙여 넣으시면 됩니다. 구글 맵 적용 먼저 build.gradl..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/IhZO7/btqECi3xHBw/3SlTgPQYyqYh5k4rPhh4K0/img.png)
스프링부트란 스프링보다 쉽고 간단하게 사용할 수 있도록 하기 위해 나온 프레임워크입니다. 시작하기 스프링부트 프로젝트는 간단하게 만들 수 있습니다. 사이트 에서 만들기 https://start.spring.io/ 위 사이트에 접속한 후 사진과 같이 세팅을 맞춰주면 됩니다. 아래는 세팅이 맞춰진 링크입니다. https://start.spring.io/#!type=gradle-project&language=kotlin&platformVersion=2.3.0.RELEASE&packaging=jar&jvmVersion=1.8&groupId=com.example&artifactId=demo&name=demo&description=Demo%20project%20for%20Spring%20Boot&packageNam..
databinding을 사용하기 전에 먼저 build.gradle에 아래를 추가해줍니다. android { ... dataBinding { enabled = true } } 간단한 databinding 설명 //User.kt data class User(val name: String? = null, val age: String? = null, val number: String? = null) 값을 저장하는 data class인 User 클래스를 만들었습니다. // MainActivity.kt class MainActivity : AppCompatActivity() { lateinit var binding: ActivityMainBinding val user = User("ImLeaf", "18", nul..
speech to text와 text to speech의 예제입니다. 먼저 Manifest에 권한을 추가해줍니다. // AndroidManifest.xml 아래는 권한을 확인하는 코드입니다. // MainActivity.kt private val REQUEST_CODE = 1 if (Build.VERSION.SDK_INT >= 23) ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.INTERNET, Manifest.permission.RECORD_AUDIO), REQUEST_CODE) STT STT는 두 가지 예제로 준비했습니다. 첫 번째는, onActivityResult를 통해 STT를 받는 전체 코드입니다. class MainA..
Retrofit에서 값을 받아온 뒤, data class에 처리를 하는데 data class의 값을 SharedPreference에 저장할 수 없을까 하다가 찾게되었다. GsonBuilder로 Json 값을 data class에서 가져와 저장하면 된다. // User data class data class User(val name: String = "", val gender: String = "") class PreferenceManager(context : Context) { private val pref = PreferenceManager.getDefaultSharedPreferences(context) // Json에서 data class 값으로 변환 fun getUserInfo(key: Strin..
안드로이드 앱은 컴포넌트(Component)로 이루어져 있습니다. 컴포넌트의 종류로는 Activity, Service, Broadcast Receiver, Content Provider가 있습니다. 각 컴포넌트들은 Intent라는 객체로 상호 통신을 합니다. 액티비티 (Activity) UI 화면을 담당하는 컴포넌트 반드시 하나 이상의 액티비티를 가지고 있어야 함 두 개의 액티비티를 동시에 보여 줄 수는 없음 각 액티비티는 매니페스트 파일에 등록되어 있어야 함 프래그먼트를 추가하여 화면을 분할할 수 있음 서비스 (Service) 백그라운드에서 실행되는 프로세스 UI가 없음 한번 시작된 서비스는 애플리케이션이 종료돼도 백그라운드에서 계속 돌아감 네트워크를 통해서 데이터를 가져올 수 있음 Service 클래..