일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- firebase
- 안드로이드
- 티스토리
- Compose Back Key not work
- 안드로이드개발
- 안드로이드 예측 뒤로가기
- DataBinding
- 게임개발
- 내 맘대로 정리한 안드로이드
- GIT
- 쿼터뷰
- 개발
- Unity
- 예측 뒤로가기
- Android Studio
- Android
- github
- 앱
- 2d게임
- enableonbackpressinvokedcallback
- 카페오냥
- Kotlin
- java
- android back press not work
- 앱개발
- 안드로이드 popup 뒤로가기
- compose backpress not work
- 유니티
- 코틀린
- 타이쿤
- Today
- Total
목록별으잉 (78)
Uing? Uing!!
발단 요즈음 Compose를 도입하고 있는데, 앱에 그동안 안드로이드 뷰로만 사용하던 드랍다운 메뉴를 컴포즈로 새롭게 구현해 넣을 일이 생겼다. 아래는 문제가 되었던 DropDownMenu 구현의 예시이다. (실제 사용한 코드와는 다른데, 글의 가독성을 위해 최대한 단순화시켰다) @Composable fun DropdownMenuExample() { Box(modifier = Modifier.fillMaxWidth().wrapContentSize(Alignment.TopEnd)) { var popupVisible by remember { mutableStateOf(false) } IconButton(onClick = { popupVisible = popupVisible.not() }) { Icon(ima..
SHA1, SHA-256 확인법 안드로이드 스튜디오 우측 Gradle 목록에서, app > android > signingReport를 찾아 더블클릭하면, 아래처럼 SHA1과 SHA-256 인증키를 하단 run탭에 출력시킬 수 있다. Gradle Task 목록에 signingReport가 보이지 않을 때 해결법 최근 위와 같이 Task list not built... 라는 메시지만 나오고 signingReport가 갑자기 나오지 않은 적이 있는데 해결법은 간단했다. 일단 저기 있는 Task list not built...를 누르면 아래 창이 뜬다. 여기에서 Configure all Gradle tasks during Gradle Sync (this can make Gradle Sync slower) 의 ..
개요아무것도 한 적이 없는데 개발자 등록 블락이 걸려 3년이 넘는 기간동안 iOS를 제대로 건드리지도 못하다가 최근에 드디어 해결했다. 정말 화가 나지 않고는 못 배기는 애플 고객센터의 대응을 포함해 내가 겪은 답답한 전과정을 남기지 않을 수 없어 글을 쓴다.1차 시도첫 시도는 2020년 즈음이었다. 안드로이드에 더해 iOS 개발도 공부해 보겠답시고 iOS 개발책을 샀었다. Hello, World 류의 예제에 더해 책을 보며 간단한 샘플들을 만들어 보다가, 1년에 10만원이 넘게 내야 하지만 그래도 디벨로퍼 가입은 해 둬야겠다는 생각이 들어 애플 디벨로퍼스 가입을 시도했었다. 그냥 원래 아이폰과 맥에서 쓰던 메일 아이디로 로그인을 하고, 디벨로퍼스 enroll로 들어가 개발자 신청을 했는데... 에러가 ..
자바 내부에서 bitCount를 세는 방식을 찾아보니 아래와 같이 카운팅하고 있었다. /** * Returns the number of one-bits in the two's complement binary * representation of the specified {@code int} value. This function is * sometimes referred to as the population count. * * @param i the value whose bits are to be counted * @return the number of one-bits in the two's complement binary * representation of the specified {@code int} v..
최근에 LeetCode를 풀고 있는데, 내가 풀어 둔 문제 목록을 레포지토리 첫 화면에 예쁘게 보여주면 좋겠다는 생각이 들었다. LeetHub처럼 LeetCode의 내 실제 제출 목록을 분석해서 깃헙에 자동으로 올려주는 크롬 익스텐션도 있지만, 나는 솔루션을 편하게 작성하기 위해 직접 작성한 Solution이라는 클래스를 상속받아 사용하고 있어서, 실제로 내가 제출한 정답부분 외에 해당 클래스에 포함된 givenTestCases 등의 내용도 함께 직접 커밋&푸시를 하고 싶었다. 그래서 README.md를 내가 원하는 방식으로 내 실제 repo 내용에 기반해서 자동 생성해주는 툴을 찾아보게 되었고, GitHub Actions를 이용하면 가능하다는 것을 알게 되었다. GitHub Actions GitHub ..
안드로이드 스튜디오에서 파일 편집을 하다가, 왼쪽 탐색기에서 지금 보고 있는 파일의 경로를 찾고 싶을 때가 있다. 프로젝트 > 앱 > 패키지 > 내부 패키지 > ... > 파일 의 경로를 직접 찾아 들어가기란 정말 귀찮은 일이다. 이번 포스팅에서는 탐색기에서 현재 편집 중인 파일에 즉시 접근할 수 있는 두 가지 방법을 소개한다. Select Opened File (Alt+F1, 1) : 편집 중인 파일 바로 접근하기 왼쪽 탐색기 탭의 오른쪽 위 아이콘 중, 조준점 같이 생긴 아이콘이 있다. 이 아이콘을 클릭하면 바로 좌측 탐색기에서 현재 보고 있는 파일을 열어 준다. Always Select Opened File : 편집 중인 파일 항상 접근하기 좌측 탐색기 탭의 설정 버튼을 클릭하면, Always Se..
반복되는 레이아웃 하나의 앱에는 자주 재사용되는 레이아웃이 있는 경우가 많다. 예를 들면, 거의 비슷하게 툴바가 앱 전역에 걸쳐 사용되고 있을 수 있다. 같은 툴바가 FirstActivity와 SecondActivity에 사용되는 경우를 살펴보자. 각 액티비티의 레이아웃은 이런 식으로 생성될 것이다. 이 예시에서는 화면이 Frist Activity와 Second Activity 두 개밖에 없지만, 같은 타이틀 바가 100여개의 화면에 적용되어야 한다면 어떨까. 모든 화면마다 툴바에 해당하는 이 부분이 추가되어야 할 것이다. 이렇듯 반복되는 레이아웃을 재활용할 수 있도록 만들어진 것이 include 태그이다. 태그 include 태그는 한 번 작성한 레이아웃의 일부를 여기저기에서 가져다 쓸 수 있도록 해 ..
데이터바인딩(databinding) 데이터바인딩을 활용하면 레이아웃에서 변수를 정의하고 활용할 수 있다. 데이터바인딩에 대한 포스팅은 별도로 작성 예정이지만, 간단히 데이터바인딩을 활용하는 예시는 이렇다. class MainActivity: AppCompatActivity() { private var _binding: ActivityFirstBinding? = null private val binding: ActivityFirstBinding get() = _binding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) _binding = DataBindingUtil.setContentView(t..