728x90
반응형
- [ Android/Android ][Android] BottomSheetDialog2023-12-30 18:52:15WW 앱의 업데이트 상태를 알리기 위한 방법으로 바텀 시트 다이얼로그를 선택했다. 이전에는 기본 다이얼로그를 커스텀해 사용하는 방식을 많이 선택했는데 요즘 앱들을 살펴보면 바텀 시트 다이얼로그로 상호작용을 많이 하는 것 같아 한번 구현해보기로 했다. 바텀 시트 다이얼로그에도 종류가 있는데, 자세한 것은 아래의 링크에 잘 설명이 되어 있으니 참고하면 좋다. 오늘 구현해 볼 것은 Modal bottom sheet이다. Bottom Sheet Dialog 예제 : Modal, Persistent, 모서리 둥글게 등 1. Bottom Sheet Dialog 1-1. 개념 1-2. 종류와 차이 2. Modal Bottom Sheet 2-1. 기본 예제 2-2. 모서리가 둥근 예제 2-3. 버튼이 있는 예제 2-4..
- [ Android/Android ][Android] 권한 요청 워크 플로우2023-12-28 22:58:39앱을 사용할 때 사용자의 위치에 접근하거나, 미디어 파일에 접근해야하는 경우 권한을 요청하는 다이얼로그를 본 적이 있을 것이다. 오늘은 권한 요청을 위한 작업 순서에 대해 알아보도록 할 것이다. 개인 프로젝트인 WW (기온별 옷차림 안내 어플) 을 개발하며 작성해두었던 내용임을 참고하길 바란다. 앱의 매니페스트 파일에서 앱에 요청할 필요가 있을 권한 선언 특정 비공개 사용자 데이터에 액세스 해야하는 앱의 작업을 사용자가 호출할 때까지 기다림 → 호출했을 때 런타임 권한을 부여했는지 확인 WW의 경우 위에서 선언한 것처럼 ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION 권한이 필요함. -> 위치 권한이다. ActivityCompat.checkSelfPermission 권한 ..
- [ pinslog/Log.daily() ][Android] Activity 스택 관리 (feat. Intent와 Flag)2023-12-01 23:36:52Case1. 특정 액티비티를 상단에 띄우기 A - B - C 순으로 스택이 쌓였다고 할 때, C가 사용자의 화면에 떠있을 것이다. 이때 C에서 A로 이동하면서 B, C를 스택에서 제거하고 싶다면 Intent의 Flag 중 FLAG_ACTIVITY_CLEAR_TOP 을 사용하면 된다. Intent intent = new Intent(this, AActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(intent); finish(); 이동하려는 액티비티가 스택에 이미 존재하면 그 위에 쌓여있는 모든 스택을 제거하고 해당 액티비티가 다시 상단에 오르게 되는 것이다. Case2. 스택을 모두 제거하고 싶을 때 스택에 이동하려..
- [ pinslog/Log.daily() ][Android] onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState)2023-11-16 23:13:19화면을 그리기 위해 여느 날과 다름 없이 onCreate()를 호출했다. 그러나 아무것도 그려지지 않았다. 아니 도대체 왜....? 그래서 열심히 화면을 들여다 봤다. 보통 화면이 create될 때 호출되는 함수는 잘 알겠지만 onCreate(@Nullable Bundle savedInstanceState) 이다. onCreate(@Nullable Bundle savedInstanceState, @Nullable PersistableBundle persistentState) 하지만 나는 다른 onCreate(위)를 호출하여 이러한 문제가 생긴 것인데, 이 onCreate는 도대체 뭐하는 친구이며, 언제 호출될까? 하는 일은 화면은 생성하는 것으로 동일하지만 파라미터부분에서 알 수 있듯 savedInsta..
- [ Do what you want/WW ]앱이 출시되었다2023-11-09 09:32:07개인정보처리방침이 필요하다지난 글에서 앱이 거부되었다고 했다. 이유는 잘못된 개인정보처리방침을 작성했기 때문인데, 해당 앱은 어떠한 개인정보도 수집 및 사용하지 않는다. 고 생각했지만 구글에 따르면 기기 위치www.pinslog.com개인정보처리방침이 없어 앱 업로드가 거부되었었다. 그리고 곧이어 이전에 올라가있던 PP 마저 개인정보처리방침 때문에 거부당했다. 무슨 수를 써야만 했다. 그래서 GPT에게 도움을 요청했다. 내가 만든 앱들은 사용자의 개인정보 중 어떠한 것도 수집 및 공유하지 않기 때문에 별다른 내용을 포함하지 않아도 되었다. 위치 정보가 필요하긴 하지만 서비스를 제공하기 위함이고 마찬가지로 수집 및 공유하지 않기 때문에 해당 내용을 포함시켜 업로드를 했다. 개인정보처리방침을 업로드하려면 플..
- [ Android/Android ][Android] Unity 연동된 Android 프로젝트에서 Unity만 종료하기2023-03-21 00:00:39안드로이드에 있는 유니티 프로젝트만을 종료하고 싶을 때 유니티 쪽에서 Application.Quit() 를 호출하면 유니티 프로세스만 종료할 수 있다고 해서 해봤는데 앱이 죽어버린다. (그러나 죽기 전의 액티비티부터 재실행 되는 걸로 보인다.) 이것의 해답은 AndroidManifest.xml에서 해당 액티비티에 process 속성을 부여하는 것이다. 그런데 두가지 문제가 있다. Unity에서 Application.Quit()가 실행되지 않는다는 것 그래서 일단 mUnityPlayer.quit() 를 실행했다. Android에서 Unity 메서드 호출하는 법 (Unity script에 해당 오브젝트와 메소드가 있어야겠죠) UnityPlayer.UnitySendMessage("Unity Object", "..
728x90
반응형