Android: External Storage and Storage Access Framework(SAF)

개요 SD Card 또는 External Storage에 대해 가볍게 접근했다가 대혼돈이라는걸 뒤늦게 알았다. 내맘같아선, 그냥 기존처럼 자유롭게 접근하게 냅두면 좋겠지만… 모든 변화의 핵심은 Internal Storage 수준의 보안과 권한(Permission)이다. 사족을 달자면, 대부분 앱들은 아이폰용으로도 개발되기 때문에 이 골치아픈 External Storage를 다루지 않고 전부 Internal Storage만 사용한다, 카카오 톡처럼. 내용을 볼수록 이것도 이해가 되긴 하는데, 안드로이드 유저로선 그냥 […]

Android : Intent 정리 #1

명시적 인텐트(Explicit Intent) 요즘엔 단일 Activity로 앱 개발이 주로 이루어지지만, 초기에는 모두 Activity로 만들어졌었다. 하나의 앱내에서도 Activity를 띄우기 위해선 startActivity()를 사용하는데, 인자로 Intent객체를 넘겨줬다. Activity를 띄우는 예제 코드를 보면 다음과 같다. Intnet 객체를 생성하는 첫번째 인자는 Context이고, 두번째는 불러올 Activity의 클래스 이름이다. “::class.java” 는 무엇일까? ::class 는 Kotlin에서 KClass를 리턴해주는 reflection 문법이다. 안드로이드 Intent는 java […]

Android : ” org.codehaus.groovy.control. MultipleCompilationErrorsException: startup failed” 오류 해결

오래전 프로젝트 열었더니 다음과 같은 에러 발생. 기존에 설정했던 JDK 위치가 사라져서 뭔가 재설정되긴 했는데 제대로 안된거 같다. File>Settings>Build, Excution, Deployment>Build Tools>Gradle 을 찾아들어간다. Gradle Projects 에 Gradle JDK를 보면, 드롭다운메뉴에서 다양한 JDK를 선택할 수 있는걸 볼 수 있는데, “Android Studio Default JDK”를 선택하여 해결했다. OK, 여기까지.

Godot 4 : 3D Middle mouse button (MMB) 안쓰기

블렌더도 그렇지만, Godot도 Middle mouse button을 사용하도록 되어있다. 요즘 세상에 mmb(middle mouse button)을 메인으로 사용한다니… 아니, 쓸 수 있는데, 마우스들이 휠버튼을 엿같이 만들어놔서 쓰기 너무 불편하다. 그래서 안쓰는 방법 찾아봄. 메뉴바에서 Editor 메뉴를 연다. General 탭에 Editors>3D 항목을 찾는다. 항목에 보면, “Emulate 3Button Mouse”를 체크해줌. 이렇게하면, 바로 아래 항목에 설정된 Orbit Modifier, Pan Modifier, Zoom […]

작업하던 프로젝트 Github에 올리기

1. github에서 repository 생성 github 사이트의 대시보드에서 new 버튼을 눌러 새로운 git repository를 생성한다. github의 새로운 프로젝트 생성화면은 다음과 같다. 입력란에 빨간줄을 쳐놨는데, repository이름을 입력하고, 프로젝트를 공개할지여부를 Public/Private로 선택한다. 그 아래로, README 파일 및 .gitignore, license파일들을 자동생성해주는 옵션이 있는데, 작업중인 소스코드를 올리려는 경우, 충돌이 있을 수 있으니 다 비워주고 추가하지 않는다. 마지막으로 Create repository 버튼을 […]