반응형 분류 전체보기271 [Android] 버튼 스타일 변경 안드로이드에서 기본적으로 지원해주는 버튼의 형식은 회색 바탕의 네모 박스 모양입니다. 대게 테스트용 프로그램 등을 작성할때 사용하고 디자인이 입혀지는 경우에는 버튼 이미지 디자인을 따로 진행하기 때문에 이러한 버튼의 스타일이나 모양을 신경 쓰지 않습니다. 하지만 디자인을 할만한 규모의 프로젝트가 아니라 간단하게 모서리가 약간만 둥글게 그리고 색상이 달랐으면 좋겠다고 할 때에는 버튼의 스타일을 직접 만들어 써야 합니다. 이번 글에서는 버튼의 모양중에서 모서리를 둥글게 깎아내고 색상을 회색톤이 아닌 다른 색상으로 변경하는 방법에 대해 한번 알아보도록 하겠습니다. 먼저 기본적인 버튼을 구성할 때 소스코드는 다음과 같습니다. 해당 코드를 XML파일에 작성하고 실행하면 기본 모양의 버튼이 생성됩니다. 이 자체로도.. 2022. 1. 14. [Android] CalendarView 안드로이드 프로젝트에 달력을 넣어야 하는 경우 기본적으로 지원되는 CalendarView를 이용하면 간단하게 구현이 가능합니다. CalendarView를 이용해서 달력을 화면에 띄우고 클릭을 통해 날짜를 선택하면 선택한 날짜가 출력되는 프로그램에 대해 알아보도록 하겠습니다. 제 경우에는 Layout 배경을 화이트톤으로 사용하기 때문에 Calendar 속성을 따로 설정하여 표현되는 구성요소들의 색상을 검은색으로 지정해주었습니다. Layout에 CalendarView를 포함시킨 뒤에 id를 calendar로 설정했습니다. 앱을 실행시키면 위와 같이 달력이 화면에 출력되고 기본적인 클릭에 의한 선택 등은 됩니다. 이번 글에서는 이 클릭한 날짜가 언제인지를 Log를 통해 출력해 보겠습니다. private Cal.. 2022. 1. 14. [Server] 리눅스 소켓이란? 리눅스에서는 기본적으로 모든 것을 파일 단위로 처리합니다. 즉 소켓, 디바이스, 폴더 등등 모든 객체를 파일로 관리하며 리눅스 시스템에서 프로세스가 이 파일들에 접근할 때 파일 디스크립터를 이용해서 접근하게 됩니다. 그렇다면 파일디스크립터(fd)란? - 리눅스에서 파일을 open 함수로 열면 파일 디스크립터 변환 - 프로그램이 파일을 액세스 할 때 파일 디스크립터 사용 - 리눅스에서는 모든 파일, 하드웨어 장치, 파이프, 소켓 등을 파일로 취급 - 파일 디스크립터 테이블 : 파일을 오픈 시 시스템에서 파일 정보를 담은 구조체 할당 테이블의 인덱스 값이 파일 디스크립터입니다. 파일 디스크립터는 위와 같이 리눅스 시스템에서 없어서는 안 되는 중요한 개념입니다. 파일 디스크립터를 기준으로 그렇다면 소켓을 파일.. 2022. 1. 13. PHP 디버깅 로그 출력 PHP 프로그램 작성 후 실행 시 동작 과정에서 이상 유무 등을 추적해야 하는 경우 로그파일을 만들어 출력한다면 관리자는 추후에 이 로그파일을 통해 문제 유무 추적이 가능합니다. 그만큼 모든 프로그램에서 디버깅 로그파일은 선택이 아니라 필수인데 웹페이지를 담당하는 php언어에서 이 로그파일을 만들어 출력하는 방법에 대해 알아보겠습니다. php에서는 이러한 중요성을 인지한것인지 별도로 함수나 로직을 구현하지 않아도 error_log라는 함수만 사용하면 손 쉽게 원하는 동작 시점에 로그파일을 출력할 수 있습니다. error_log("log test....!!!", "3", "/data/logs/php.log"); error_log 함수의 첫번째 인자는 로그 파일에 출력할 내용을 입력합니다. 두 번째 인자 3.. 2022. 1. 13. [Android] BLE WriteCharacteristic 안드로이드 Bluetooth Project에서 기본적으로 샘플 코드를 이용하면 ReadCharacteristic 함수를 지원하기 때문에 Bluetooth Device로부터 Data를 읽는 것은 손쉽게 가능합니다. 그런데 이 샘플코드에서는 Bluetooth에 Data를 전송하기 위한 함수가 구현되어 있지 않기 때문에 개발자는 직접적으로 함수를 구현하여 통신 로직을 만들어야 합니다. 그럼 ReadCharacteristic과 반대되는 쓰기속성의 WriteCharacteristic을 구현해보겠습니다. 코드는 생각보다 간단한데 먼저 BluetoothService가 선언되어 생성되어야 하며 그 BluetoothService 클래스 내부에 구현이 되어야 합니다. 소스코드는 다음과 같습니다 public boolean .. 2022. 1. 13. [Android] No matching client found for package name 에러 해결 안드로이드 스튜디오에서 패키 지명 변경 시 에러가 발생했고 구글 서치 결과 경로 설정이 바꾼 패키지 내용과 달라서 생기는 문제입니다. 다음과 같은 순서로 해결이 가능합니다. 1. 왼쪽 프로젝트 창에서 Android로 설정되어 있는 것을 Project로 변경합니다. 2. google-services.json 을 눌러서 파일을 클릭해서 내용이 보이도록 열어줍니다. 3. 이부분의 package_name 이 내가 변경한 이름과 맞지 않을 것입니다. 이 부분을 내가 변경하고자 하는 package name으로 수정한 뒤 build 합니다. 빌드 과정에서 패키 지명이 매치되지 않아서 생기는 문제로 위와 같은 방법으로 손쉽게 해결이 가능합니다. 2022. 1. 13. 이전 1 ··· 28 29 30 31 32 33 34 ··· 46 다음 반응형