본문 바로가기

소프트웨어

(67)
[Android] 안드로이드 웹 주소 URL로 브라우저 실행하기 How to launch web browser by web address URL in android 부연설명이 필요없으므로 코드로 땡. Kotlin val i = Intent(Intent.ACTION_VIEW) i.data = Uri.parse("https://www.naver.com/") startActivity(i) Java Intent i = new Intent(Intent.ACTION_VIEW); i.setData(Uri.parse("https://www.naver.com/")); startActivity(i);
[Android] AIDL을 구현해보자! 들어가기 전에 안드로이드의 각 앱 사이에서 데이터를 주고받으려면 AIDL(Android Interface Definition Language)을 사용하면 됩니다. 최근 middle-ware 역할을 하는 어플리케이션 프로젝트를 진행하였고 여기에서 사용했던 AIDL에 관한 내용을 간단하게 정리해봅니다. AIDL 레퍼런스 : https://developer.android.com/guide/components/aidl?hl=ko 안드로이드 인터페이스 정의 언어(AIDL) | Android Developers AIDL(Android Interface Definition Language)은 전에 다뤄본 다른 IDL과 유사합니다. 클라이언트와 서비스가 모두 동의한 프로그래밍 인터페이스를 정의하여 프로세스 간 통신(I..
Kotlin let을 이용한 Null check 구문 Kotlin에서는 표준 라이브러리 중 let으로 null check절을 좀 더 간단하게 작성할 수 있다. if(myNullable != null) { } 구문 var myNullable = null val res = myNullable?.let { it -> // 널이 아닐 때 실행코드 } if(myNullable == null) 구문 (한 줄) var myNullable = null val res = myNullable ?: "abcd" // 이 경우 res에 "abcd"가 할당된다. val res = myNullable ?: myFunction() // 이 경우 res에 kotlin.Unit가 할당된다. if(myNullable == null) { } 구문 (블럭) var myNullable = nu..
[Kotlin/Swing] 화면 잠금 방지 App 1.0 모종의 이유로 화면 잠금 / 절전 모드를 설정할 수 없는 컴퓨터에서 사용합니다. 이것저것 세팅이 귀찮은 관계로 Swing으로 작업하였고 작성 언어는 Kotlin입니다. 소스는 github를 참고하시기 바랍니다. 사용법 : ALT + TAB으로 창 전환 혹은 마우스 클릭으로 해당 앱이 활성화가 되면 동작을 시작합니다. 우측 정지버튼을 누르거나 Q를 타이핑 시 일시정지됩니다. Java (JRE)가 설치되어 있어야 하며 이곳에서 다운로드 및 설치가 가능합니다. 다운로드는 이곳으로 들어가서 아래와 같이 download 버튼을 클릭하세요.
Java와는 다른 Kotlin만의 기본 문법 정리 1. String literal val ben = """ 사랑 다 비슷해 그래 다 비슷해 너는 다르길 바랬는데 넌 뭐가 미안해 왜 맨날 미안해 헤어지는 날조차 너는 이유를 몰라 이젠 180도 달라진 너의 표정 그 말투 너무 따뜻했던 눈빛 네 향기까지도 정말 너무나도 달라진 우리 사랑 또 추억 아직 그대로인데 난 이젠 180도 변해버린 지금 너와 나 """ print(ben) 2. in 연산자 val num = arrayOf(100, 200, 300, 400) pirntln("${200 in num}") // true pirntln("${num.contains(200)}") // true pirntln("${200 !in num}") // false pirntln("${!num.contains(200)}"..
D-Day 계산 구글링을 하다보면 이것저것 예제가 많은데, 우리가 일상적으로 생각하는 디데이를 표현하고자 할때는 무리가 좀 있당. 특히 시간단위에서 오차가 나는 경우가 꽤나 있는데 다음과 같이 하면 좀 더 깔끔하고 정확한 D-Day가 구현되는 것 같아서 남겨둔당. Calendar c = Calendar.getInstance(); // 비교할 시간 c.setTime("비교시간"); c.clear(Calendar.HOUR); c.clear(Calendar.MINUTE); c.clear(Calendar.SECOND); c.clear(Calendar.MILLISECOND); // 시간, 분, 초, 밀리초 초기화 Calendar c2 = Calendar.getInstance(); // 현재 시간 c2.clear(Calendar...
Object에서 클래스 이름 얻기 다음과 같이 호출하면 클래스 이름을 얻을 수 있습니다. Object o = method(); Objects.requireNonNull(o).getClass().getName(); // java.lang.Integer
NppExec + git bash + GCC Npp에서는 다음과 같이 설정해준다. gcc -o "$(CURRENT_DIRECTORY)\$(NAME_PART)" "$(FULL_CURRENT_PATH)" cd "$(CURRENT_DIRECTORY)" cmd /c start "Git Bash" "$(NAME_PART).exe" --login -i 간혹 콘솔에서 정상 작동을 하지 않는 경우 다음 라인을 추가해준다 (printf 등) /* * Prevent immediate closing execution window. * (only works in Windows system) * Add it above the return statement in main function! */ system("pause");