목록분류 전체보기 (238)
Nuke Olaf - Log Store
BuildConfig 는 빌드와 관련된 구성 상수를 포함하는 자동 생성 클래스이다. 나는 API 키를 res/values/String 말고, BuildConfig 에 저장하기로 했다. 1. Kotlin 클래스에서 BuildConfig 호출해서 사용하는 법 Gradle.properties 에 API 키를 추가해준다 KAKAO_API_KEY="e5kx9l7alskvjzwqpxk6" Build.gradle(Module:app) 에서 defaultconfig 에 buildConfigfield 를 삽입해준다 android { ... defaultConfig { ... buildConfigField("String", "KAKAO_API_KEY", KAKAO_API_KEY) } } Sync 를 해주면, BuildCo..
ArrayList 와 mutableListOf 의 차이 val a = mutableListOf() val b = ArrayList() Kotlin 공홈에 가보면, ArrayList 는 MutableList 인터페이스를 상속받은 구현체임을 알 수 있다. class ArrayList : MutableList, RandomAccess 명시적으로 처음부터 MutableList 중 특별히 ArrayList 를 원하는 경우에는 ArrayList 로 선언하고, List 이지만 수정, 삭제가 가능한(Mutable) 한 리스트를 원하는 경우에는 List 로 선언하는 것이 좋다고 한다. 어차피 Compile Time 에는 ArrayList 든 MutableList 든 List 로 인식되므로 큰 차이는 없다고 함. The ..
보호되어 있는 글입니다.
레트로핏을 사용할 때, OkHttp Interceptor 를 같이 사용하면 편리하다고 한다. 인터셉터는 호출을 모니터링하거나, 재작성 및 재시도 할 수 있는 매커니즘. 나는 이런식으로 HeaderInterceptor 와 LoggingInterceptor 를 사용했다. OKHttp 에 대한 공부가 더 필요할 것 같다. val okHttpClient = OkHttpClient.Builder() .addInterceptor { chain: Interceptor.Chain -> val original = chain.request() chain.proceed(original.newBuilder().apply { addHeader("X-Naver-Client-Id", Naver_Client_Id) addHeader..
영화 별점을 보여줄 수 있는 별점 view 를 구현하고 싶어서 찾아보니 Rating Bar 라는게 있다고 함. 근데 크기를 내가 원하는대로 조절 못함. RatingBar의 Style은 총 3가지로 크기가 가장 큰 순으로 RatingBar -> Inficator -> Small 3가지만 사용 가능 참고 사이트 >>> https://developer.android.com/reference/android/widget/RatingBar https://lktprogrammer.tistory.com/180
안드로이드에서 검색 인터페이스를 만들 수 있는 두 가지 방식이 있다. 참고 : https://developer.android.com/guide/topics/search/search-dialog Search Dialog 와 Search Widget 이다. 둘은 같은 기능을 제공하지만 차이점이 있다. 거기에 대해서는 다음번에 알아보기로 하고, Search Widget 에 대해 알아보자. 1. Search View 의 사용 례 Search Widget 은 Search View 의 인스턴스이다. Search View 는 액션바에 검색메뉴를 만들거나, submit 버튼 없이 사용자가 엔터를 눌렀을때 바로 검색이 되게 하고 싶은 경우에 사용할 수 있다. 2. Search View 사용 방법 xml iconified..
Okhttp3 Intercepter 코드를 아래와 같이 작성했는데 Cannot inline bytecode built with JVM target 1.8 into bytecode that is being built with JVM target 1.6. Please specify proper '-jvm-target' option 이런 에러가 떴다. Module: app 수준의 build.gradle 에 해당 내용을 입력하니 해결되었다. android { compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = Java..
현재 진행중인 프로젝트의 약관 동의 화면에서 모두 동의합니다를 누르면 전체 체크박스가 체크되고, 모두 동의에서 하나라도 체크가 해제되면 모두 동의합니다 체크박스가 해지되는 기능을 구현하려고 한다. 각 체크박스마다 클릭 리스너에 onCheckChanged() 함수를 호출하도록 했다. onCheckChanged 는 어떤 버튼이 상태가 변경되었는지 확인하고, 상태 변화에 따라 체크박스 상태도 변경하는 함수이다. class ActivityTermsAgree : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity..