| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- ar vr 차이
- android ar 개발
- 2022 플러터 안드로이드 스튜디오
- 멤버변수
- 안드로이드 라이선스 종류
- jvm이란
- 서비스 vs 쓰레드
- 클래스
- android retrofit login
- 2022 플러터 설치
- 플러터 설치 2022
- rxjava cold observable
- 안드로이드 레트로핏 사용법
- 서비스 쓰레드 차이
- 스택 자바 코드
- 안드로이드 레트로핏 crud
- 자바 다형성
- rxjava disposable
- Rxjava Observable
- jvm 작동 원리
- 안드로이드 유닛 테스트
- rxjava hot observable
- 스택 큐 차이
- 안드로이드 os 구조
- ANR이란
- 객체
- 안드로이드 유닛 테스트 예시
- 큐 자바 코드
- 안드로이드 라이선스
- 안드로이드 유닛테스트란
- Today
- Total
목록Android (404)
나만을 위한 블로그
BottomSheetDialogFragment(이하 바텀 시트)를 구현한 다음, 이 안에 웹뷰 등 스크롤 가능한 뷰를 넣고 아래로 스크롤하면 잘 된다.그러나 위로 스크롤하면 스크롤됐던 뷰가 도로 올라가는 게 아니라, 바텀 시트가 밑으로 점점 내려간다.이렇게 되면 아래 방향으로 스크롤은 가능하지만, 위로 다시 스크롤할 수 없는 바텀 시트가 만들어진다. 이걸 막으려면 어떻게 해야 할까?바로 BottomSheetBehavior라는 클래스를 통해 isDraggable 프로퍼티에 true, false를 대입하면 된다. 무슨 소린가 싶을테니 코드부터 본다. 먼저 바텀 시트의 예시 코드다. import android.annotation.Suppr..
예를 들어 아래와 같은 딥링크를 앱에서 받았다고 가정한다. symbol://enterWindow?header=header&otherKey=otherValue&url=https://example.co.kr/enter?a=123&b=456&c=789 만약 이 딥링크 중 url이란 key의 value를 가져와야 한다면 어떻게 해야 할까? 간단하게 아래와 같이 할 수 있다. override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val deepLink: Uri = "symbol://enterWindow?header=header&body=body&url=https://example.co.kr/enter?a=123..
이 함수에 대한 안드로이드 디벨로퍼의 설명은 아래와 같다. https://developer.android.com/reference/android/app/Activity#onNewIntent(android.content.Intent) Activity | Android Developers developer.android.comlaunchMode를 singleTop으로 설정한 액티비티에 대해 호출되거나, 클라이언트가 startActivity(intent)를 호출할 때 FLAG_ACTIVITY_SINGLE_TOP 플래그를 사용한 경우 호출된다. 두 경우 모두 액티비티가 시작되는 새 인스턴스 대신 액티비티 스택의 최상위에 있는 동안 액티비티가 재시작되면 onNewIntent()가 재시작하는 데 사용된 인텐트와..
안드로이드 관련한 내용을 찾아보다가 아래 포스팅을 발견했다. https://mashup-android.vercel.app/mashup-11th/heejin/useCase/useCase/ Clean Architecture - Use case in Android" | 매쉬업 안드로이드 개발자Clean Architecture의 UseCase가 뭐죠?! 안드로이드에선 어떻게 쓰나요?mashup-android.vercel.app MVVM 바탕의 클린 아키텍처 관련 포스팅인데, usecase를 특이하게 사용한 코드에 눈이 갔다. interface GetCurrentUserUseCase { operator fun invoke(): Result}class GetCurrentUserUseCaseImpl( p..
갤럭시 폴드 기기는 접거나 펼친 채로 사용할 수 있다. 이 말은 폴더블 기기가 펼쳐졌는지 아닌지를 구분해야 하는 경우도 생길 수 있단 뜻이다. 이 포스팅의 예시 코드는 아래 코드랩을 바탕으로 구현했다. https://developer.android.com/codelabs/android-window-manager-dual-screen-foldables?hl=ko#0 Jetpack WindowManager로 폴더블 및 듀얼 화면 기기 지원 | Android Developers Jetpack WindowManager 라이브러리를 사용하여 폴더블 기기 및 듀얼 화면 기기와 같은 새로운 폼 팩터에 맞게 앱을 조정하는 방법을 알아보세요. developer.android.com 위 코드랩에서 폴더블 기기를 펼쳤는지 ..
이전 포스팅에서 캐시에 대해 확인했다. https://onlyfor-me-blog.tistory.com/825 캐시란? 웹뷰를 사용하다 보면 캐시라는 말을 자주 듣는다. 프론트엔드 개발자가 존재한다면 캐시라는 키워드를 더 자주 들을 수 있다. 그런데 도대체 캐시란 게 뭘까? 캐시라는 개념은 안드로이드에서 onlyfor-me-blog.tistory.com 이제 안드로이드 웹뷰에서 캐시 전략을 어떻게 설정하는지 확인한다. 먼저 간단한 기본 코드를 준비한다. class WebViewCacheActivity : BaseActivity(R.layout.activity_web_view_cache) { override fun onCreate(savedInstanceState: Bundle?) { super.onCre..
예전에 자바로 안드로이드 리사이클러뷰의 UI test를 작성하는 예시를 포스팅한 적이 있다. https://onlyfor-me-blog.tistory.com/446 [Android] espresso를 사용한 UI 테스트(+리사이클러뷰) 이전 글들에선 순수 자바 로직만 테스트했다면 이젠 UI도 테스트해야 한다. UI를 테스트할 때는 주로 에스프레소라는 라이브러리를 사용하는데, 부분적으로 hamcrest라는 단위 테스트 라이브러리 onlyfor-me-blog.tistory.com 이번엔 코틀린으로 리사이클러뷰 UI test를 작성하는 예시를 정리한다. 먼저 아래 라이브러리를 추가해야 한다. 리사이클러뷰 UI test에 필요한 클래스가 이 라이브러리를 추가해야 사용할 수 있기 때문이다. androidTestI..
바텀 시트에서 사진, 영상을 선택하는 기능을 구현해야 한다면 파일 선택 라이브러리로 TedBottomPicker를 사용할 수 있다. 그러나 UI test를 작성해야 한다면 어떻게 테스트 케이스를 작성해야 할지 애매하다. 그러나 TedBottomPicker도 결국 리사이클러뷰를 사용하기 때문에 에스프레소를 통해 리사이클러뷰의 id에 접근할 수 있고, 이 뜻은 클릭과 스크롤 테스트도 가능하다는 뜻이다. 이 포스팅에서 어떻게 작성하는지 확인해 본다. 먼저 아래의 라이브러리를 앱 수준 gradle에 추가해야 한다. androidTestImplementation "androidx.test.espresso:espresso-contrib:3.2.0" 최신 버전은 아니기 때문에 작동하는 걸 확인했다면 적당히 버전을 변..
https://onlyfor-me-blog.tistory.com/490 [Android] CameraX 코드랩 뜯어보기 - 1 - 카메라는 내게 많이 생소한 영역이기도 하고 예전에 CameraX인지 뭔지가 새로 나왔다고 들었어서 최근에 코드랩을 따라 쳐보고 공부하긴 했었는데, 블로그에 남겨두면 나중에 찾아보기 더 좋을 onlyfor-me-blog.tistory.com https://onlyfor-me-blog.tistory.com/714 [Android] CameraX 코드랩 뜯어보기 - 2 - https://onlyfor-me-blog.tistory.com/490 [Android] CameraX 코드랩 뜯어보기 - 1 - 카메라는 내게 많이 생소한 영역이기도 하고 예전에 CameraX인지 뭔지가 새로 ..
BottomNavigationView를 적용했는데, 탭을 선택하면 위의 사진과 같은 선택 효과가 나타났다. 거슬려서 없애려고 이것저것 시도하다가 방법을 찾아서 포스팅한다. styles.xml 파일에 아래 내용만 추가하면 된다. 없다면 values 폴더에 styles.xml을 만들고 추가하면 된다. 그리고 BottomNavigationView에 적용한다. 이렇게 하고 앱을 실행하면 처음에 비해 훨씬 연하게 보인다. 완전히 없애는 것은 불가능하고 그나마 이렇게 덜 신경쓰이도록 만들 수는 있다.
