본문 바로가기

전체 글

(121)
solid 원칙 예제따라해보기 좋은 https://bottom-to-top.tistory.com/27 객체지향 설계 5원칙 SOLID 객체지향설계 5원칙 SOLID의 이해와 예제 목표 SOLID에 대한 설명을 하는 글은 여러 블로그에 소개가 되어있습니다. 하지만 대부분의 글이 개념적인 설명을 위주로 하고 있을뿐더러, 너무 추상적이 bottom-to-top.tistory.com
Predicate를 이용한 리팩토링 To be import java.util.Arrays; import java.util.function.Predicate; public enum Ranking { FIRST(2000_000_000,6,false), SECOND(30_000_000,5, true), THIRD(1_500_000,5,false), FOURTH(50_000,4,false), FIFTH(5_000,3,false), NONE(0,0,false); private final int prize; private final int count; private final boolean hasBonusNumber; Ranking(int prize,int count,boolean hasBonusNumber){ this.prize=prize; thi..
interface , Collections.singletonlist(), volatile변수 Interface 멤버 변수는 항상 "public static final"이다. 인터페이에는 클래스 멤버 변수밖에 생성하지 못한다 인터페이스는 객체를 생성하지 않기 때문에 객체 멤버 변수가 없다 객체를 생성하지 않기 때문에 생성자도 없다 "public static final" 키워드는 생략 가능 하다 https://livenow14.tistory.com/42 [Java] Arrays.asList() vs Collections.singletonList() java.util.Colletions애는 컬렉션 프레임워크 타입의 객체에 대한 객체생성, 정렬, 병합, 검색 등의 알고리즘을 구현한 메소드가 정의되어 있어요. 저는 그중 Colltions.singletonList()를 사용해보았어요. 기 livenow14..
Elevation 안드로이드 XML 에 elevation 속성을 이용하면 그림자 효과를 넣을수 있다. 그림자효과를 넣으려면 조건이 필요한데, 1. Background는 불투명해야함 2. 부모 레이아웃과 자식레이아웃간에 그림자를 그릴 공간이있어야한다. maring값을 줘볼것! 3. 레이아웃을 그리는 Window View 크기를 직접 지정한다면, 그 크기도 충분한지 확인할것 +Background 에 값이 직접 만든 drawble을 넣은 경우라면(Drawable에 Solid와 Stroke가 포함되어있을경우) 그림자가 안생기는 경우가 있는데, 그럴땐 Solid와 Stroke의 투명도가 일치하는지 확인해볼것 투명도가 다를 경우, elevation이 안먹힘, 왜인지는 모르겠음(하루종일 고생한 나야나)
window https://jungwoon.github.io/android/2019/10/02/How-to-draw-View.html
onCreate()에서 finish경우 빈화면 https://stackoverflow.com/questions/31817937/activity-layout-blinking-after-finish-is-called Activity layout blinking after finish() is called When I open my app, an Activity is started, and inside its onCreate method I'm checking some conditions. If the condition is true, I finish my current Activity and open another one. The problem is:... stackoverflow.com oncreate는 사용자에게 뷰가 보여주는 시점이 아닌데 왜 보일..
[디자인 패턴] Decorator Pattern 개념: 객체의 추가적인 요건을 동적으로 추가하는 패턴 Decorator는 글자 그대로 장식가로서, 중심이 되는 객체가 반환하는 값에 추가적으로 더해져서 결과값 반환 ex)스타벅스커피의 경우 커스터마이징 음료 가능 구성 component(interface,abstract) 기능정의 concreatecomponent: 컴포넌트 책임기능 실제화 Decorator: 컴포넌트의 실제화보단, componet와 동일시 하도록, decorator가 즉 componet concreteDecorate: 추가된 책임 기능 구현을 위한 클래스, 왜 사용해야하나? 하나의 객체의 부가적인 기능을 덧붙여야할때 동일한 객체를 여러개만들어야하지만, 각각의 다른 기능을 첨가할 필요가 있을때 , 많은 객체에 다양한 부가기능을 쉽고 빠르게..
SurfaceView 개념 anroid.View.view android.view.surfaceView 로 view를 상속받고있다 -그래픽 처리가 빠른 View -일반적인 경우에는 view를 통해서 draw()를 그리는것과 별 차이가 없다. 그럼 왜 필요하냐? 안드로이드의 모든 View의 모든행위들은 UI쓰레드에서 동작한다. 하지만, camerapreview나 동영상 재생같은 처리들은 1초에 몇십프레임을 출력해야하는 무거운 작업들이고, AndroidUI혼자 감당하기에는 자원이 부족하여 ANR을 발생하게된다. Surfaceview는 UI쓰레드와 별도로 백그라운드 쓰레드에서 동작하여 사용자가 원하는 뷰를 원할하게 업데이트를 해주고, 가속성이 좋다. - 일반 view는 ondraw()메소드를 시스템에서 자동으로 호출해줌으로써 화면을..