IT 썸네일형 리스트형 [안드로이드] 전이 의존성 exclude transitive dependency 안녕하세요 남갯입니다 오늘은 개발경험하다가 빌드 에러가 난 전이 의존성에 대해 포스팅 해보려고 합니다. 프로젝트가 모듈화가 되어있는데, 빌드하는 버젼이 꼬이는 문제가 있었습니다. 문제점 1. A모듈에서 특정 라이브러리를 사용하고 있었는데, 해당 라이브러리에서 구글플레이 라이브러리를 사용하고 있었다. 2. 공통모듈로 뽑을수있는 코드가 있어서 구글플레이 라이브러리의 일부 기능을 공통모듈로 옮겨 사용했다. 여기서 문제가 된점은 A 모듈에서 사용한 라이브러리가 의존성전이가 된 것입니다. 즉 A모듈내의 라이브러리에서 의존성이 전이 되어 빌드버전이 꼬인것이다. 의존성확인 위와같이 dependency를 보는방법은 1. 프로젝트로 변경한뒤 external library를 확인한다. 2. 아래의 방법을 통해 그래들에서 .. [안드로이드] 파일과 MediaStore 싱크 맞추기 이미지를 삭제시에 해당 파일 경로와 미디어 스토어 간에 싱크가 안맞는 경우가 있을 수 있다. 따라서 미디어 스토어에 싱크를 맞추기 위해 해당 파일에 대한 경로를 일일이 확인하는 방법을 통해 확인이 가능하다. if (!File(path).exists()) { contentResolver.delete(deleteUri2, null, null) } 또한 아래와 같이 동작시킬경우 섬네일 폴더의 모든 이미지가 삭제된다. contentResolver.delete(MediaStore.Images.Thumbnails.EXTERNAL_CONTENT_URI, null, null) git 컨벤션 깃 컨벤션 참조페이지 https://doublesprogramming.tistory.com/256 commit type feat 새로운 기능 추가 fix 버그 수정 docs 문서수정 style 코드포맷팅 refactor 코드 리펙토링 test 테스트 코드 추가 chore 빌드 업무 수정 내용 fix와 같이 ed를 붙이지 않음 fix#번호 링크 - 내용 - 내용 [안드로이드] api와 implementation 차이 https://jongmin92.github.io/2019/05/09/Gradle/gradle-api-vs-implementation/ api와 implementation 정리 api: 의존 라이브러리 수정시 해당 모듈을 의존하고 있는 모듈들 또한 재빌드A(api) [안드로이드] ValueAnimator를 이용한 애니메이션 사용해보기 안녕하세요 남갯입니다. 오늘은 ValueAnimator와 ViewPager 를 이용한 회원가입 Step 만들기를 포스팅 해보려고합니다. 일단 회원가입 화면을 만듭니다. 여기서 중요한건 자신의 Step에 맞게 weighSum의 값을 조절해야합니다. 저는 3스텝으로 했으니 0.3으로 지정했습니다. class MainViewPagerAdapter( fm: androidx.fragment.app.FragmentManager, private val fragmentList: ArrayList ) : androidx.fragment.app.FragmentStatePagerAdapter( fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT ) { override fun getItem(positi.. [스레드] 교착상태(DeadLock)란? 안녕하세요 남갯입니다. 오늘은 스레드의 교착상태에 대해 알아보려고 합니다. 교착상태란? 교착상태 deadlock은 두개이상의 작업이 서로의 작업이 종료가 되지 않아 서로의 작업을 무한정 기다리는 상태를 말한다. 교착상태의 발생조건발생조건으로는 4가지 이유가 있다. 1. 상호배제(Mutual exclusion)프로그램들이 공유자원을 동시에 쓸 수 없는 상황을 일컫는다. 상호배제를 해제하는것은 가장 확실한 교착상태 제거방법이지만 용도가 명확하지 않아지므로 잘 사용하지 않음. 2. 점유상태로 대기 (hold and wait)자원을 점유한상태에서 다른자원을 기다린다는것 할당받은 자원을 사용하지 않으면서 계속 점유하면 그 자원이 필요한 프로세스는 무한정 대기한다. 3. 선점불가(No preemption)어떤 프로.. [안드로이드] getContext와 requireContext 차이 안녕하세요 남갯입니다 오늘은 getContext와 requireContext의 차이에 대해 포스팅 해보려고 합니다. 참고링크 : https://medium.com/@shafran/fragment-getcontext-vs-requirecontext-ffc9157d6bbe getContext & requireContext 의 차이 @Nullable public Context getContext() { return mHost == null ? null : mHost.getContext(); } @NonNull public final Context requireContext() { Context context = getContext(); if (context == null) { throw new IllegalS.. [코틀린] 코틀린 제너릭 안녕하세요 남갯입니다. 오늘은 저번에 정리한 변성에 대해 이해가 부족한것 같아 코틀린 인 액션의 제너릭에 대해서 정리해보고 블로깅을 해보려고합니다, 제너릭스 타입 소거로 인해 실행시점에서 제너릭의 클래스의 인스턴스의 타입인자 정보가 들어가 있지 않다.JAVA의 JVM 제너릭스는 타입소거를 이용해서 구현된다. 이는 실행시점에 제너릭 클래스의 인스턴스의 타입 인자 정보가 들어있지 않다.컴파일러는 List와 List을 서로 다른타입이라 인식하지만 실행시점에서의 둘은 완전히 같은 타입의 객체이다.따라서 문자열로 이루어진 List이 어떤 타입을 가진 리스트인지 실행시점에는 검사할 수 없음. 따라서 if(value is List)을 실행시점에는 알 수 없음. List인지의 여부는 확실하게 알수있지만 타입을 알 수없.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 23 다음