본문 바로가기

Android

(42)
안드로이드 스튜디오, 최근 열었던 파일 목록을 내용 5줄과 함께 보기 안드로이드 스튜디오에서, CMD + E (윈도우는 Ctrl + E) 를 하면 최근 열었단 파일이 보입니다. 여기서 한 번 더 CMD + E를 누르면 변경된 파일만을 보여줍니다. 좀 더 확장된 기능으로, CMD + Shift + E를 누르면, 최근 열었던 파일을 내용 5줄과 함께 보여줍니다. 그 다음 정말 유용한 기능으로, CMD + Shift + E를 한 번 더 누르면 - 최근 수정했던 부분을 5줄 내용을 포함한 목록으로 보여줍니다. - 하나의 파일에서 여러 부분을 수정했다면, 그것을 별도의 항목으로 보여줍니다. - 마치 git 의 changed files를 source tree 에서 확인하는 것과 비슷합니다. - 항목을 더블클릭하면 그 위치로 이동합니다.
안드로이드 APK 디컴파일하기 구글 플레이 스토어에 출시된 앱을 디컴파일 해서 다른사람에게 공유하는 건 불법입니다. 하지만 다른 회사 앱에서는 어떤 라이브러리, 기술을 쓰고 있는지 궁금할 때 공부할 필요는 있기 때문에 디컴파일 할 일도 자주 있습니다. Mac 용 디컴파일 스크립트: 사용법: > ./decompile.sh [APK파일 명. 스크립트와 동일한 폴더에 있어야 함][해당 앱의 패키지 명] 예: > ./decompile.sh app-debug.apk com.stanleykou.hello 디컴파일 중: 설명: 이 스크립트는 먼저 enjarify (https://github.com/google/enjarify) 를 이용하여 apk를 jar로 만듭니다. jar는 zip과 같은 것이기 때문에 압축을 풀어주고, 앱의 패키지명에 해당되는..
[펌] Blocking vs Non-blocking / Synchronous vs Asynchronous https://brainbackdoor.tistory.com/26 blocking vs non-blocking / synchronous vs asynchronous [2017/09/09 추가] 포스팅 후에 피드백을 받았습니다. 원래 글은 IBM 및 다른 블로그, 책 등을 참조해서 작성했었는데, 애초에 IBM 블로그가 오류가 있다고 하네요. 인터넷 상에 IBM 블로그를 기초로 작성된 글들.. brainbackdoor.tistory.com async : 이벤트 핸들러 (callback)에 의해 처리 (callback 함수가 호출되기까지 다른 작업 가능) sync : 이벤트를 자신이 직접 처리(확인의 주체가 유저 프로세스이며, 다 될때까지 기다리거나 스스로 확인) block : 완료까지 대기(리턴되기 전까지 ..
Kotlin coroutine - Job or Deferred? https://stackoverflow.com/questions/53428179/difference-between-job-and-deferred-in-coroutines-kotlin Difference between Job and Deferred in Coroutines Kotlin I am new to coroutines, I understand launch and async but still confusing part is deferred. What is deferred? and different between job and deferred.Clear explanation and Example is more helpful. T... stackoverflow.com Q: I am new to corou..
sdkman: Android studio, 커맨드라인으로 gradle 빌드하기 환경: Mac os 10.15.1 현상: 아마 새 맥북에서 최신 버전으로 모든걸 세팅하고 나서, Android studio에서 코틀린을 gradlew 로 빌드하려면 빌드가 안될겁니다. > ./gradlew assembleDebug Task :app:kaptDebugKotlin FAILED e: java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException at java.base/java.lang.Class.getDeclaredConstructors0(Native Method) .... 원인: JAXBException 가 Java8 에서 지원되던 녀석인데, Java11 에서 제거되어서 그렇습니다. 해결방법: Java11 을 지우고 Java8을 설치하면 되는데...
RxDogTag - RxJava 오류 시, 스택 트레이스를 알아보기 쉽게 https://github.com/uber/RxDogTag uber/RxDogTag Automatic tagging of RxJava 2 originating subscribe points for onError() investigation. - uber/RxDogTag github.com Uber에서 RxDogTag 을 출시했습니다. RxJava를 쓰다가 에러가 발생했을 때, 아래와 같이 알아보기 힘든 로그가 나옵니다. io.reactivex.exceptions.OnErrorNotImplementedException: The exception was not handled due to missing onError handler in the subscribe() method call. Further read..
Android 에서 Flexbox 같은 UI https://androidstudio.googleblog.com/2019/04/constraintlayout-200-alpha-5.html Constraints layout을 이용해서 css flexbox 같은 뷰를 구현하는 Flow 가 드디어 안드로이드에 추가됩니다. https://riggaroo.co.za/android-motionlayout-tutorial-collapsing-view/ 마찬가지로 Constraints layout을 이용하는 Motion layout도 추가되었네요. 점점 css 를 닮아가는 안드로이드입니다
특정 레이아웃의 실제 크기를 단말에서 확인하기 - VQA https://proandroiddev.com/a-new-tool-for-vqa-on-android-585e6f45ef40 A new tool for VQA on Android Window lets you easily debug layouts with a single long press of the home button. proandroiddev.com VQA 라는 앱을 이용하면 특정 레이아웃의 실제 크기를 단말에서 직접 확인할 수 있습니다. 레이아웃이 단말에서 어떻게 나오는지 궁금하다면, 디자이너가 레이아웃을 직접 확인하고 싶어한다면, 실제 단말에 VQA 앱을 설치한 다음, 개발중인 앱을 설치하고 VQA를 활성화 시킨 뒤 특정 뷰를 클릭 해 보세요.