728x90
반응형
- [ 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", "..
- [ Android/Android ][Android] Unity와 Android 연동하기 | UnityPlayerActivity as subView2023-03-20 00:17:351. Unity Hub 다운받기 해당 링크에서 다운 받는다. 퍼스널 라이센스를 활성화 시켰다. 그냥 무료버전은 없는건가…? new project를 눌러보자 프로젝트가 생성되었다. 곧 각 항목에 대해 자세히 알아보도록 하자. 2. 프로젝트에 안드로이드 추가하기 맥OS 기준) file > Build Settings 플랫폼 선택에서 안드로이드가 빠져있었다. → 다운받지 않았기 때문 → 다운 받아주었다. 다운 받은 후 안드로이드를 선택하고 build switch를 눌러주면 위와 같이 유니티 로고가 안드로이드 쪽으로 이동한다. (프로젝트 한번 껐다 켜니까 제대로 적용이 되었다.) 3. 관련 설정 export 하기 전에 Version : 1.0 Scripting Backend : IL2CPP Target Archi..
- [ Android/Android ]내 프로젝트와 Firebase 연동하기2023-03-06 18:25:151. Firebase 사이트로 이동한다. 링크 2. 시작하기를 누른다. 3. 프로젝트 만들기를 클릭한다. 4. 프로젝트의 이름을 입력한다. 각 화면의 안내에 따라 프로젝트를 생성하면 된다. 5. 프로젝트 생성이 완료 되었으면 firebase를 추가한다. 연결하려는 프로젝트는 Android App이기 때문에 해당 아이콘을 눌러준다. 5-1. 앱 등록 화면 패키지 이름 : 해당 프로젝트의 패키지 이름을 넣으면 된다. AndroidManifest.xml 에서도 확인할 수 있다. 5-2. 구성 파일 다운로드 후 추가 화면 안내하는 대로 따라하면 된다. 5-3. Firebase SDK 추가 프로젝트 수준 build.gradle buildscript { ext.kotlin_version = "1.6.10" repo..
- [ Android/Android ][Android] Hilt 적용해보기2023-01-04 22:36:38들어가며 DI (Dependecy Injection)에 대해서는 어느정도 들어보거나 또는 알 것이라고 생각한다. 한번 더 짚고 넘어가자면 의존 관계에 있는 클래스의 객체를 외부로부터 생성하여 주입받는 것을 의미한다. DI, 의존성 주입 컴퓨터를 만들기 위한 클래스를 설계한다고 생각해보자. (getter, setter 및 생성자는 생략한다.) CPU가 필요하고 RAM, 저장장치(ROM)도 필요하겠지? public class Cpu { String name; String company; } Computer 클래스는 이렇게 구성된다고 치자. public class Computer { int ram; int ssd; Cpu cpu; } 이때, Computer는 Cpu 클래스를 의존하고 있다. 의존이란 쉽게 말해..
- [ Android/Android ][Android] 부팅 시 앱 실행하기 | Android 10+ Application startup on BOOT2022-09-21 00:28:11들어가며 부팅 시 앱이 실행 되었으면 좋겠다는 요구 사항이 들어왔다. 예전에 부팅 되었을 때 관련 데이터를 삭제하는 기능을 잠깐 검토 했던 기억이 있어서 금방 하겠거니 생각했다. 그렇게 영원한 나의 친구이자 스승인 구글에 관련 기능을 검색했다. 1. AndroidManifest.xml 에 권한을 명시하고 2. Receiver를 만들고 class DeviceBootReceiver : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { val action = intent?.action if (action.equals(Intent.ACTION_BOOT_COMPLETED)){ val appIntent = Intent..
- [ Android/Android ]LeakCanary 사용하기2022-08-07 00:35:06들어가며 지난번의 메모리 누수 이슈로 원인을 찾아 헤매다 LeakCanary를 알게 되었다. 안드로이드 스튜디오에서 제공하는 프로파일러에서도 memory leak 을 잡아 낼 수 있는데 개인적으로 사용하기가 어려웠다. 그래서 따로 사용하는 법(?) 이해하는 법을 학습했지만 문제를 해결하기 위한 원인을 찾아내는 데에는 한계가 있었다고 생각한다. 그래서 LeakCanary를 사용해보고자 하였다. 메모리 누수 memory leak A small leak will sink a great ship. - Benjamin Franklin 쉽게 얘기해서 우리는 먹으면 싸야한다. 근데 그게 제때 배출이 안되고 안에서 자꾸 쌓인다고 생각하면 어떤가? 탈이 난다. 더이상 참조되지 않는 것들은 가비지 컬렉션에 의해 수거되어야..
- [ Android/Android ]fastlane 으로 Android 앱 배포 쉽게 하기 (feat. windows)2022-07-05 23:40:38들어가며 개발이 어느정도 마무리가 되면..(끝은 없으니까요 ^_ㅠ?) 사용자를 만나기 위한 준비를 해야한다. 여차저차 준비를 하고 내 자식같은 아이가 세상에 나오면.. 높은 확률로 다시 고쳐야할 일이 생긴다. 수정하고 내놓고 수정하고 내놓고.. 안드로이드 앱의 경우 출시 및 출시 준비 과정은 다음과 같다. (간략하게 작성한것으로 상이할 수 있습니다.) 1. 출시 전 속성 지정 및 설정 - debuggable = false (안하면 앱이 안올라가는거 아시죠) - app signing (빌드할 때 보통 자동으로 되지만 일단 넣었다.) - versionCode++ - versionName 지정 2. buildType 지정 후 build 진행 3. play console 에서 업로드 진행 4. 내부 테스트용 앱..
- [ Android/Android ]Android Jetpack Compose 맛보기2022-07-03 23:03:42Android Jetpack Compose 네이티브 Android UI를 빌드하기 위한 최신 도구 키트 Jetpack Compose 선언적 UI 방식 💡 상태를 UI 로 변환한다. UI는 변경할 수 없고 한번 생성하면 업데이트가 불가능하다. 앱 상태가 바뀌면 새로운 상태를 새로운 표현으로 변환하는 것 ⇒ 동기화 문제가 완전히 해결된다. 문장을 읽었을 때는 상태가 바뀌면 다시 그림을 그리겠다는 것으로 이해되어 비효율적이지 않을까 생각했다. 하지만 compose 는 지능적이기 때문에 변경되지 않은 요소의 작업은 건너 뛴다고 한다. 따라서 코드는 특정 상태에 대한 UI 형태를 설명할 뿐 생성 방법을 지정 하지는 않겠다는 것이다. Declarative UI Toolkit 요즘의 앱들은 데이터가 동적이고 실시간으..
728x90
반응형