일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 토큰갱신
- 플러터
- 플러터 테스트
- 8시간 삽질
- Refresh Tocken
- 테스트 주도 개발론
- retorift
- 2D graphics library
- Android
- widget test
- dart
- 안드로이드를 위한
- 다트
- TDD 개발 방법론
- SOLID 원칙
- dart test
- permission_handler
- 2D 그래픽 라이브러리
- 배움순서
- pubspec
- Flutter
- 다트 테스트
- pubspec.yaml
- refresh 토큰
- 객체 지향 설계
- 인코딩방지
- 안드로이드
- 에러 메시지를 잘보자 ^^
- Same parameter
- Parameter specified as non-null is null
- Today
- Total
목록안드로이드 (4)
Landroid
보통 토큰을 사용하기 위해서 Access 토큰이 리소스에 접근하고 Refresh 토큰이 Access 토큰을 갱신하도록 만들어야 합니다. Refresh로 토큰을 갱신하는 방법 중에는 Workmanager나 Interceptor 등이 있는데 이번 시간에는 Interceptor로 토큰을 갱신하는 방법을 알아보겠습니다. Interceptor란? 우리가 클라이언트와 서버 사이에서 통신을 합니다. interceptor 해당 네트워크 통신을 하는 중간에 요청과 응답을 보내거나 받거나 간섭하는 역할을 수행합니다. TMI interceptor에는 크게 두 가지가 있는데, Application Interceptor와 Network Interceptor가 있습니다. Interceptor로 응답 확인 internal clas..
안녕하세요 ~ Landroid입니다! retrofit을 사용하실 때 @Query를 자주 사용하실 텐데요. https://address.com/user?name=안녕 https://address.com/user?name=%EC%95%88%EB%85%95 간혹 위에처럼 들어간 값이 자동으로 utf-8로 인코딩 되어 원하는 주소가 나오지 않은 불상사도 자주 발생합니다. 오늘은 @Query 문에 인코딩을 방지하는 방법에 대해 설명하겠습니다. encoded = true 먼저 첫 번째 방법은 @Query 속성 중 하나인 encoded 값을 true로 설정해주는 것입니다. encoded가 true이면 @Query에 들어오는 값은 인코딩이 된 것임을 알리기 때문에 자동으로 인코딩 되는 것을 방지할 수 있습니다. 그러나..
안녕하세요~ Landroid입니다! 가끔 개발하다 보면 텍스트 뷰 안에 특정 부분에만 색상이나 폰트 같은걸 적용해야 하는 경우를 마주할 수 있습니다. 그래서 안드로이드에서는 스팬이라는 걸 사용해서 특정 부분에만 효과를 줄 수 있습니다. 하지만 만약 # 태그에만 스팬으로 처리해야 한다면 어떻게 해야 할까요? 구글링으로 찾아본 결과......... 없습니다. ?????? 보이는 곳마다 스팬에서 시작 값과 끝 값을 항상 임의로 숫자를 주는 예제만 있고 텍스트가 동적으로 변할 때 적용하는 방법을 설명하는 곳이 단 한 군데도 없었습니다. ㅠㅠ 게다가 #태그만 스팬으로 처리하는 방법을 구글링해도 찾을 수가 없었습니다. ㅠㅠ 그래서 준비했습니다! #태그만 스팬으로 처리하는 코드를! 우선 메인 xml 코드입니다. 그다..
안녕하세요~ Landroid입니다! 안드로이드 개발하면서 서버 통신해보신 경험 있으시죠? 저는 REST API를 손쉽게 다루는 Retrofit이라는 라이브러리와 비동기 상태에서 통신을 원하기 때문에 Kotlin의 Coroutine을 자주 사용합니다. (이해를 돕기 위해 안드로이드가 아닌 평범한 코틀린 코드로 설명하겠습니다.) fun main() = runBlocking { println("첫 번째 main 호출") GlobalScope.launch { val result = RetrofitClient.webservice.getTodo(1) println(result) }.join() println("두 번째 main 호출") } 그런데 위에 코드는 응답 코드를 얻을 수 없고 응답 성공/실패 여부를 나타낼..