본문 바로가기

Android22

[Kotlin] let 사용방법 및 주의 1. filter 의 결과물을 let 으로 1개 또는 여러개의 작업수행 val numbers = mutableListOf("one", "two", "three", "four", "five") numbers.map { it.length }.filter { it > 3 }.let { println(it) // and more function calls if needed } 위의 예시에서 만약 let{ } 블럭 안에 하나의 function 만을 포함하며 매개변수가 1개의 it일 경우 .let(::println) 으로 대체가능하다. 2. Not Null 체크 val str: String? = "Hello" //processNonNullString(str) // compilation error: str can b.. 2021. 3. 26.
[Kotlin] 시간 얻어오기 TimeZone 자주 쓰는 기능 중에 TimeStamp 또는 현재시간 Long 타입에 대해 유연하게 String 값으로 변경을 해야하는 경우가 많다. fun getTimeYYYYMMDD() : String { //현재시간 val curTime = Date().time val format = SimpleDateFormat("원하는형식yyyy-mm-dd") //TimeZone 설정 (GMT +9) format.timeZone = TimeZone.getTimeZone("Asia/Seoul") //결과물 return format.format(time) } "2020-01-11" 리턴한다. (참고) Java 8 부터는 LocalDate 클래스로 시간&날짜를 유연하게 사용이 가능하다. 끝 2021. 1. 11.
Android Studio & BigSur 깜빡거림 렉 버그 이번에 MacOS 를 BigSur 로 업데이트 후 Android Studio 4.1.1 이 비정상적인 동작으로 이용이 어려웠던 현상이다. 각종 팝업이 뜨느 경우 전체창으로 열리면서 계속해서 버튼이 깜박거리고 클릭이 안되는 현상이다. Solution 1. - 애플자체 [환경설정] - [일반] - 문서를열때 탭에서 열기 '안함' 으로 변경 Solution 2. - Terminal 앱을 연다. - defaults write com.google.android.studio AppleWindowTabbingMode manual 입력 Solution 3. - AndroidStudio 4.2 Canary Preview 버전으로 사용한다. 내가 택한 방법은 끝. 2021. 1. 6.
SDCard 통째로 Cloning 하는 법 (Ubuntu 20.04.1 LTS) Ubuntu 기준으로 SDCard 를 통째로 부팅 Image 로 Clone 하는 글 입니다. 최근 현재까지도 Odroid 라는 보드를 이용한 AOSP 프로젝트를 진행중이다. 매번 boot.ini, *.mk, 부팅 로고 등 변경 후 재빌드를 하여 OS 설치이미지를 빌드하는 과정을 반복한다. 설치이미지는 최초 실행시 OS 초기화 단계 (약 1분30초 ~ 2분 정도 걸림) 를 진행해야 핬다. 그리고 OS 부팅이 완료되면 꼭 해줘야 하는 기본 OS 설정들이 몇가지 있었다. 예를 들면 화면 회전, 글씨 기본 사이즈 변경, IP 주소 변경, 키보드 변경 등 OS 환경설정을 꼭 해줘야만 하는 것이다. 개인적인 프로젝트가 아닌 실제 프로젝트로 하게되는 경우 장비의 메인보드 (Odroid) 당 1개의 SDCard (Em.. 2021. 1. 6.
(에러) cleartext http traffic to not permitted 문제 해결 Android 9 (Pie) 부터 http 접근이 기본적으로 제한되도록 변경되었습니다. https 가 이제는 거의 기본인듯 하네요. 해당 내용은 해당 링크에서도 확인하실 수 있습니다. (하단 스크린샷 참고) https://developer.android.com/about/versions/pie/android-9.0-changes-28?hl=ko 동작 변경사항: API 레벨 28+를 타겟팅하는 앱 | Android 개발자 | Android Developers Android 9(API 레벨 28)에서는 Android 시스템에 많은 변경사항이 도입됩니다. 다음과 같은 동작 변경사항은 API 레벨 28 이상을 타겟팅하는 앱에만 적용됩니다. targetSdkVersion이 API 레벨 28 이상으로 설정된 앱은 .. 2020. 3. 16.
(필수&추천) 자주쓰는 안드로이드 adb 명령 정리 ( Mac 또는 리눅스 계열 OS용 ) 유선연결(USB) 뿐 아니라 무선연결(Wifi)에서도 테스트 개발 폰이나 예뮬레이터를 제어할 수 있습니다. adb 제어를 처음 접하는 분들을 위한 내용입니다. 주로 사용을 많이 하는 부분을 정리하였습니다. 1. terminal 에서 adb 연결하기 $adb connect (:) 예) $adb connect 192.168.0.1(:5555) 같은 망에 있다면 USB, Wifi 모두 연결 가능함. 단, Wifi 의 경우 방화벽이나 기타 네트워크 환경에 따라서 연결불가할 수 있음. ( 21. 1. 27 추가 - wifi 연결 ) 무선연결시 최초 디바이스 연결시 USB 로 1번은 연결 해줘야한다. 그리고 '개발자모드 - PC USB 디버깅 모드 허용' 도 해주고 나서, $adb tcpip 5555 USB 선 연.. 2020. 2. 6.