본문 바로가기

지식쌓기

kotlin @JvmField 자바코드를 kotlin 으로 변환시키다 보면 @JvmField annotation 이 붙는게 있고 안붙는게 있고 그러하다 고럼 @JvmField 이건 머하는 놈인가. 알아보자 api 정의를 기본적으로 보믄.. https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.jvm/-jvm-field/index.html @Target([AnnotationTarget.FIELD]) annotation class JvmField Instructs the Kotlin compiler not to generate getters/setters for this property and expose it as a field. 저거 쓰면 코틀린 컴파일러가 getter / setter 를 안만들.. 더보기
SAM Conversion SAM-Conversion이란? This is possible when the required type is an interface or abstract class with a Single (exactly one) Abstract Methods. Such a class is sometypes called a SAM-type, and the conversion from a lambda expression to an anonymous class is sometimes called SAM-conversion. http://www.gnu.org/software/kawa/Anonymous-classes.html Kawa: Anonymous classes Syntax: object (supers ...) field.. 더보기
kotlin - View 확장 class 생성자 View 클래스들을 확장해서 정의할때 생성자 3개인가 다 정의해줘야 되서 구찮았는데 (os버전따라 4개인경우도) kotlin에선 간단히 한줄로 class CustomTextView @JvmOverloads constructor(context: Context, attrs: AttributeSet?, defStyleAttr: Int = 0) : TextView(context, attrs, defStyleAttr) 하지만 저렇게 정의하면 xml에서 정의한 style이 안먹는다네? 그래서 style이 먹어줘야하는 view들은 결국 3개다 정의 ㅋ class CustemTextView : TextView { constructor(context: Context) : super(context) constructor(.. 더보기
deprecated 된다네 ASyncTask 가 deprecated 로 지정된다고 한다.. 훔 RXJava나 Kotlin 의 Coroutine 으로 이전해야한다고 한다.. 실 Kotlin을 본격적으로 해야할 것 같다.. Fragment의 setRetainInstance도 deprecated된다고 한다.. ㅋㅋㅋㅋ ViewModel을 쓰라고 -ㅅ- 공부할게 많다 https://developer.android.com/topic/libraries/architecture/viewmodel#java https://medium.com/@jeho1335/kotlin-coroutine-%ED%8A%9C%ED%86%A0%EB%A6%AC%EC%96%BC-c2c0a063b2fd Kotlin Coroutine 튜토리얼 2018년 10월 29일 Kotl.. 더보기
apk - 업로드키, 앱사인키 https://developer.android.com/studio/publish/app-signing 새로운 배포방식.. 하도 스토어에서 권장해서 썻더니 이런저런문제가 많다 구구절절 다 쓸려고 했는데 정리가 잘된데가 있어서 링크만 ㅋㅋ https://medium.com/@jungil.han/%EA%B5%AC%EA%B8%80-%ED%94%8C%EB%A0%88%EC%9D%B4-%EC%95%B1-%EC%84%9C%EB%AA%85-%EC%8B%9C-%EC%95%8C%EC%95%84%EC%95%BC-%ED%95%A0-%EB%AA%87-%EA%B0%80%EC%A7%80-ac86952889bf 문제는 회사에서 빌드해서 테스터들에게 주면 업로드키로 사인한걸 주게 되는데.... 폰에 설치가 안되는 문제가.... 로그를 .. 더보기
git 저장소 이동 로그와 함께 git 저장소 이동하기 일단 이동시킬 git 저장소로 가서git remote -v 로 정보 확인해보고 git clone --mirror 이동할git주소git remote set-url --push origin 이동할git주소git push --mirror 끝 git remote -v로 이동되었는지 확인 더보기
[Android] 디버깅시 Native 에서 죽을때 (Fatal signal 6 (SIGABRT)) 안드로이드앱 만들다보면..그냥 실행하면 잘되는데디버깅을 하면 앱이 막 죽는 경우가 있다...그것도 native단에서... Fatal signal 6 (SIGABRT) 에러를 뿜뿜하면서.. -_-thread dump 로그 보고 이리저리 주석처리 해봐도 안됨 -_-근데 디버깅 안하고 그냥 실행하면 또 잘됨 헐;; 찾아보니까..... break point 설정해둔거 다 제거해서... 하면 잘된다;;;;결국엔 내 코드 문제가 아니라 ide 문제였음.. https://stackoverflow.com/questions/38738794/attaching-a-debugger-sometimes-causes-the-app-to-crash 더보기
ffmpeg - android 용 빌드 하기 Windows에서 MinGW 란 것을 이용해서 Android 용으로 ffmpeg 을 빌드해 보자 1. NDK 설치 - https://developer.android.com/ndk/downloads/index.html - android-ndk-r13b-windows-x86_64.zip - C:/dev/Android/android-ndk-r13b 에 풀었음 2. MinGW 설치 - http://www.mingw.org/ - 버전 0.6.2-beta-20131004-1 - C:/MinGW 에 설치했음 - MinGW Installation Manager 실행됨 -> mingw-developer-tookit, mingw32-base, msys-base 설치 3. ffmpeg - https://ffmpeg.org/.. 더보기