| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 스택
- media3 transformer
- 중첩네비게이션
- 재밌긴함
- Android
- 후기
- media3
- 내부프레그먼트
- 더베일리하우스 삼성점
- 너무 어렵다
- Kotlin
- 패파
- MVVM
- fragmentcontainer
- 자바
- rxandroid
- 파이썬
- 알고리즘
- parentfragment
- 공유오피스
- 사무실
- 패스트파이브
- 안드로이드
- 아키텍쳐
- Stack
- 가든웨딩
- SAA
- 백준
- 코틀린
- innernavigation
목록분류 전체보기 (47)
삽질도사
일단 결과물입니다.배속, 스킵, 남은시간, 상하단 바 자동 사라짐ExoPlayer 라이브러리를 사용하다보면 기본적으로 잘 되어있어서 크게 건드릴게 없지만,내장된 여러 기능이나 특히 controller를 figma디자인에 맞게 커스텀하기 위해서는 커스텀을 해야하는 경우가 있습니다. app:use_controller="true" 를 사용해서 기본으로 제공하는 controller를 사용하거나, false를 설정하여 아래 코드를 추가하면 됩니다. (참고: https://jinha3211.tistory.com/32)app:controller_layout_id="@layout/커스텀뷰id" 다만, 이러한 경우에는 exoplayer 내부에 기본으로 정의된 style과 기능을 사용해야한다는 제한적인 ..
보시다시피 Cannot create an instance of class 라는 런타임 에러가 나오기 전까지는 뷰모델을 생성 할 때에, 기존에는 아래와 같이 viewModel()을 사용했는데, 이러한 경우엔 뷰모델을 생성할 때에 hilt inject로 아무것도 안넘겨 줄때에 사용이 가능했습니다. 당연히 이 경우엔 뷰모델 생성할 시에 파라미터로 아무것도 안넘겨준다는 개념하에 작동하기 때문에 아무 문제가 없었지만, 기본적으로 뷰모델 생성시에 useCase같은 것을 inject한다던지 무언가를 전달 할 때에는 위 같은 런타임 에러가 발생합니다. 따라서 hiltViewModel()을 사용하면 변경된 아래와 같이 inject로 해당 뷰모델에 직접 무언가를 주입하려면 hiltViewModel()로 생성하면 문제가 해..
enterAnim A -> B 로 갈 때 B가 보이는 방식 exitAnim A -> B 로 갈 때 A가 가사라지는 방식 popEnterAnim 뒤로가기로 B -> A로 갈 때 A가 나타나는 방식 popExitAnim 뒤로가기로 B -> A로 갈 때 B가 사라지는 방식
SAA 구조를 사용한 형태에서 스플래시 화면 -> (로그인 및 기타 화면) -> 홈화면 -> 다른 화면 -> (뒤로가기 버튼 누름) -> 홈화면 일반적인 경우 이런 비슷한 구조를 채택할텐데, SAA에서 popUpTo 혹은 PopUpInclusive를 알고 사용한다 하더라도 쉽게 떠오르거나 해결되지 않아서(개인적으로..) 매번 생각하느라 고생고생을 한다. 그래서 이러한 구조를 다른 프로젝트에 사용한다던지 혹은 다른 방식으로 구조를 짜더라도 유연하게 생각하기 위해서 이러한 일련의 과정을 기록하기로 했다. package kr.foorun.uni_eat.feature.main import androidx.activity.viewModels import androidx.navigation.NavController..
앱 출시하느라 바빠서 블로그 관리를 못했습니다. 출시가 끝났고 바로 새로운 프젝을 하고는 있지만, 출시한 앱을 바탕으로 코루틴, 힐트, aws(ec2-rds) 서버개설 및 통신, nodejs, retrofit2에 대해서 게시글을 올릴 예정입니다~! 나름 일상인지라 여기에 글 올렸습니다,,,
빗썸에서 가져온 정보를 코인어플처럼 뿌려줄 것입니다. 결과부터 보시죠. 퍼렇게 멍든 코인들.. 지속적으로 코인의 api를 가져와서 갱신해주고 검색을 하였을 때에 해당 코인의 정보를 다시 지속적으로 갱신해주는 방식입니다. 살펴보기 전에 api docs를 봅시다. api docs에 나온 규칙대로 요청을 하면됩니다. 그럼 기능구현에 필요한 클래스들을 한번 살펴보도록 합시다. MainActivity (View의 역할) class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding private lateinit var ET_Observable_Disposable: Disposable private latein..
https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net 1년 전에 한번에 풀었던 문제인데, 이제보니까 죽어도 모르겠어서 과거의 내 답지를 한번 보고 다시 풀었는 데 그래도 몇 번 틀렸습니다 ;ㅁ; (그래도 본인 골드1인데..) 반례가 많은 문제여서 심지어 문제를 읽어보면 문제에 반례가 적혀있습니다. 하여튼 핵심은 재귀함수를 사용해서 '(' 또는 '[' 에서 내부에 괄호가 있는 지 확인하는게 핵심입니다. 그리고 괄호가 올바른 지의 유무를 따지는 것은 ..
https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 저는 처음에 단순히 인덱스로 접근해서 마지막 ' ( '로 돌아갔더니 메모리초과가 나서 stack으로 풀었습니다. 일단 stack구조를 활용하는 문제입니다. ' ( ' 모양은 모두 push하고, 갈색으로 빗금친 괄호의 뜻은 ' ) ' 모양이 왔을 때에 이전의 ' ( '를 pop한다는 의미입니다. 레이저가 지나가는 빨간선,녹색선의 왼쪽을 기준으로 막대의 갯수를 세는 것이 핵심입니다. 레이저가 지나가면 위의 사진..