728x90

IT 124

[Android] FragmentPagerAdapter와 FragmentStatePagerAdapter 차이

Android 개발을 하다 보면 ViewPager를 사용할 필요가 종종 생겨난다. ViewPager를 사용할 때 Fragment와 함께 사용하는 경우가 대부분인데, 그럴 때 고민이 되는 것은 Adapter를 어떤 것을 연결해서 사용할 것인가? 이다. FragmentPagerAdapter 는 FragmentPagerAdapter와 FragmentStatePagerAdapter의 2가지로 나뉜다. 결론부터 말하면 FragmentPagerAdapter와 FragmentStatePagerAdapter 중에 고민이 된다면 FragmentStatePagerAdapter를 쓰세요. Google Android Developer 사이트를 찾아보면 사전적(?)인 의미는 아래와 같다. FragmentPagerAdapter ..

IT/Android 2019.08.27

[Kotlin] 코틀린에서 !! 연산자의 의미

코틀린 공식 홈페이지를 가보면 내용을 볼 수 있다. The !! Operator The third option is for NPE-lovers: the not-null assertion operator (!!) converts any value to a non-null type and throws an exception if the value is null. We can write b!!, and this will return a non-null value of b(e.g., a String in our example) or throw an NPE if b is null: ex) val l = b!!.length Thus, if you want an NPE, you can have it, but you ..

IT/Android 2019.08.16

[노트북] 레노버 S540 CPU 언더볼팅 하기(XTU, ThrottleStop), 0x41303 에러 해결 팁

노트북을 사면 CPU 언더볼팅을 통해서 발열을 낮추어 스로틀링을 최대한 늦게 오게 함으로써 최대한의 성능을 발휘할 수 있도록 한다. 언더볼팅을 한다고 해서 배터리 사용량이 늘어난다는 보장은 없다. 왜냐하면 언더볼팅은 CPU에 걸리는 전압을 낮춤으로써 발열을 줄이고, 그로인해 최대한의 성능을 오래 사용할 수 있도록 하는데, 최대한의 성능을 발휘할때 전력 소모가 크기 때문에.. 언더볼팅을 적용한다고 해서 반드시 배터리 사용량이 늘어난다는 보장이 없다. 내가 사용하는 레노버 S540-14IWL은 XTU(Inter eXtreme Tuning Utility)가 호환이 되지 않았다. i5 8세대(8265U) 모델은 호환이 안되는듯 했다. 그래서 새롭게 찾아낸 프로그램은 ThrottleStop 이다. 링크를 따라 들..

IT 2019.08.15

[Android] Kotlin + RxJava + Retrofit + OkHttp 로 http 통신하기

이번 포스팅은 Kotlin + RxJava2 + Retrofit2 + OkHttp3 를 이용하여 HTTP 웹 통신을 하는데, Json 결과로 주고 받는 내용입니다. 예제는 Github의 Contributor 를 불러올 수 있는 API로 구성되어 있습니다. 완성된 예제는 https://github.com/ldhcjs/KotlinOKHttpRetrofitRxJava 에서 보실 수 있습니다. 바로 본론부터 들어갑시다. App 모듈의 build.gradle 은 아래와 같은 라이브러리가 추가되어야 합니다. 2019년 8월 기준 가장 최신 라이브러리로 구성되었습니다. 가끔 호환성 에러가 날 수 있는데 그럴 경우 이번 버전의 라이브러리로 교체해야 할 수도 있습니다. // App 모듈의 build.gradle depe..

IT/Android 2019.08.12

[Android] Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ 에러

이 에러는 아래의 글과 거의 비슷한 에러이다. 에러 처리 또한 비슷한데, 에러 메시지가 아주 약간 달라서 따로 포스팅한다. [Android] jsonSyntaxException Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 에러 해결, Json 파싱 처리 JSON 형식의 데이터를 다루다보면 위의 에러를 간혹 접할 수 있다. 위의 에러의 원인은 GSON으로 JSON데이터를 파싱할 때 형식이 맞지 않아서 발생하는 에러이다. 문제의 원인을 살펴보자. 일반적인 JSON의 데이터.. like-tomato.tistory.com 결론부터 얘기하면 이 에러의 문제도 Json을 파싱할 때 형식을 제대로 맞추지 못해서 발생하는 문제이다. 위 링크의 글의 해결방..

IT/Android 2019.08.09

[Kotlin] 코틀린에서 변수 타입 ? 는 무엇을 의미 하는가

안드로이드 개발을 하면서 코틀린을 배울 필요가 생겨나서 요즘 계속 코틀린에 대한 공부를 하고 있다. 코틀린 코드를 보다면서 간혹 아래와 같은 코드가 보이게 된다. val languageName: String? = null 위의 코드 예제처럼 변수를 선언할 때 타입 뒤에 ?를 붙이는 경우이다. ?의 의미는 languageName 변수를 String 으로 선언을 하는데, String 의 값도 가질 수 있고, Null 값을 가질 수도 있다는 의미다. 그래서 만약 아래와 같이 코딩을 한다면 컴파일 시 에러가 발생한다. // Fails to compile val languageName: String = null 이런 경우의 의미는 타입 뒤에 ?가 없기 대문에 languageName은 Null 값을 가질 수 없다...

IT/Android 2019.08.01

[Kotlin] Not enough information to infer type variable T 에러

Kotlin으로 안드로이드 프로그래밍은 처음 시작한다면 이 에러를 거의 100% 확률로 접할 수 있다. 물론 초기만 당하고, 한 번 당해보면 그 뒤부터는 당할 일이 없는 에러이기도 하다. 위의 에러를 직역해본다면 다음의 뜻이다. "정보가 불충분하여 변수 T에 대한 타입을 추론할 수 없다." 실제 빌드타임에 에러는 아래와 같이 발생한다. C:\workspace\testkotlin1\app\src\main\java\com\testkotlin1\MainActivity.kt: (23, 13): Type inference failed: Not enough information to infer parameter T in fun findViewById(p0: Int): T! Please specify it expli..

IT/Android 2019.07.31

[블루투스 스피커] ThinkWay Tone BS3 Triangle (BS3 트라이앵글)

레노버 S540-14IWL 노트북을 구매하고 사은품으로 받은 블루투스 스피커 씽크웨이 톤 BS3 트라이앵글이다. 다나와 최저가는 1만원 정도. ㅎㅎ 하긴 비싼것을 줄 이유가 없다. 적당한 음질과 가벼운 무게, 마이크로SD 카드에 담긴 음악을 바로 재생이 가능한 유용한 기능.. 만원에 이정도 스피커라면 충분히 괜찮지 않을까?

IT/Review 2019.07.29

KT 와이파이 핫스팟(테더링) 제한 풀기

스마트폰으로 테더링이나 핫스팟을 사용할 때.. 간혹 스마트폰이서 핫스팟이 안켜지는 경우가 있다. 켜지더라도 바로 꺼지는 현상이 나타난다거나, 핫스팟에 기기가 연결이 되도 인터넷이 안되거나 하는 증상이 나타난다. 이 문제는 통신사에서 핫스팟(테더링)을 막아서 발생하는 문제다. 설정 - 모바일네트워크 - 액세스포인트 에 가보면.. 아래와 같이 KT 테더링이라고 적힌 APN이 있다. APN에 tethering만 적힌 경우는 아래와 같이 .ktfwing.com 을 더 적어주도록 한다. 그리고 APN유형을 nodun 으로 변경하도록 하자. 그러면 핫스팟(테더링)이 정상적으로 켜지고 기기를 연결해도 인터넷이 잘 동작한다.

IT/Android 2019.07.23

[신발] 칸투칸 판지오(Fangiox) 블루 오렌지 색상

현재 신고 있던 신발이 스케쳐스 메모리폼 러닝화? 워킹화? 였는데, 너무 편하고 만족스럽게 신었다. 착화감도 좋고, 바닥도 푹신해서 발도 안아프고.. 그런데 동일한 모델을 더이상 구매할 수가 없어서 어쩔 수 없이 다른 신발을 계속 찾고 있었다. 그 와중에 칸투칸 광고가 자꾸 보여서 신발이 머가 있는지 궁금해서 구경하던 찰나.. 판지오 신발을 괜찮아 보여서 구매하게 됐다. 결론. 스케쳐스 메모리폼 신발이 더 좋음.. 쩝.. 가격도 비슷한데.. 그래도 나름 푹신한 신발이다. 280인데.. 거의 290의 느낌이다. 사이즈가 상당히 넉넉하게 나왔다. 난 발이 275~280인데 이 신발은 270을 샀어야 할듯..

IT/Review 2019.07.21
728x90