IT_Story 썸네일형 리스트형 [kotlin] Caused by: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter intent 작년부터 Kotlin으로 안드로이드 개발을 하고 있고, 현재는 SmartDeviceLink라는 SDL (차량 연동 앱..??) 기능을 개발하고있다. Sdl과 현재 앱과 연결을 하려면 service로 띄어서 돌려야하는데 (잡다한건 미루고..) 간혹가다가 크래쉬가 나서 앱이 죽는다. Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter intent 이게 뭔가 했더니 parameter에서 notnull인데 null로 intenr가 넘어온다는 얘기던데요. 현재 Service 코드를 보면 onStartCommand 에서 intetn가 null일 수 있다는 표시가 없.. 더보기 Android xml 에서 @+id, @id 차이? 기초적인 건데.. Android xml에서relative나 constraintLayout을 이용할 때, 위치 지정을 할 때 '@id/button' 을 지정해주는 경우가 많은데. @+id : 새로 추가되는 리소스 아이디. @id : 이미 추가된 리소스 아이디. 간단함. 더보기 DOZE 모드 ADB 명령어 정리 1. adb shell dumpsys battery unplug.(배터리 충전되지 않게 변경) 2. device screen off 3. adb shell dumpsys deviceidle step(device status가 idle 되게 만들기) 4. device screen on or device moving (doze 모드에서 빠져나옴) 5. adb shell dumpsys battery reset(배터리 충전상태 reset) 6. adb shell dumpsys deviceidle(device status 확인) 더보기 Error While Launching Activity.. 갑자기 잘되었던 프로젝트가 error를 발생시킬 때가 있다. Error while executing : am start - n ~~~~~Error while Launching activity. 앱 설치는 되는데 실행할 때마다 크래쉬를 뱉는다.Activity가 없다라는 건데.. 있는데???? 왜 없다고해?? 해결방법은 너무 단순하다.1. Build -> Clean Project2. Android Studio 재시작3. Build -> Clean Project 역시....간단해 더보기 Android Studio build시 오류 오늘 갑자기...사람들이 개발한거 머지하고 빌드하려고보니까오류가 났다. Configuration on demand is not supported by the current version of the Android Gradle plugin since you are using Gradle version 4.6 or above. Suggestion: disable configuration on demand by setting org.gradle.configureondemand=false in your gradle.properties file or use a Gradle version less than 4.6. 머지..??????Studio 3.1.2로 올리면서 발생한 것같은데.. 해결책은,1. gradle.p.. 더보기 [자바] 기초적인 - 접근제어자 구분 개발을 잘 모를 때 많이 실수 했던 부분 중에 하나이다. public, protected, private 의 차이점. public : 모든 클래스에서 접근 가능protected : 동일패키지에 속해있는 클래스, 서브클래스에서 접근 가능private : 클래스 내에서만 접근 가능 쉽게 표로 확인을 해보면 종류 클래스 하위클래스 동일패키지 모든클래스 public O O O O protected O O O X private O X X X (default) O X O X 더보기 안드로이드 MediaController Custom 요새 비디오 재생(연속재생) 때문에 VideoView, Controller를 좀 만지고 있는데기존에는 그냥 대충 기본으로만 만들다가 custom하게 만드려니까 헷갈릴만한 부분이 있다. 1.CustomMediaController extends MediaController 라고 해도빨리감기, 되감기(15초) 버튼은 보여지게 된다. 안드로이드에서 제공해주는 기본이 15초 빨리,되감기이며 new MediaController(Context, boolean) 을 통해서 버튼을 사용하지 않을 수 있다.문서에 아래와 같이 써있다. The "rewind" and "fastforward" buttons are shown unless requested otherwise by using the MediaController(C.. 더보기 svn -> git 이전 시작. 회사에서 부서들이 몇년동안 쓰던 svn을 버리고 git으로 전환하고 있다. 처음 회사에 입사하고 git에 대해 설명을 해주었을 때 장점이 코드리뷰라고 한게 기억이 난다.(다른것들도 많았겠지만.. 기억남는 부분이 ㅎㅎ) 그외에 SVN이랑 다른점은 딱히 없는 것 같기도 하고..바쁘기도 하고.. 겸사겸사 이전하는걸 미뤘다가드디어 하게 되었다. git을 찾아보니 svn과 다른 장점이 무언가 하면..1. 저장소 사본을 내가 가지고 있기 때문에 브랜치 작업이 자유롭다. svn일 때는 서버에 커밋권한이 없으면 브랜치 따는게 힘들었지..2. 브랜치 사이 merge작업이 쉽다.svn에서는 merge기록이 있긴 하지만.. 명확하지 않지만git에서는 명확하게 기록이 남는다. 근데 꼭 git을 사용해야되나??? 라는 생각이 .. 더보기 PopupWindow 사용 개발하면서 자주 사용하는게Dialog 및 popupWindow를 사용한다. Dialog 에서 외부 클릭시 닫는 거는setCanceledOnTouchOutSide(true)이며 PopupWindow에서는setOutSideTouchable(true);setBackgroundDrawable(new BitmapDrawable()); 이다. setOutSideTouchable(true)만 사용했다가 안되서 보니... 배경을 지졍해줘야되드라.. 참고로,setOnDismissListener()를 통해서 팝업윈도우가 dismiss()되어지는 콜맥메소드 활용도 가능하다. 더보기 제조사별 분기처리 안드로이드를 하다보면 좀 짜증나는게.. 너무 파편화가 되어있다는 점.. 그래서 간혹가다가 SDK 버전을 분기태우거나 제조사를 분기태울 일이 있다. 삼성에서는 되는데~ LG에서는 안되고~ LG에서는 되는데~ 팬택에서는 안되고~ 이럴경우에는 아래 처럼 해보자. 여기에 나오는 것들이 fingerPrint인데 $(BRAND)/$(PRODUCT)/$(DEVICE)/$(BOARD):$(VERSION.RELEASE)/$(ID)/$(VERSION.INCREMENTAL):$(TYPE)/$(TAGS) 이런식인거다. 여기서보면 BRAND는 LGE 인걸 알 수 있다. 나는 boolean 매소드를 만들어서 처리를 했는데Build.BRAND()를 이용해서 분기처리하면 끝~! public static boolean isLGEDev.. 더보기 이전 1 2 3 4 ··· 6 다음