Qt에서 Java를 활용한 Android 기기 MAC 주소 획득 방법 (Android 9.0)
개요
Qt 프레임워크를 사용하여 Android 애플리케이션을 개발할 때, 기기의 MAC 주소를 확인해야 하는 상황이 발생할 수 있다. Android 9.0 이상에서는 보안 정책의 변화로 인해 기존 방식의 접근이 제한적이다. 본 글에서는 Qt 환경에서 Java 코드를 활용하여 Android 기기의 MAC 주소를 가져오는 방법을 설명한다.
MAC 주소 획득 구현
다음은 Android 기기의 MAC 주소를 ...
7월 11일 20:45에 게시됨
Android IntentService 구현 원리 및 백그라운드 작업 처리 가이드
백그라운드 작업과 IntentService의 필요성
Android 애플리케이션 개발 시 네트워크 통신, 대용량 파일 처리, 데이터베이스 일괄 업데이트 등 시간이 오래 걸리는 작업은 반드시 메인 스레드가 아닌 백그라운드 스레드에서 수행해야 합니다. 일반적으로 Service 컴포넌트를 생성하고 그 내부에서 Thread를 직접 관리하는 방식을 사용하지만, 이 경우 스레드 동기화, 서비스 ...
7월 11일 00:26에 게시됨
MTK 기반 안드로이드 시스템 개발 가이드
1. 디바이스 언락 방법
MTK 칩셋 기반 디바이스를 언락하기 위한 단계별 가이드입니다.
설정 → 시스템 → 개발자 옵션 → OEM 언락 활성화
adb reboot bootloader 실행
fastboot flashing unlock 실행
볼륨 업 키를 눌러 확인
fastboot reboot로 재부팅
adb root 권한 획득
adb disable-verity로 verity 비활성화
adb reboot 재부팅
adb root 다시 실행
adb remount 마운 ...
7월 10일 05:56에 게시됨
Android Handler 메커니즘 완벽 이해하기
Android에서 Handler는 서로 다른 스레드 간에 메시지를 전달하거나 작업을 실행하는 데 사용되는 핵심 도구이며, 특히 백그라운드 스레드에서 메인 스레드(UI 스레드)로 작업을 전송합니다. Handler의 작동 원리는 Looper와 MessageQueue에 의존하며, 이 세 가지가 Android 메시지 처리 메커니즘을 구성합니다.
핵심 구성 요소
스레드와 메시지 큐: 각 Android 앱의 메인 ...
7월 7일 19:05에 게시됨
ViewPager 기반 안드로이드 소개 화면 구현
모바일 앱을 처음 실행할 때 보여지는 소개 페이지는 사용자에게 주요 기능이나 인터페이스를 직관적으로 안내하는 중요한 요소입니다. 일반적으로 3~4장의 이미지를 가로로 스크롤하며 확인하고, 마지막 페이지에서 '시작하기' 버튼을 통해 본격적인 사용을 시작할 수 있도록 구성됩니다. 이 기능은 안드로이드의 ViewPager를 활용하면 간단히 구현할 수 있습니다.
...
7월 6일 17:38에 게시됨
안드로이드에서 Java를 이용한 PCM 오디오 형식 변환: MP3 및 WAV 생성
최근 음성 합성 프로젝트를 진행하면서 PCM 형식의 오디오 파일을 MP3나 WAV 형식으로 변환해야 할 필요가 있었습니다. 이 과정을 기록해 둡니다.
Java를 이용한 PCM 오디오 파일을 MP3 형식으로 변환
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
/**
* PCM을 MP3로 변환하는 클래스
*
* @author 기술 개발자
* @ ...
7월 5일 01:08에 게시됨
안드로이드에서 짧은 동영상 촬영 기능 구현
최근 프로젝트에서 짧은 동영상 업로드 기능을 추가해야 했습니다. 이 기능은 WeChat과 유사하게 촬영 시작 버튼을 클릭하고 최대 촬영 시간을 설정하는 방식으로 구현되었습니다. 아래에서는 해당 기능의 구현 방법을 공유합니다.
동영상 녹화 커스텀 뷰:
public class VideoRecorderView extends FrameLayout implements MediaRecorder.OnErrorListener {
private ...
7월 4일 20:10에 게시됨
Android 6.0 런타임 권한 시스템 완벽 가이드
1. 서론
Android 6.0(마시멜로) 이전 버전에서는 애플리케이션이 AndroidManifest.xml에 권한을 선언하기만 하면 즉시 권한이 부여되었습니다. 사용자는 설치할 것인지 말지만 결정할 수 있었지요. Android 6.0부터는 런타임 권한(Runtime Permission) 시스템이 도입되어 사용자가 직접 권한을 허용하거나 거부할 수 있게 되었습니다.
캘린더, 카메라, 연락처, 위치정보, ...
7월 3일 19:56에 게시됨
안드로이드 MVP 패턴 기초: 간소화된 예제로 이해하기
안드로이드 개발을 처음 시작하면 대부분 hello,world 프로그램으로_beginning한다. Android Studio에서 새로운 프로젝트를 생성할 때 기본 설정으로 진행하면 자동으로 실행 가능한 hello,world 애플리케이션이 만들어진다. 이 상태를 MVC 패턴으로 분석해보면 다음과 같은 대응 관계를 가진다:
View: 레이아웃 XML 파일
Model: 비즈니스 로직과 엔티티 모델
Controller ...
6월 30일 19:07에 게시됨
Android UI 위젯 활용법
Android에서는 다양한 UI 위젯을 제공하며, 이를 통해 사용자와의 상호작용을 구현할 수 있습니다. 예를 들어 스위치, 라디오 버튼, 체크박스 등이 있으며, 이번 문서에서는 이러한 위젯들의 기본적인 사용 방법을 배워보겠습니다.
먼저 간단한 레이아웃과 기능을 살펴보겠습니다:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android& ...
6월 30일 01:56에 게시됨