Android File access Webview Android 11대응 WebView편 TargetSdkVersion 30을 적용후 Webview에서 발생한 문제와 해결방법. 그리고 결론은 WebViewAssetLoader을 사용하세요.
Project Android Recyclerview Fastscroller RecyclerView-FastScroller v1.0 RecyclerView FastScroller RecyclerView에서 FastScroller와 Bubble(현재 아이템 정보)를 지원하는 라이브러리입니다. LinearLayoutManager와 GridLayoutManager를 지원하며, 부드러운 애니메이션을 제공합니다. 간단한 구성으로 핸들뷰와 버블뷰를 먼저 구성하고 RecyclerView와 Bind만 하면 사용 가능합니다.
Project Android Type-writer Tdd Typer - 한글 타이핑 입력효과 라이브러리 안드로이드에서 TextView(또는 상속받는)에 한글을 자소단위로 타이핑하는 효과를 수행하는 라이브러리입니다. (#한글 #타이핑 #효과)
Tdd Architecture Cleancoders Tdd 아키텍처와 클린코드 그리고 TDD (3) TDD 원칙 실패하는 테스트를 작성하기 전에는 절대로 제품 코드를 작성하지 않는다. 실패하는 테스트 코드를 한 번에 하나 이상 작성하지 않는다. 현재 실패하고 있는 테스트를 성공하기에 충분한 정도를 넘어서는 프로덕션 코드를 작성하지 않는다.
Kotlin Java 코틀린의 internal 가시성 코틀린의 public, protected, private 변경자는 컴파일된 바이트 코드 안에서도 그대로 유지됩니다. 그렇게 컴파일된 코틀린의 가시성은 마치 자바에서 똑같은 가시성을 선언한 경우와 동일합니다. 하지만 private는 다르게 적용됩니다. 자바에서 클래스를 private로 만들수 없으므로 내부적으로 코틀린은
Kotlin Java 코틀린의 지연(lazy) 컬랙션 연산 map이나 filter 같은 컬랙션 함수는 결과 컬랙션을 즉시(eagerly:열심히) 생성합니다. 이는 컬랙션 함수를 연쇄하면 단계마다 중간 결과를 새로운 컬랙션 객체로 생성한다는 말이기도 합니다. 하지만 시퀀스(sequence)를 사용하면 중간 임시 컬렉션을 사용하지 않고도 연살을 연쇄적으로 수행
Kotlin kotlin collection.associateBy,groupBy,partition 코틀린에서는 Guava 다른 여타 편라한 기능을 제공하던 라이브러리를 사용하지않고도 충분히 많은 일을 효율적이고 간편하게 해결 할 수 있도록 제공하고있습니다. 귀찮은 문제를 가볍게 해결 해주는 편리한 함수 associateBy, groupBy에 대해 정리해보겠습니다.
Android Fragmentpageradapter Fragmentstatepageradapter Behavior_set_user_visible_hint FragmentPagerAdapter, FragmentStatePagerAdapter (생성자 Behavior편) 이름이 워낙 길고, 비슷하기 까지 해서 항상 어떤 녀석을 사용 해야 할지 망설이게 됩니다. 내 앱에서는 딱히 configChanges 나 onPause/onResume에 대한 처리를 딱히 타이트하지 않는데 꼭 “State”가 붙은 것을 사용해야 할지 고민도 되구요.
Tdd Architecture Cleancoders 아키텍처와 클린코드 그리고 TDD (2) 함수 리팩토링을 통해 아름다운 코드로 바꿔보자. 그리고 왜 이렇게 하는지 이해는게 목표이다.
Android Scoped storage Camera 카메라 사진촬영으로 보는 Scoped storage 예제 및 소스 Target/Compile Sdk version에 Api level 30을 적용한 아주 간단한 사진촬영 (요청) 앱입니다. 이 앱의 목표는 다음과 같습니다. Android 10(Q)이후 디바이스에 요구되는 Scoped storage일때 사진 촬영 요청 및 Media Store 등록. 안드로이드 앱에서 최소한의
Android File provider Cache Binding이 되지않을때 (by viewModels()에 에러) 프로젝트가 세팅되지 않은 상태에서 디펜던시 정의를 빠트린경우인데 new Project를 통해 empty activity 프로젝트로 시작하면 항상 빠트리다 보니 포스팅으로 정리해둡니다.
Android File provider Cache File Provider Path 디렉리터 영역 매칭 Android 7(N)부터는 넘겨받을 파일경로를 전달하기 위해서는 직접 FileProvider를 정의해야 합니다. 얼마전 기존 프로젝트에 Android 11(R) 대응을 위해 Scoped Storage 적용을 진행하면서 기존 external 영역에 생성한 폴더에서 직접 관리하던 파일들을 cache, files, external(Media/Download)로 구분하는
Android Sdkversion30 Scoped storage Scoped Storage 적용하기 아마도 Scoped Storage를 강제하는 부분인 Android 11(R)에서 가장 큰 변화인 것 같습니다.
Android Error Log java.lang.NoSuchMethodError No virtual method log(ILjava/lang/String;Ljava/lang/Throwable Where did the problem occur? case A java.lang.ExceptionInInitializerError at okhttp3.internal.platform.Platform.get(Platform.java:85) at okhttp3.OkHttpClient.newSslSocketFactory(OkHttpClient.java:263) at okhttp3.OkHttpClient.<init>(OkHttpClient.java:229) at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:1015)
Android Gradle Dependency Transitive 앱의 의존성 확인하고 전이 의존성 변경하기 의존성과 관련하여 문제가 생겼다고 판단되면 의존성 트리를 봐야합니다. 터미널에서 프로젝트가 있는 폴더로 이동하고 아래의 명령어를 실행 하면됩니다.
Android Gradle Productflavors Buildtypes ProductFlavors와 BuildType 조합 Gradle에서 ProductFlavors와 BuildType을 이용해서 다양한 형상을 만들 수 있습니다. Gradle을 기반으로 BuildTypes은 기본으로하고 ProductFlavors에 여러가지 dimension을 정의하여 조합하여 빌드를 간편하게 생산 할 수있습니다. 간략한 예를 들어 상황을 정의하고 실제 build.gradle 파일을 수정해 보겠습니다.
Project Test Image Download 테스트용 이미지 (랜덤1000개.zip,해상도별.zip) 테스트용 이미지 파일 형식은 Png이며, image_{number}_{width}x{height}.png 형식의 파일이름으로 저장 되어 있습니다. 의견 주시면 또 다른 세트도 추가해보겠습니다.