전체 글 34

🎙 ChatGPT Voice Shortcut by 9tun

🎙 ChatGPT Voice Shortcut by 9tun: Chat GPT 음성 입력 단축키 설정하는 확장 프로그램.안녕하세요, 9tun입니다.ChatGPT를 사용할 때 매번 음성 입력 버튼을 누르고, 다시 전송 버튼을 클릭하는 게 귀찮으셨죠? 크롬이나 네이버 웨일에 아래 확장 프로그램 을 설치하시면 단축키를 설정하실 수 있습니다.https://chromewebstore.google.com/detail/chatgpt-voice-shortcut-by/bcpkkdhphjgfegkeefaajnaneoakhfcj 설치를 하고 나면 아래 2개의 단축키가 기본값으로 세팅됩니다. 👉 Ctrl + Shift + V : 음성 입력 시작 및 종료 👉 Ctrl + Shift + E : 프롬프트 전송 혹시 단축..

Chrome Web Store 2025.11.02

다이얼로그와 알림

API 레벨 호환성 // 24버전(API 24, Android 7.0) 이상 기기에서 설치 가능minSdk = 24// 35버전(API 35, Android 14)을 기준으로 앱 개발 및 테스트targetSdk = 35 앱을 개발할 때 minSdk보다 상위 버전 API를 사용하면 호환성을 고려해야 합니다. 가령, developer.android.com/reference에서 Notification이라는 클래스를 찾아볼게요. 즉, 31 버전 하위 기기에서 이 클래스를 사용하면 오류가 발생합니다.그래서 API 레벨 호환성을 무시할 수 있는 설정이 있긴 합니다. @RequiresApi(Build.VERSION_CODE.S) 혹은 @TargetApi(Build.VERSION_CODE.S) 하지만 이 애너테이션은 ..

Android 2025.08.03

리소스 활용하기

리소스 종류와 특징 안드로이드 앱 개발에서 리소스란 정적 자원입니다.정적 콘텐츠는 코드에 작성하지 않고, 리소스로 분리해서 외부 파일로 만들어 이용할 수 있습니다.리소스를 이용하면 코드가 간결해지고 유지, 보수가 쉬워집니다. 앱에서 이용하는 리소스앱 리소스플랫폼 리소스앱 리소스 사용하기✅앱 리소스개발자가 직접 추가한 리소스 모듈을 만들면 기본적으로 4개 디렉터리가 만들어지지만 리소스 파일 종류는 더 많습니다.디렉터리명리소스 종류animator속성 애니메이션 XMLanim트윈 애니메이션 XMLcolor색상 상태 목록 정의 XMLdrawable이미지 리소스mipmap앱 실행 아이콘 리소스layout레이아웃 XMLmenu메뉴 구성 XMLraw원시 형태로 이용되는 리소스 파일values단순 값으로 이용되는 리소..

Android 2025.07.26

사용자 이벤트 처리

터치와 키 이벤트 터치 이벤트화면 터치 이벤트를 처리하려면 onTouchEvent()를 선언하면 됩니다. 📌콜백함수란?어떤 이벤트가 발생하거나 시점에 도달했을 때 시스템에서 자동으로 호출하는 함수override fun onTouchEvent(event: MotionEvent): Boolean { when (event.action) { MotionEvent.ACTION_DOWN -> { // 터치 시작 } MotionEvent.ACTION_MOVE -> { // 손가락 이동 } MotionEvent.ACTION_UP -> { // 터치 끝 } } retur..

Android 2025.07.12

뷰 배치 레이아웃

레이아웃 클래스는 다른 뷰 객체를 담는 그릇 역할을 합니다.안드로이드의 대표적인 레이아웃 클래스 5가지를 살펴보시죠! 선형 배치: LinearLayout 뷰를 가로나 세로로 나열하는 레이아웃 클래스입니다. /* 이 부분이죠 */ /* 이 부분이죠 */ 방향 설정을 해두면, 뷰를 추가하면 그 방향으로 순서대로 나열됩니다.화면에서 벗어나도 줄을 바꾸지 않죠 ^^;;가로와 세로가 중첩된 구조입니다.이럴 때는 가로로 배치하는 LinearLayout에 세로로 배치하는 LinearLayout을 하나의 요소로 넣으면 됩니다.이미 앞 예제에서도 그 비슷한 구조가 나왔죠. 여백 채우기: layout_weightlayout_weight은 안드로이드의 LinearL..

Android 2025.07.02

뷰를 이용한 화면 구성

화면 구성 방법 Activity-view안드로이드 앱은 컴포넌트 기반입니다.액티비티: 화면 출력서비스브로드캐스트 리시버콘텐츠 프로바이더🙋‍♂️ 화면이 10개면 액티비티도 10개 만드는 건가요?👨‍🏫 초보 단계에서는 Activity 1개 = 화면 1개로 이해하면 충분합니다.하지만 실제 앱에서는 Fragment, Jetpack Compose Navigation 등을 사용해 하나의 Activity로 여러 화면(화면 전환 포함)을 처리할 수 있습니다. Activity는 화면을 "담는 그릇"입니다. 실제 내용을 보여주는 건 View 계열 클래스입니다. Activity로 화면 구성Activity에서 view로 화면을 구성하는 방법은 2가지입니다.Activity code 작성Layout XML 파일 작성pack..

Android 2025.06.13

텍스트를 표현하는 다양한 스타일

글꼴텍스트 스타일에는 글꼴 스타일과 문단 스타일이 있습니다. 글꼴 지정: font-family웹 문서에서는 글꼴 지정 시 한 가지만 선택해도 되지만, 글꼴이 없을 경우를 대비해 다음, 다다음 글꼴까지 생각해야 합니다. body { font-family: "맑은 고딕", 돋움, 굴림 } 🙋‍♂️ 근데 왜 맑은 고딕에만 "" 를 붙였나요?👨‍🏫 폰트 이름에 공백이 있는 경우에만 "" 를 붙입니다. 글자 크기: font-size절대 크기 상대 크기상대 단위는 기준값 대비 몇 배인지를 나타내는 단위입니다.아래는 기준과 예시입니다: ✅ %기준값: 부모 요소의 값예시: width: 50% → 부모 요소 너비의 50%✅ emfont-size 지정 시 → 부모 요소의 글꼴 크기여백(padding, margin,..

HTML, CSS 2025.06.11

코틀린 유용한 기법

람다 함수람다함수는 이름 없는 함수(익명 함수)입니다.코틀린에서 함수를 변수처럼 전달하거나 짧게 정의할 때 사용합니다. 람다 함수 선언 및 호출 ✅ 일반함수fun 함수명(매개변수) { 함수 본문 }fun sum(no1: Int, no2: Int): Int{ return no1 + no2} ✅ 람다함수{ 매개 변수 -> 함수 본문 }val sum = { no1: Int, no2: Int -> no1 + no2 } 람다 함수는 fun 키워드도 없고, 함수 이름도 없다. 🙋‍♂️ 람다 함수 사용 규칙에 대해서 좀 더 자세히 알려주세요.👨‍🏫 네, 람다 함수 사용 규칙은 다음과 같습니다.람다 함수는 { }로 표현합니다.{ } 안에 "매개변수 -> 함수 본문"이 있습니다.함수 반환값은 함수 본문 마지막 표..

Android 2025.06.09

css 기본

스타일HTML 문서에서 자주 사용하는 글꼴, 색상, 정렬, 배치 방식 등 문서의 시각적 스타일을 결정짓는 속성을 의미한다. 스타일이 왜 따로 있나?웹 문서는 다음과 같이 구성된다:HTML: 웹 페이지의 구조와 내용을 담당CSS: 웹 페이지의 디자인과 스타일을 정의 👨‍🏫 장점HTML로 작성한 내용은 그대로 두고, 대상 기기에 맞게 CSS만 바꿔주면 된다! ✅ 반응형 웹 디자인사용자의 접속 기기나 화면 크기에 따라웹 페이지의 레이아웃과 요소들이 자동으로 조정되는 디자인 방식입니다. 스타일 형식선택자{ 속성1: 속성값1; 속성2: 속성값2;}/* CSS 주석은 이렇게 씁니다. */p{ text-align: center; /* 텍스트 정렬: 중앙 */ color: blue; /* 글자색:..

HTML, CSS 2025.06.08

코틀린 객체 지향 프로그래밍

클래스와 생성자클래스 선언 class user{ } 클래스 멤버는 생성자, 변수, 함수, 클래스로 구성됩니다.생성자 키워드: constructor class User { var name = "kkang" constructor(name: String){ this.name = name } fun someFun(){ println("name: $name") } class SomeClass{ } } 위 클래스 생성자를 아래와 같이 작성할 수도 있다. class User(val name: String)이러면 본문 없는 클래스라도, 생성자까지 이미 정의된 것이다. 클래스는 객체를 생성해서 사용하고 그 객체로 멤버에 접근합니다.코틀린에서는 객체를 new를 사용하지 않고 아래..

Android 2025.06.04