본문 바로가기

Android

[Android] Debug > thread breakpoint suspend 디버깅하다보면 특정 부분에 break point 가 걸리지 않는 현상이 있음 ( 로그를 찍어보면 분명 걸려야 하는데 안걸림) 이런경우 설정을 바꿔 주어야함 Break point 마우스 우클릭 > suspend : ALL 로 변경 더보기
[Android] A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution -> Android studio Plugin update -> 이후 추가 에러 발생 Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. -> Preferences > Gradle JDK > 11 더보기
[Android] 스토어 등록 정책/ 그래픽 문구 등록 가이드 Android PlayStore 등록 앱 이름 최대 30자 -Google Play에 표시되는 앱 이름 간단한 설명 최대 80자- 간단한 앱 설명입니다. 사용자가 뷰를 펼치면 자세한 설명을 볼 수 있습니다. 자세한 설명 최대 4000 앱 아이콘 앱 아이콘은 투명한 PNG 또는 JPEG, 최대 1MB, 512px X 512px이어야 하며 디자인 사양 및 메타데이터 정책을 준수해야 합니다. 그래픽 이미지 PNG 또는 JPEG, 최대 1MB, 1024px X 500px ( 앱 공유하기시 노출되는 이미지) 스크린샷 미리보기 이미지 휴대전화 스크린샷을 2~8장 업로드 가능 스크린샷은 PNG 또는 JPEG 장당 최대 8MB 가로세로 비율 16:9 또는 9:16, 가로세로 길이는 320px X 3840px 사이여야 합.. 더보기
[Android] 앱 리젝/삭제 사유 - 앱 이름, 아이콘 또는 개발자 이름 어느날 갑자기 게시중이던 앱이 삭제 되었음을 통보해왔다 정말 하루 아침에 앱이 삭제되어 스토어에서 보이지않았음 ㅠ.ㅠ 앱 관련 문제 앱에 사용자 평점, 리뷰 및 설치 수 정책을 준수하지 않는 콘텐츠가 포함되어 있습니다. 사용자 평점, 리뷰, 설치 수 정책 관련 개발자는 Google Play에서 앱의 순위를 조작하려고 해서는 안 됩니다. 여기에는 허위 또는 인센티브 제공 설치, 리뷰, 평점 등 부당한 수단을 동원하여 제품 평점, 리뷰 또는 설치 수를 조작하는 행위가 포함됩니다. 인센티브 제공 설치, 리뷰, 평점에는 가격이나 기타 프로모션 정보가 표시된 텍스트 또는 이미지를 앱 제목, 아이콘, 개발자 이름에 사용하는 행위가 포함됩니다. 개발자는 스토어 실적이나 순위가 표시된 텍스트 또는 이미지를 추가하거나 .. 더보기
[Android] 아키텍처_Dagger2를 이용한 의존성 주입 의존성 주입(Dependency Injection)이란 ? 하나의 객체에 다른 객체의 의존성을 제공하는 기술을 말한다, DI를 그대로 번역한 의존성 주입이란 단어를 사용하다 보니 이는 좀 어렵게 느껴질 수 있으나, 서로를 필요로 하는 관계라고 이해하면 조금 쉽다. 예를 들어 컴퓨터에 포함되는 CPU가 생성되는 단계부터 단단히 결합되어 있고, 다른 CPU로 변경하고 싶어도 그럴 수 없다. 이를 "Computer가 CPU에 의존성을 갖는다" 고 할 수 있다. 의존성 주입의 장단점 ? 장점 의존성 주입은 인터페이스를 기반으로 설계되며, 코드를 유연하게 한다. 주입하는 코드만 변경하기 쉬워 리팩토링이 수월 단위테스트가 쉬워 진다. ( 가장 큰 장점) 클래스간의 결합도를 낮춘다. 여러개발자가 협업한다고 했을때, .. 더보기
[Android]안드로이드 애플리케이션 설계패턴 일반적으로 안드로이드 애플리케이션을 설계하는 패턴 중 가장 많이 사용되고 비교되는 패턴은 MVC, MVP, MVVP 디자인 패턴이 있다. 1. MVC 디자인 패턴 - 구조를 모델(Model), 뷰(View), 컨트롤러(Controller) 세가지 주요측면으로 분리한다. 1) 모델 : 비지니스로직과 데이터를 다루는 영역이다. 형식에 의존적이지 않고 사용자에게 보이지 않는 영역 : 안드로이드에서는 데이터 베이스의 Entity를 담당하는 POJO 클래스를 포함한 SQLite, Room, Realm등이 해당 2) 뷰 : 사용자에게 보여지는 UI 영역이며 안드로이드에서는 Activity, Fragment등이 속한다. 3) 컨트롤러 : 모델과 뷰에 의존한다. 상황에 따라 데이터를 불러와서 수정하고 전달하는 중간역할.. 더보기
아키텍처_애플리케이션의 설계 원칙 1. 단일 책임원칙 모든 클래스는 하나의 책임만 가지며, 클래스는 그 책임을 완전히 캡슐화해야 함 2. 개방 - 폐쇄 원칙 소프트웨어가 확장에 대해서는 열려있어야 하고, 수정에 대해서는 닫혀있어야 한다는 원칙 개방 폐쇄 원칙이 잘 적용된 경우 새로운 기능을 추가하거나 기존 기능을 변경하기 용이해진다. 유연성, 재사용성, 유지보수등의 이점이 있음 3. 리스코프 치환원칙 클래서 S가 클래스 T의 자식클래스이라면, 별다른 변경없이 부모 클래스를 자식클래스로 치환 할 수 있어야한다는 원칙 4. 인터케치스 분리원칙 어떤 클래스가 자신이 이용하지 않는 메서드에 의존하지 않아야한다는원칙. 5. 의존 역전 원칙 모듈들을 분리하는 특정 형식을 지칭 상위모듈은 하위모듈에 의존해서는 안된다. 상위 모듈과 하위모듈은 모두 추.. 더보기
[Android] DataBinding 사용하기 데이터 바인딩은 UI를 구성함에 있어 코드상에 반복적인 귀찮은 작업을 해소시켜주는 기능으로 보면 된다. 선언부에 기계적으로 작성해야한 했던 findById() 를 적어도 java파일 안에서 그만 볼수 있으니까 findViewById(R.id.sample_text).apply { text = viewModel.userName } 이런 코드를 layuot을 구성하는 xml파일 안에서 java파일에서 지정해준 해당 위젯의 변수명과 매치시켜주면 된다. 이점은 ? 파일의 단순화, 유지보수의 편리성, 메모리누수 및 nullpoint excention을 방지할수 있다. 1. 빌드환경 - 데이터 바인딩 추가 android { ... dataBinding { enabled = true } } dataBinding요소를 .. 더보기