반응형

2024/11 76

Android - Camera Gallery 기능 활용

안녕하세요, '소프트웨어 공장'입니다! 오늘은 안드로이드의 미디어 기능을 활용하는 방법을 간단한 예제를 통해 알아보겠습니다. 안드로이드에서는 사진이나 비디오 촬영, 갤러리에서 이미지 선택 등 다양한 미디어 기능을 손쉽게 구현할 수 있습니다. 이번 포스팅에서는 간단한 예제를 통해 카메라와 갤러리를 활용하여 이미지를 앱에 표시하는 방법을 소개하겠습니다.목표이 포스팅을 통해 여러분은 다음과 같은 내용을 배울 수 있습니다:카메라를 이용하여 사진 촬영하기갤러리에서 이미지를 선택하기선택된 이미지를 ImageView에 표시하기구현 내용우리는 다음 기능들을 구현해볼 것입니다:사용자가 버튼을 클릭하면 카메라를 열어 사진을 찍을 수 있도록 합니다.또 다른 버튼을 클릭하면 갤러리를 열어 이미지를 선택할 수 있도록 합니다.촬..

Android 2024.11.27

Paillier 비대칭키 암호화 알고리즘

안녕하세요, 소프트웨어 공장의 독자 여러분! 오늘은 비대칭키 암호화 알고리즘 중 하나인 Paillier 암호화 알고리즘에 대해 이야기해보려고 합니다. 이 알고리즘은 특유의 동형성(homomorphism) 덕분에 암호화된 상태에서 연산이 가능하다는 점에서 주목받고 있는데요, 본 포스팅에서는 Paillier 암호화의 원리와 함께 Java 및 Linux C 언어로 구현하는 방법까지 살펴보겠습니다.Paillier 암호화 알고리즘 소개Paillier 암호화는 1999년 Pascal Paillier에 의해 개발된 공개 키 암호화 알고리즘입니다. 이 알고리즘은 특이하게도 동형암호화(Homomorphic Encryption)를 지원하는데, 이는 암호화된 데이터에 대한 산술 연산이 가능하다는 것을 의미합니다. 예를 들어..

STM32 ADC 설정 및 사용하기

이번 포스팅에서는 STM32 마이크로컨트롤러의 ADC(Analog-to-Digital Converter)를 설정하고 사용하는 방법에 대해 설명하겠습니다. STM32CubeIDE를 통해 IO 핀을 설정하고, 아날로그 신호를 디지털 값으로 변환하는 기본적인 개념을 이해하며, 코드 예제를 통해 실습해보도록 하겠습니다. ADC 설정 과정은 STM32CubeMX를 활용하여 간단하게 할 수 있으며, 이를 통해 개발자가 필요한 설정을 GUI로 직관적으로 진행할 수 있습니다.ADC란 무엇인가?ADC는 아날로그 신호를 디지털 값으로 변환하는 장치입니다. 아날로그 신호는 연속적인 값을 가지는 반면, 디지털 신호는 불연속적인 비트를 나타내므로, 우리가 MCU와 같은 디지털 장치를 통해 아날로그 신호를 처리하려면 반드시 이를..

STM32 2024.11.26

Android - 비디오 및 오디오 재생

안드로이드 애플리케이션을 개발하면서 사용자 경험을 극대화하는 중요한 요소 중 하나는 멀티미디어의 효과적인 활용입니다. 이번 포스팅에서는 Android 앱에서 비디오와 오디오를 재생하는 방법을 배워보겠습니다. 이 글에서는 Android의 MediaPlayer와 VideoView를 사용하여 비디오와 오디오를 재생하는 기본적인 방법을 설명하고, 이를 실제로 구현할 수 있는 예제를 제공하겠습니다.1. 오디오 재생하기Android에서 오디오를 재생하기 위해 가장 많이 사용하는 클래스는 MediaPlayer입니다. 이 클래스를 이용하면 로컬 파일이나 웹상의 오디오를 손쉽게 재생할 수 있습니다. 먼저 MediaPlayer를 사용하여 간단한 오디오 재생 예제를 구현해보겠습니다.1.1 준비사항오디오 파일은 프로젝트의 r..

Android 2024.11.26

DSA(Digital Signature Algorithm) 비대칭키 암호화 알고리즘

비대칭키 암호화 알고리즘 중 하나인 DSA (Digital Signature Algorithm)은 디지털 서명을 생성하고 검증하는 목적으로 설계된 암호화 알고리즘입니다. 비대칭키 암호화는 두 개의 키, 즉 공개 키와 개인 키를 사용하여 데이터를 암호화하고 서명하는 방식입니다. DSA는 특히 디지털 서명을 위한 알고리즘으로, 미국 국가안보국(NSA)에 의해 개발되었으며, 디지털 서명을 통해 데이터의 무결성과 인증을 보장합니다.이번 포스팅에서는 DSA가 무엇인지 설명하고, JAVA 언어와 C 언어를 사용하여 간단한 예제 구현을 살펴보겠습니다.1. DSA의 개념과 특징DSA는 주로 다음과 같은 특성을 가지고 있습니다:서명 생성 및 검증: DSA는 메시지에 대한 서명을 생성하고, 이 서명을 사용하여 메시지가 변..

STM32 SPI 설정 및 활용 가이드

STM32 MCU는 다양한 인터페이스를 통해 외부 장치와 통신할 수 있습니다. 그중 SPI(Serial Peripheral Interface)는 빠르고 간편한 통신을 제공하여 센서, 메모리 장치, 디스플레이 등 다양한 디바이스와의 데이터 교환에 널리 사용됩니다. 이번 글에서는 STM32CubeIDE를 이용하여 SPI 설정 방법을 상세히 설명하고, SPI를 통해 외부 디바이스와 통신하는 예제를 다뤄보겠습니다.SPI의 개념SPI는 직렬 통신 프로토콜로, 마스터와 슬레이브 간의 동기화된 데이터 전송을 위해 사용됩니다. SPI는 클럭 신호를 사용하여 데이터를 전송하는데, 주요한 핀은 다음과 같습니다:MOSI (Master Out Slave In): 마스터에서 슬레이브로 데이터를 전송하는 선.MISO (Maste..

STM32 2024.11.25

Android - 카메라와 갤러리 사용하기

안드로이드 애플리케이션 개발을 하다 보면 카메라로 사진을 찍거나, 갤러리에서 사진을 선택해 앱에서 활용해야 하는 경우가 많이 있습니다. 이번 포스팅에서는 간단한 예제를 통해 카메라와 갤러리를 사용하는 방법을 알아보겠습니다. 카메라로 사진을 찍고, 갤러리에서 이미지를 가져오는 기능을 구현해 봅시다.1. AndroidManifest.xml 설정하기카메라와 갤러리 기능을 사용하려면 관련 권한을 선언해야 합니다. 다음과 같이 AndroidManifest.xml 파일에 권한을 추가해 주세요. ... 위와 같이 카메라와 외부 저장소 사용 권한을 선언하고, FileProvider 설정을 추가합니다.2. FileProvid..

Android 2024.11.25

ElGamal 비대칭키 암호화 알고리즘

오늘은 비대칭키 암호화 알고리즘 중 하나인 ElGamal 암호화 알고리즘에 대해 알아보겠습니다. ElGamal 암호화는 보안성과 유연성을 제공하는 알고리즘으로, 특히 디지털 서명과 키 교환에 사용됩니다. 이번 포스팅에서는 ElGamal 암호화의 개념을 설명하고, JAVA와 Linux C 언어로 구현된 예제를 공유하겠습니다.ElGamal 암호화 알고리즘이란?ElGamal 암호화는 1985년 Taher ElGamal이 제안한 공개 키 암호 시스템입니다. 이 알고리즘은 디피-헬만 키 교환 방식에 기초하며, 큰 소수를 기반으로 한 난수 생성과 지수 연산을 사용하여 보안성을 유지합니다. ElGamal은 암호화, 복호화, 서명 생성 및 검증에 모두 사용할 수 있으며, RSA에 비해 더 큰 키 크기가 필요하지만 보안..

STM32 I2C 설정 및 센서 통신 예제

안녕하세요, 소프트웨어 공장입니다. 오늘은 STM32F429ZI 보드에서 I2C를 설정하고 이를 활용하여 센서와 통신하는 방법에 대해 다뤄보겠습니다. I2C는 다양한 센서와 모듈을 연결하기에 매우 유용한 통신 방식입니다. 이번 글에서는 I2C의 기본 개념을 설명한 후, STM32CubeIDE를 사용하여 STM32F429ZI 보드의 IO를 설정하고, 실제 센서와 통신하는 예제를 작성해 보겠습니다.1. I2C란 무엇인가?I2C(Inter-Integrated Circuit)는 Philips에서 개발한 직렬 통신 프로토콜로, 여러 개의 슬레이브 장치를 하나의 마스터와 연결하여 사용할 수 있는 간단하고 유연한 통신 방식입니다. I2C는 두 개의 선(SCL: Serial Clock Line, SDA: Serial ..

STM32 2024.11.24

Android - 런타임 권한(Permission) 요청과 처리 방법

안드로이드 애플리케이션 개발에서는 사용자 데이터를 보호하기 위해서 권한 관리가 필수적입니다. Android 6.0 (API 23)부터는 권한이 설치 시점이 아닌, 애플리케이션 실행 중 런타임에서 요청되어야 합니다. 이번 포스팅에서는 안드로이드에서 런타임 권한을 요청하고 처리하는 방법에 대해 설명하고, 예제 코드를 통해 쉽게 이해할 수 있도록 도와드리겠습니다.런타임 권한 개요런타임 권한은 앱이 특정 작업을 수행하기 위해 사용자의 동의를 필요로 할 때, 앱 실행 중에 사용자에게 요청하는 권한입니다. 예를 들어, 카메라 사용, 위치 정보 접근, 연락처 읽기 등의 작업을 수행하려면 해당 권한을 사용자로부터 동적으로 허용받아야 합니다.권한을 요청하는 절차는 다음과 같습니다:권한을 선언하기 (AndroidManif..

Android 2024.11.24
반응형