Android/Developers 공부하기 9

(찌이인한) 에스프레소 테스트 기초 개념

Hello, Espresso : Android UI 테스트를 작성을 지원해주는 라이브러리 기본사용 - 테스트 작성자에게 사용자가 애플리케이션과 상호작용(UI 요소를 찾고 상호작용)하는 동안 실행하는 작업의 관점에서 생각하도록 권장합니다. - 동시에 프레임워크가 애플리케이션의 활동 및 뷰에 직접 액세스하지 못하도록 방지합니다. 이러한 객체를 계속 보유하고 UI 스레드에서 벗어나 이러한 객체에 관해 작업하는 것이 테스트 취약성의 주요 원인이기 때문입니다. 따라서 getView() 및 getCurrentActivity()와 같은 메서드는 Espresso API에 표시되지 않습니다. ViewAction 및 ViewAssertion의 자체 서브클래스를 구현하여 뷰 관련 작업을 안전하게 실행할 수 있습니다. Esp..

[res/font] 안드로이드 폰트 리소스 1/2 (개념잡기)

개발 시 앱에 노출되는 모든 글자들의 폰트를 설정해야한다. 안드로이드 앱 폰트 설정은 (디자이너가 설정한) font 파일을 추가하고, 이 font들을 번들로 묶어 리소스로 읽어와 적용한다. [ 안드로이드 font 리소스 ] - 조건 : Android 8.0(API 수준 26)이상 ( ex) font 폴더에 아래와 같은 font 파일들을 추가하면, 이 폰트들은 R.font.dancing_script, R.font.lobster, R.font.typo_graphica 과 같이 참조된다. [ font-family (글꼴 모음) 만들기 ] font-family 란? : 스타일 및 두께 세부정보가 포함된 글꼴 파일 집합체 왜 필요해?? 폰트들을 보면 같은 폰트 스타일이여도 '나눔고딕_normal', '나눔고딕_b..

'화면 캡처 막기'와 getWindow().addFlagssetFlags(int flags, int mask)

'화면 캡처 막기' 설정 // (나같은 경우)acitivity onCreate()에서 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE); // 또는 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); 위에서 사용하는 'getWindow().addFlagssetFlags(int flags, int mask)' - @param flags : 화면에 설정할 flag 값 - @param mask : (수정할 창 플래그 비트 라는데) 아래와 같은 역할을 하는듯 하다. 기본적으로 다른 값에 대한 비트 단위 필터입니다. 예를 들어..

AndroidStudio > New Project > Login Activity 로 생성 시, 꽤나 좋은데?!

AndroidStudio에서 프로젝트 생성할 때 Login Activity 로 생성했더니 꽤나 좋은 샘플이 생성되어 정리해보았다. - 기본적을 MVVM, ViewModel, dataBinding viewBinding, Repository까지 모두 생성된다!! - 예전에 이걸로 공부할껄.. 플젝 생성 시 제공하는 다른 컨셉??들 프로젝트도 좀 생성해보고, 정기적으로 안드로이드 스튜디오 제공 플젝 코드 좀 봐봐야겠다. 배운점 1. 사용자 이벤트를 VM에서 받아 유효성 체크하여 에러메시지 resID값 등 각 데이터를 설정해 LoginFormState생성하여 LiveData 갱신 -> UI 갱신하는 것이 인상적 2. 결과 클래스를 >> 실제 원격 데이터 요청 및 응답에 사용하는 (Result, LoggedIn..