MacBookPro2014 을 사용하다가 M1 칩이 탑제된 MacBookPro 가 출시 되었다고 해서 오랜 고민 끝에 구매하였습니다. 여러 프로그램을 설치하며 만족함을 느끼며 마지막으로 Android Studio 을 설치하였는데 예상하지 못한 문제가 발생하였습니다. M1 환경에서 Android Studio(정식버전)의 에뮬레이터가 실행되지 않습니다. 구글쪽에서 M1 환경에 대한 Android Studio 대응 버전을 개발하고 있는 현재 상황에서 안드로이드 개발자로써 너무 성급히 장비를 바꾸었나 자책하고 있던중 저와 같은 고민을 하고 해결한 사례가 있는지 찾아봤는데 역시나.. 있었습니다. 이번 포스트에서는 M1에서 Android Studio 에물레이터 돌리는 방법 및 Android Studio M1 에서 ..
운영중인 안드로이드을 모니터링 하는 다양한 방법 가운데 가장 적은 비용으로 구축 할 수 있는 방법 중 하나는 Firebase Crashlytics 을 도입하는 것입니다. 제가 운영하는 Toy App 에서 웹뷰를 사용하는 앱이 있는데요. 그 앱에는 Firebase Crashlytics을 구축하여 앱 안정성을 모니터링 하고 있습니다. 최근 다음과 같은 Webviw에서 이슈가 발생했습니다. Caused by java.lang.RuntimeException Using WebView from more than one process at once with the same data directory is not supported. https://crbug.com/558377 : Current process com.x..
구글에서 코틀린을 공식 언어로 추가하면서 Java로 열심히 개발했던 안드로이드 개발자에게는 새로운 언어를 배워야하는 환경이 조정되고 있습니다. 이미 많은 개발자분들은 자바 소스로 구성된 프로젝트를 코틀린 소스로 변경하고 운영중일 것입니다. '굳이 코틀린으로 변경할 필요 있겠어?' 라는 생각으로 자바 소스를 계속 유지하고 계신 분들도 있을 것입니다. 코틀린 vs Java 코틀린과 Java을 비교하는 방법 중 Java의 단점을 코틀린이 보완 할 수 있는지 확인하는 것도 방법이라 생각합니다. 이번 포스트는 Java와 다른 코틀린의 장점인 크게 2가지로 Null 안정성과 코드 간소화의 주제로 진행합니다. Null 안정성 Java 개발 하다보면 가장 많인 접하는 Exception은 Null Point Except..
스마트 디바이스을 통해 웹과 앱에서 다양한 컨텐츠(Content)을 접하고 있습니다. 다양한 컨텐츠에서도 UI 가 Nice 한 컨텐츠에 더 눈이 가서 진입율도 높은 편입니다. 가장 많이 사용하는 디자인 중 하나는 Corner Round 처리라고 할 정도로 디자인에서 사용하고 있는데요. 이번 포스트에서는 Corner Round 하는 방법에 대해서 알아보겠습니다. SHAPE 을 활용한 방법 Corner Round 하는 방법 중 하나는 shape 을 활용하는 방법입니다. Shape 는 xml을 통하여 만들 수 있으며 아래와 같이 안에 을 두어 Corner에 Radius을 설정할 수 있습니다. 생성한 Shape을 Layout Background 로 설정하여 Corner Round View을 설정할 수 있습니다...
접근성 > 스크린 리더 > Voice Assistant 을 활성화 시시력이 약한 사용자를 위함 음성 피드백이 제공하게 됩니다. Android에서 Voice Assistant 처리하는 방법을 간단히 알아보겠습니다. 접근성(Voice Assistant) 등록 방법은 xml에 추가한 위젯(Widget)에 contentDescription 을 추가하면 됩니다. ‣ android:contentDescription="hello" 만약 Voice Assistant을 받지 않으려면 xml 에 다음과 같이 추가 하면 해당 부분은 Focus가 이동하지 않아 Voice Assistant 동작하지 않습니다. ‣ android:importantForAccessibility="no" Voice Assistant의 강제 이동으로 ..
증분빌드에 대해서 들어보셨나요? 증분 컴퓨터 관련 용어로는 레지스터에 1을 더하는 것, 단위체로 취급되는 경우의 샘플링 단위 등을 의미함. - 네이버 지식백과 이번 포스트는 증분빌드를 통한 에러가 발생한 경험을 나누려고 합니다. Android로 구성된 앱을 AndroidX로 마이그레이션 하면서 kotlin gradle 버전을 1.3.50로 업데이트 하였습니다. 마이그레이션 완료 후 빌드 했을 때 다음과 같은 에러 메시지가 발생하였습니다. w: [kapt] Incremental annotation processing requested, but support is disabled because the following processors are not incremental: io.realm.processor..
transient 은 Serialize하는 과정 중 제외하고 싶은 항목에 선언하는 키워드입니다. Transient 을 사용하는 이유는? 보안정책 상 패스워드, 주민등록 번호와 같은 개인정보를 직렬화(Serialize) 과정에서 제외하고 싶은 경우에 적용합니다. 그 외에 직렬화 과정 후 데이터를 전송을 하고 싶지 않을 때 선언하여 예외처리 합니다. Transient 코드로 알아보기. 간단히 회원정보를 저장하는 Data을 갖고 Transient 되는 것을 확인하겠습니다. Model (Member) Main 아래의 이미지 처럼 직렬화가 잘 된 것을 확인할 수 있습니다. Name 변수에 transient keyword를 추가하여 결과를 보겠습니다. name field는 유지되지만 값은 null로 대입됩니다. 마..
타기업 공채의 우대사항에 Stetho Library 사용 가능자로 기재되어 있는 것을 보고 해당 라이브러리가 무엇이길래 우대 사항에 기재되어 있을지 알아봤습니다. Android 작업하면서 대표적으로 3가지의 불편함을 느낄 것입니다. 1. Log로 Network 통신 정보 기록 시 분석이 어렵다. 2. 내부 DataBase 내용 확인이 어렵다. (필자인 경우 Realm DB를 사용하는데 Realm 브라우저를 제공하여 확인이 편해서 사용하고 있습니다.) 3. Preference 의 저장된 값 확인이 어렵다. 많은 개발자들은 위 3가지 불편함을 해결할 라이브러리로 Stetho Library을 사용하고 있었습니다. 그렇다면 어떻게 설정하고 사용하는지 간단히 알아보겠습니다. Stetho Library 환경 설정하..
- 고시문헬퍼
- IOS
- 코틀린
- 패턴
- Android
- DI
- issue
- 선교
- 미션차이나센터
- view
- 임용고시
- java
- MCC
- missionchina
- 알고리즘
- 고시문
- Kotlin
- 점수판
- RXjava
- 탁구
- flutter
- 안드로이드
- swift
- missioon
- IT
- 스코어헬퍼
- Android Studio
- 디자인패턴
- push
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |