목록Android (136)
Nuke Olaf - Log Store
API 기능이 25개 가량 있는데, 3개의 요청을 제외하고는 전부 header 에 Authorization 이 들어간다. 3개의 함수를 제외한 나머지 요청에만 header 인터셉터를 추가해주는 코드 만약 encodePath 에 /users/check, /users/join, /users/login 이 들어가면 header 를 안붙여준다 별거 아닌 코드인데 찾느라 개고생했다. val okHttpClient = OkHttpClient.Builder() .addInterceptor { chain: Interceptor.Chain -> val original = chain.request() if (original.url.encodedPath.equals("/users/check", true) || origina..
현재 나는 retrofit 을 사용하여 Metaler 서버와 통신하고 있다. 클라이언트 측에서 잘못된 request 를 보내거나, 서버 측에서 뭔가 문제가 있을때 body() 는 null 로 오고, errorbody() 에 에러 코드가 정의되어 돌아오도록 되어있다. 레트로핏은 응답의 Http 상태코드가 200이던 400이던 상관없이 통신이 성공하기만 하면 onResponse() 콜백을 타게 되므로 (인터넷 장애로 인한 통신 실패일 경우만 onFailure() 콜백을 탄다) onResponse() 에서도 if (body != null && response.isSuccessful) 이런식으로 상태코드가 200이고, 응답이 null 값이 아닌지 확인을 해줘야 한다. 아래는 response 를 검증하는 회원가입..
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..
보호되어 있는 글입니다.
레트로핏을 사용할 때, 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..