일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Same parameter
- Flutter
- Parameter specified as non-null is null
- dart
- pubspec.yaml
- Android
- 배움순서
- permission_handler
- dart test
- Refresh Tocken
- widget test
- SOLID 원칙
- 2D graphics library
- 8시간 삽질
- 다트 테스트
- 객체 지향 설계
- pubspec
- 플러터 테스트
- 다트
- TDD 개발 방법론
- 인코딩방지
- 테스트 주도 개발론
- 안드로이드
- 플러터
- retorift
- 2D 그래픽 라이브러리
- refresh 토큰
- 안드로이드를 위한
- 토큰갱신
- 에러 메시지를 잘보자 ^^
- Today
- Total
목록분류 전체보기 (20)
Landroid
플러터로 프로젝트를 생성하면 pubspec.yaml이라는 파일도 같이 생성이 됩니다. 주석이 많은데 잘 보시면 pubspec.yaml을 어떻게 사용하는지 안내하는 내용이 담겨 있습니다. 꽤 자세히 작성되어 있어서 읽어보시면 좋고 물론 보기 불편하니 삭제하셔도 무관합니다. pubspec 속성 종류 name: test description: A new Flutter application. publish_to: 'none' version: 1.0.0+1 environment: sdk: ">=2.7.0
플러터를 처음 공부할 때 가장 어려웠던 것 중 하나가 권한요청입니다 ㅠㅠ. 정확히는 어렵다기 보다 내장기능이 없고 라이브러리를 끌고 와서 사용해야 한다는 점이 안드로이드랑 좀 달라서 당황스러웠습니다. 그럼 플러터에서 권한 요청하는 대표적인 라이브러리인 Permission_handler에 대해 알아보겠습니다. 우선 원하는 라이브러리를 찾기 위해 아래 사이트에 접속해서 permission이라고 검색을 합니다. https://pub.dev/ Dart packages Pub is the package manager for the Dart programming language, containing reusable libraries & packages for Flutter, AngularDart, and gener..
플러터를 알고 있다고 가정하고 생명주기에 대해 설명하겠습니다. 화면상 모든 것은 위젯 화면상에 표현되는 모든 것들을 위젯이라는 것은 아실 겁니다. 위젯은 StatelessWidget과 StatefulWidget로 크게 나눌 수 있습니다. 이 두 가지에 따라 위젯들은 상태를 가질 수도 있고 가지지 않을 수 있습니다. Stateless 의미만 봐선 상태가 없다는 뜻입니다. StatelessWidget은 상태를 가지지 않은 위젯이란 뜻입니다. 그럼 여기서 상태가 무엇일까요? 위젯에서 상태란 위젯에 대한 속성을 의미합니다. 예를 들어 Text 위젯에는 text가 상태겠네요. text만 상태일까요? style, font, color 등 해당 위젯이 가지고 있는 속성을 모두 상태라고 부릅니다. 이렇게 위젯은 모두 ..
안녕하세요 ~! 오늘은 안드로이드가 아닌 소프트웨어 공학을 주제로 가져와 봤습니다. ㅎㅎ 왜냐고요? 내 맘이니까 여러분들에게 유용한 지식을 제공하기 위해서죠ㅎ 그럼 긴 말없이 SOLID가 무엇인지 설명을 해보도록 하겠습니다. 우선 SOLID는 무엇의 약칭일까요? 한 번 펼쳐보면 다음과 같습니다. SRP (Single Responsibility Principle): 단일 책임 원칙 OCP (Open Closed Principle) 개방 폐쇄 원칙 LSP (Liskov Substitution Principle) 리스코프 치환 원칙 ISP (Interface Segregation Principle) 인터페이스 분리 원칙 DIP (Dependency Inversion Principle) 의존 역전 원칙 보시는 ..
자~ 인사는 생략하고 제가 상황을 한 번 가정하겠습니다. 여러분은 안드로이드 앱 개발자입니다. 개발을 하기 전에 백엔드 개발자가 만든 명세서를 보다가 이상한 점을 발견합니다. 바로 백엔드 개발자한테 말하자 되돌아온 말은 ???: 응, 저렇게 데이터 여러 개 넣어서 보내줘 ~ ^^ ??????????? 이 말을 들었을 때 처음 든 생각은 "아니 이걸 어케 구현해 (-_-;;)" 하. 지. 만 오랜 시간 삽질한 끝에 드디어 해결책을 찾았습니다! 우선 코드부터 보시죠. @Multipart @GET("/") fun getWhat(@PartMap partMap: HashMap): Call 평범하게 해쉬맵으로 보냅니다. 그럼 해쉬맵에 데이터를 어떻게 넣어야 할까요? var requestHashMap: HashMap..
안녕하세요 ~ 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입니다~! 보통 안드로이드에서 검색 기능을 구현할 때 많이들 사용하시는데요. 의외로 자료가 많이 없어 구현하는데 애를 먹는 뷰이기도 합니다. 그래서 오늘은 SearchView 사용법에 대해 설명하겠습니다. 우선 여러분은 검색 기능을 어떻게 구현하시나요? 보통 ToolBar 안에 검색 창을 구현하시는 게 대부분인데 EditText를 이용해서 구현하신가 하면 메뉴에 아이템을 추가해서 검색을 구현하신 분들도 계십니다. 하지만 SearchView를 쓰시는 개발자는 그렇게 많지 않습니다. 이유는 커스텀해서 원하는 시는 대로 꾸미지 못하기 때문이라네요. 그럼 SearchView 속성 만으로 간단하게 사용하는 방법을 알아보겠습니다. 우선 툴바 안에 SearchView를 넣으시고 나중을 위해..
사건전말 오늘도 평화롭게 코딩을 하고 있는 나에게 갑자기 뜬금없는 곳에서 에러가 발생했습니다. E/AndroidRuntime: FATAL EXCEPTION: main Process: 패키지명, PID: 7992 java.lang.RuntimeException: Unable to start activity ComponentInfo{패키지명.Detail.View.DetailPostActivity}: java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkNotNullParameter, parameter asset at android.app.ActivityTh..
안녕하세요~ 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 호출") } 그런데 위에 코드는 응답 코드를 얻을 수 없고 응답 성공/실패 여부를 나타낼..