분류 전체보기 426

Android Q - 저장소(Storage) 여유공간 가져오기

안드로이드 Q 부터는 ScopeStorage이 적용되기 떄문에 Q이전과는 다르게 권한을 얻어야 한다고 한다. Q이전 : READ_EXTERNAL_STORAGE권한만 얻으면 Primary저장소에 대한 모든 접근권한을 얻을수 있다. Q이후 : 접근하려는 폴더마다SAF(Storage Access Framework)를 통해서 사용자에게 권한을 받아야 한다. 참조 : https://codechacha.com/ko/get-free-and-total-size-of-volumes-in-android/

안드로이드 2021.07.23

맥 OS 한영 전환 쉬프트 스페이스로 바꾸기

Keyboard에서 Shortcuts > Input Sources에 Select the previous input source에 더블 클릭 후, fn + Shift + Space 을 누르면, Shift + Space 로 설정이 됩니다. (주의: Shift+Space만 누르면 안 된답니다.)(맥 키보드에서 해야함) * 몬트레이 업그레이드시 한영 전환 Shift + Space가 Control + Space로 강제 전환되어있다고 한다. 해결법 : plist 직접 변경 (https://ubiquitous4g.tistory.com/147) 참조 : https://blog.edit.kr/entry/macOS-%ED%95%9C%EC%98%81-%EC%A0%84%ED%99%98-%EB%8B%A8%EC%B6%95%ED%..

개발설정 2021.07.16

해피해킹 블루투스 연결

해피해킹 하이브리드 키보드 해피해킹 키보드는 일본의 PFU Limited에서 생산되는 고급 메커니컬 키보드입니다. 해피해킹 장점 - 고품질의 메커니컬 스위치를 사용하여 타이핑 감이 우수하고 키 반응성이 뛰어납니다. - 다양한 레이아웃 옵션을 제공하여 사용자들이 자신에게 가장 편한 레이아웃을 선택할 수 있습니다. 이는 사용자들이 키보드를 자신의 작업 환경에 맞게 커스터마이징할 수 있는 유연성을 제공 - 유선 및 블루투스 무선 연결을 지원하여 사용자들이 편리하게 연결 - PFU Limited의 높은 품질 기준에 따라 제조되어 내구성이 뛰어나며 오랜 시간 동안 사용할 수 있습니다. 해피해킹 디자인 - 키캡을 자유롭게 바꿀 수 있어 이쁘게 사용 가능 해피해킹 블루투스 연결방법 블루투스 등록 1. Mac 시스템 ..

개발설정 2021.07.16

Kotlin 코딩규칙 서식

들여 쓰기 들여 쓰기에는 공백 4개를 사용하십시오. 탭을 사용하지 마십시오. 중괄호의 경우 구성이 시작되는 줄 끝에 여는 중괄호를 배치하고 여는 구성과 수평으로 정렬 된 별도의 줄에 닫는 중괄호를 배치합니다. if (elements != null) { for (element in elements) { } } i) Kotlin에서 세미콜론은 선택 사항이므로 줄 바꿈이 중요합니다. 언어 디자인은 Java스타일 중괄호를 가정하며 다른 형식화 스타일을 사용하려고 하면 놀라운 동작이 발생할 수 있습니다. 수평 공백 이항 연산자 (a + b) 주위에 공백을 두십시오. 예외: "범위"연산자 (0..i)주위에 공백을 두지 마십시오. 단항 연산자 (a++)주위에 공백을 두지 마십시오. 제어 흐름 키워드 (if, when..

Kotlin 코딩규칙 명명 규칙

패키지 이름은 항상 소문자이며 밑줄을 사용하지 않습니다. 여러 단어로 된 이름을 사용하는 것은 일반적으로 권장되지 않지만 여러 단어를 사용해야 하는 경우 함께 연결하거나 카멜 케이스를 사용할 수 있습니다.(org.example.myProject) 클래스와 객체의 이름은 대문자로 시작하고 카멜 케이스를 사용합니다. open class DeclarationProcessor{ /*...*/ } object EmptyDeclarationProcessor : DeclarationProcessor() { /*...*/ } 기능 명 함수, 속성 및 지역 변수의 이름은 소문자로 시작하고 카멜 케이스를 사용하고 밑줄은 사용하지 않습니다. fun processDeclarations() { /*...*/ } var decl..

유용한 plugin

유용한 plugin Fast-Scrolling : ctrl 누르고 스크롤시 빠르게 스크롤 됨. JSON To Kotlin Class : json을 긁어다가 넣으면(API 같은 것) kotlin data 클래스로 만들어줌. Rainbow Bracket : 괄호 등 색깔을 주어 코드를 보기 편하게 해줌. Nyan Progress Bar : 프로그래스바 스타일 변경 intellij-touch : 맥북의 터치바 커스텀 해줌. Background Image Plus : 안드로이드 스튜디오에 이미지 배경 넣을 수 있음

Kotlin 코딩규칙 소스 코드 구성

소스 코드 구성 디렉토리 구조 순수 Kotlin 프로젝트에서 권장 디렉터리 구조는 공통 루트 패키지가 생략 된 패키지 구조를 따릅니다. ex) 프로젝트의 모든 코드가 org.example.kotlin 패키지와 하위 패키지에 있는 경우 org.example.kotlin패키지가 포함 된 파일은 소스 루트 바로 아래에 배치해야 하며 파일은 소스 루트 org.example.kotlin.network.socket의 network/socket 하위 디렉토리에 있어야 합니다. 소스 파일 이름 Kotlin 파일에 단일 클래스(관련 최상위 수준 선언 포함)가 포함 된 경우 이름은 .kt확장자가 추가된 클래스 이름과 동일해야 합니다. 파일에 여러 클래스가 포함되어 있거나 최상위 선언만 포함 된 경우 포함에 포함된 내용을 ..

구글 번역 시트 (Android, IOS) 뽑아내기

Android, IOS 문구 관리를 찾다가. 구글 번역 시트를 통해서 파일을 뽑아내는것을 찾았다. 1. 구글 시트 작성 2. 도구 -> 스크립트 편집기 -> 소스 붙여 넣기 var appName = "AppName"; function onOpen() { var sheet = SpreadsheetApp.getActiveSpreadsheet(); var entries = [ { name : "리소스 생성", functionName : "exportResources" } ]; sheet.addMenu(appName, entries); }; // Export resources function function exportResources() { // Folders var appFolder = createOrGet..

Android registerForActivityResult

startActivityForResult(), onActivityResult() 가 deprecated 되었습니다. ActivityResult를 받기위한 Callback등록 1. A액티비티에서 할일은 registerForActivityResult함수를 사용해서 Callbak을 등록해주는 것 입니다. 인자로 들어가는 것은 ActivityResultContracts클래스의 Static함수들이다. Result를 받기 위해서 Activity를 실행하는 StartActivityForResult()함수를 넣어 줍니다. 람다식에는 result로 받아온 값을 어떻게 사용하는지 정의해 주면 됩니다. result객체를 이용하면, resultCode와 data에 접근할 수 있다. 2. 실행하는 액티비티 private lat..

안드로이드 2021.06.23