전체 글
[Android] Retrofit2 사용하기
Retrofit2 ? -Rest API 통신 라이브러리 -Rest API 통신을 위해 구현된 스퀘어사의 OkHttp 라이브러리의 상위 구현체 -android와 서버 환경에서 HTTP API를 쉽고 안전하게 사용할 수 있도록 도와준다. Retrofit을 사용하기 위해 사전준비를 해보자! 1. 준비 네트워크를 사용할 것이니 다음과 같이 AndroidManifest.xml파일에 추가하자. 또한, build.gradle에 의존성도 추가해주자!! // Retrofit2 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.squareup.retrofit2:retrofit-mock:2.9.0' implementation 'com.goo..
[Android] UnknownServiceException:CLEARTEXT communication to **** not permitted ....Error
서버 rest api 연동을 하다가 다음과 같은 에러가 발생했다. UnknownServiceException:CLEARTEXT communication to **** not permitted network security policy 서버하고 연동을 하다보니 에러를 해결해도 계속해서 또 다른 에러가 발생했다. 하지만 위와 같은 에러는 처음봤다.. 구글링을 해보니 안드로이드 pie에서 http로의 전송이 기본적으로 차단된다고 한다........... 알고보니 내가 지금 사용하고 있는 주소 네트워크 경로가 https가 아니고 http로 되어있었다. private const val BASE_URL = "http://********:8080" 너무 쉬운 에러였다고 생각하고 https로 바꾸고 실행해보니 또 다른..
[Android] Splash 화면 만들기
Splash Screen ? 앱의 대표 이미지, 로고, 앱을 표현할 수 있는 것을 그래픽요소로 보여주는 화면으로 프로그램이 실행되거나, 로그인 했을 때 나오는 화면이다. 목적 안드로이드 앱을 실행할 때 약간의 시간이 소요되는데, 그 때 아무것도 없는 빈 화면 보다는 지루함을 방지하기 위해 사용된다. 간단한 뷰이므로, drawble 폴더에 xml파일을 만들어 하기도 하는데 이 글에서는 직접 레이아웃을 만들어보자!! 레이아웃에 직접 activity_login_success.xml 이라는 파일을 만들어 로그인을 했을 때 홈화면에 들어가기전에 보이는 스플래시 화면을 직접 구현했다. class LoginSuccessActivity : AppCompatActivity() { override fun onCreate(..
[Android] SVG 사용하기
1. 먼저 PNG대신 SVG로 아이콘, 이미지를 저장한다! 2. 프로젝트 창에서 app -> new -> Vector Asset을 클릭한다 3. Asset Type 에서 Local file을 선택하고, next -> finish 버튼을 클릭한다. 4. drawable파일에서 vector파일로 잘 들어갔는지 확인한다! 다음 그림과 같이 잘 변환되었으면 거의 끝! 5. src에 해당 drawable 파일을 참조하면 끝~!! PNG로 했을 때 이미지 해상도가 깨졌던 문제가 있었는데, SVG로 해당 문제를 해결했다!!!
[Android] PNG vs SVG 어떤 것이 정답일까?
PNG 안드로이드 개발을 시작하면서 디자이너가 디자인한 아이콘, 이미지 등을 보통 PNG로 받아왔다. 하지만 해상도에 따라 이미지의 사이즈가 나의 의도와는 다르게 바뀌는 경우가 있었다.... 바로 src 에 PNG파일을 그대로 넣어서 사용했는데, 이렇게 하면 위와 같은 문제가 발생했고, 많이 찾아보다가 안드로이드에서 이를 방지하기 위해 drawable 폴더를 dpi값에 따라 나누었다고 한다. 따라서 디자이너가 다양한 안드로이드의 기기들의 크기, dpi, 해상도별 다른 사이즈로 PNG를 제공해야 한다는 단점이 존재했다.... 이거 때문에 여태까지 어떤 이미지는 내가 원하는 만큼 잘 나왔지만.. 어떤 이미지는 해상도가 많이 깨지는 문제가 발생했다 SVG png를 사용하지 않고, svg를 사용할 경우에는 디자..