본문 바로가기

분류 전체보기

[따라하기] 위험지역 경보 시스템 #1 - 비콘을 이용해 위험지역 진입 경보앱 만들기 업데이트 내역 2019-05 : 안드로이드 권한 모델 변경(런타임 시 권한 요청)이 적용되도록 업데이트2019-10 : 안드로이드 권한 모델에 위치(ACCESS_FILE_LOCATION) 항목 추가 위 동영상(위험 지역 경보 시스템 데모) 중 위험 지역 진입 시 경보를 발생하는 앱을 따라하기를 통해 만들어 봅니다.위험지역 진입 경보앱 만들기❑ 앱 소개앱 소개이 앱은 위험지역에 진입 시 화면과 경고음으로 위험지역에 진입을 경고해 주는 (프로토 타입)앱입니다. 따라하기의 목적따라하기를 통해 비콘을 이용한 위치기반 앱 개발을 시작합니다. 이 따라하기에서는 다음 내용을 다룹니다.비콘 컴포넌트를 이용해 비콘과의 거리를 활용합니다.UI 컨트롤의 투명도에 애니메이션 효과를 적용해 화면경고 기능을 구현합니다.사운드 파.. 더보기
[XE8] 모바일 앱에서 클래식 블루투스를 이용해 데이터 전송하기 지난 7월 24일 사물인터넷 앱 개발 with RAD Studio 교육을 진행했습니다. 교육이 끝나고 한 교육생분이 "클래식 블루투스로 데이터 전송이 잘되지 않아요."라는 질문을 받고 테스트한 내용 공유합니다. 클래식 블루투스 기능 테스트는 RAD Studio 기본 샘플 중 "Classic Bluetooth Basic app"으로 진행했습니다. Classic Bluetooth Basic appRAD Studio XE8 사용자는 다음 경로에서 샘플을 확인할 수 있습니다. C:\Users\Public\Documents\Embarcadero\Studio\16.0\Samples\Object Pascal\Mobile Samples\Device Sensors and Services\Bluetooth\Classic .. 더보기
모바일 앱 실행 시 검은화면이 표시되는 경우 조치방법 모바일 기기에 앱을 넣고 실행해보면 가끔 어찌된 영문인지 앱 실행 시 검은화면이 표시되고 더이상 구동되지 않는 경우가 발생합니다. 검은화면은 앱 실행 시 오류가 발생한 경우 표시됩니다. 실행 시 발생하는 오류는 다양하지만 자주 발생하는 이슈는 아래와 같습니다.FormCreate, FormShow 이벤트에 작성한 코드에서 오류 발생컴포넌트 Enable(또는 Active) 속성을 True로 설정 후 실행하면 실행 시 활성화 되고 활성화 시 오류 발생 가능필요한 라이브러리가 함께 배포되지 않은 경우(안드로이드 경우)권한이 없는 기능을 사용한 앱이 구동 시 오류 발생위 내용의 조치방법은 아래와 같습니다.1, FormCreate(또는 FormShow) 이벤트에 작성한 코드에서 오류 발생FormCreate 또는 F.. 더보기
[XE8] 코딩 중 이유없이 델파이 IDE가 응답없음 되는 경우 참고사항 코딩 중 특별한 이유없이 IDE가 응답없음 되면 카스탈리아 기능을 끄고 진행해 보세요.(저도 안드로이드 타겟으로 개발 시 특정 라인에서 꺽쇠주석({})을 추가할 때 델파이 IDE가 응답없음이 발생했고, 카스탈리아 기능을 끄니 재현되지 않네요.) 아래 그림과 같이 바로가기 뒤에 /NOCASTALIA 옵션을 추가하면 카스텔리아 기능이 동작하지 않습니다.(파이어몽키 카페에서 오실장님 글을 참고했습니다. - http://cafe.naver.com/delphifmx/983) 더보기
[하이브리드 앱 개발] 웹페이지에서 델파이 함수 호출하기 델파이는 성능좋은 네이티브 모바일 앱을 개발할 수 있는 개발 도구입니다.모든 기능을 네이티브로 개발할 수 있지만, 이미 반응형 웹페이지를 갖고 있는 경우 일부 기능을 웹브라우를 통해 구현해 하이브리드 형태로 개발 할 수 있습니다. 이 경우 델파이 코드에서 웹페이지의 자바스크립트를 호출하는 방법은 웹브라우저에서 제공하는 메소드(EvaluateJavaScript)를 사용할 수 있지만, 반대로 웹브라우저에서 델파이 코드를 호출하는 방법은 잘 모르실 것 같아 샘플을 만들어 공개합니다. 이글에서는 다음 기능을 소개합니다.델파이 코드로 웹브라우저의 자바스크립트 코드 호출하기웹브라우저에서 델파이 메소드 호출하기(파라메터 포함) 기본 구성❑ 웹페이지 구성웹페이지(http://hjf.pe.kr/fmx/hybrid.php.. 더보기
TWebbrowser의 "tel:, sms:" 링크가 동작하지 않는 이슈 해결방법 델파이로 하이브리드 앱 개발 시 안드로이드 환경에서 전화걸기 링크(tel:)를 클릭하면 웹페이지 오류(ERR_UNKNOWN_URL_SCHEME)가 표시됩니다.원래는 전화걸기 기능이 실행되야 합니다. 이 글은 안드로이드 하이브리드 앱에서 웹브라우저(TWebBrowser)의 전화걸기, 문자전송 등의 링크 클릭 시 해당 기능이 동작하도록 처리하는 방법을 안내합니다. 먼저 웹페이지의 구성과 증상을 살펴봅니다.웹페이지 구성과 증상웹페이지(http://hjf.pe.kr/fmx/hybrid.php)에는 아래와 같이 전화걸기, 문자전송, 메일 전송 링크를 제공합니다.[Phone number] / [Send sms] / [Send mail] 위 페이지를 안드로이드 앱의 웹브라우저에 표시하고, 전화걸기 링크를 클릭하면 다.. 더보기
델파이 프레임워크(VCL/FMX) 소스코드를 직접 수정하는 방법 개발을 하다보면 프레임워크가 제공하는 기능을 약간 수정하고 싶거나, 버그를 수정하고 싶은 경우가 있습니다. 아래 내용을 참고해 델파이 프레임워크 소스코드를 수정해서 사용하기 바랍니다.(VCL과 파이어몽키 모두 사용가능합니다.)(주의 : 잘못 수정했을 경우 많은 영역에서 사이드 이펙트가 발생 할 수 있으므로, 정확히 이해한 경우에 한해 프레임워크 소스를 수정하기 바랍니다.) 만약, VCL 또는 파이어몽키 버그를 발견했다면 혼자만 수정해서 사용하지 말고 제품에 반영될 수 있도록, 엠바카데로에 레포팅해주시기 바랍니다.^^(엠바카데로 퀄리티 포털 이용방법 안내)델파이 프레임워크 소스 수정방법1, 프로젝트 경로로 소스파일 복사수정하고 싶은 소스파일(*.pas)을 프로젝트 파일(*.dproj)과 동일한 경로에 복사.. 더보기
[윈도우10] 델파이로 윈도우10 알림 표시하기(WinRT API 이용) 윈도우10 알림윈도우10 알림 기능은 윈도우10에서 새로 추가된 주요기능 중 하나입니다.이미 모바일 기기에서 사용하던 알림영역과 같은 기능을 윈도우에서 제공한다고 보면 됩니다. 이제 윈도우에서도 앱의 상태변화 또는 새로운 소식을 알림영역 한곳에서 볼 수 있어 더욱 편리해 질 것 같습니다. 윈도우 알림이 발생하면 우측하단에 토스트 메시지가 표시가됩니다. 그리고 트래이의 알림 아이콘을 누르면 알림바가 표시되어 알림이력을 한눈에 확인할 수 있습니다. 아마 여러분들이 제작한 델파이 앱에서도 윈도우10 알림기능은 매우 유용하게 사용할 수 있는 부가기능일텐데요. 델파이에서 어떻게 사용할 수 있는지 알아봅니다.델파이로 윈도우10 알림 표시하기엠바카데로에서도 발빠르게 윈도우10을 지원하고 있습니다. 지난 주(6월 18.. 더보기
개발환경 설정 - 안드로이드 개발환경 안드로이드 개발환경 설정RAD Studio를 기본 설정으로 설치하면 안드로이드 앱을 개발할 수 있는 안드로이드 관련 소프트웨어(SDK, NDK, JDK 등)가 기본 설치됩니다. 1, 안드로이드 도구 설치확인하기Android Tools 설치 확인윈도우 시작 메뉴(시작버튼 > 앱 보기 > Embarcadero RAD Studio [버전])에서 Android Tools 항목을 확인합니다. Android Tools 설치(설치하지 않은 경우)만약, Android Tools 항목이 보이지 않는다면 Modify, Repair, Unistall 메뉴를 선택하고, 다음 화면에서 Android SDK와 Android NDK를 다시 설치하기 바랍니다. 2, 실제 디바이스 연결하기개발PC와 디바이스 연결개발 PC와 안드로이드.. 더보기
RAD Studio MidaConverter로 VCL 프로젝트를 FMX 프로젝트로 변환하기 Mida ConverterMida Converter는 윈도우용 VCL 프로젝트 파일(폼과 소스)을 윈도우, 맥, 아이패드, 안드로이드용 파이어몽키 프로젝트 파일로 변환해주는 소스코드 변환 도구입니다.(별도 제품이므로 개별적인 설치가 필요합니다.) 현재(2015년 06월) RAD Studio 구입 시 Mida Converter Basic 에디션을 제공하는 프로모션을 진행하고 있습니다. ☞ 프로모션 보기Basic 에디션은 "이미지 변환 미지원, 사용자정의 컨버젼 미지원" 등의 기능 제약이 있으므로 다양한 기능을 원한다면 http://www.midaconverter.com/에서 상위 에디션을 구입하시기 바랍니다.❑ Mida Converter 다운로드엠바카데로 EDN(Embarcadero Developer Ne.. 더보기
앱의 상태바(StatusBar) 제어하기(색상변경, 감추기, 투명하게) iOS 상태바 제어하기iOS 앱의 상태바 색상을 변경하고, 감추고, 투명하게 할 수 있습니다.1, 상태바 색상 변경하기상태바 색상은 폼의 색상(Fill.Color)을 그대로 반영합니다.폼의 Fill.Color 변경폼의 Fill.Kind = Solid2, 전체화면 전환(상태바 감추기)폼의 테두리를 표시하지 않으면 상태바도 표시되지 않습니다.폼의 BorderStyle = None참고로 코드로 BorderStyle을 변경 시 메모리 참조 에러가 간혹 발생합니다. 만약, 코드로 전체화면으로 전환이 필요한 경우 아래글의 Under the hood – FullScreen & TPlatformServices 섹션을 참고하시기 바랍니다.http://delphiaball.co.uk/2014/10/16/expanding-.. 더보기
[XE8] 스피드버튼의 이미지를 크게 표시할 수 있습니다. 파이어몽키에 이미지리스트가 추가(XE8~)되어 스피드버튼에 이미지 표시가 아주 편리해졌습니다. 하지만, 이미지의 기본크기가 너무 작다고 느끼신 경우 다음 글을 통해 스타일을 수정해 큼지막한 이미지를 표시해 보세요. 중국인 개발자(龟山阿卍)의 블로그입니다. http://www.cnblogs.com/onechen/p/4549631.html (번역: https://translate.google.com/translate?sl=zh-CN&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=http%3A%2F%2Fwww.cnblogs.com%2Fonechen%2Fp%2F4549631.html&edit-text=) 더보기
[XE8] RAD Studio XE8을 지원하는 외부 컴포넌트와 도구 델파이 XE8과 C++빌더 XE8을 지원하는 오픈소스 컴포넌트와 도구, 플러그인입니다.❑ JCL / JVCL다양한 기능을 제공하는 델파이, C++빌더 개발자들에게 익숙한 JCL/JVCL 컴포넌트 JCL - https://github.com/project-jedi/jclJVCL - https://github.com/project-jedi/jvcl❑ IDE Fix PackIDE를 최적화해주는 플러그인IDE Fix Pack 5.9 for RAD Studio 2009-XE8❑ GExpertsIDE에 유용한 기능을 추가 해주는 플러그인Experimental GExperts Version 1.37 2015-04-11 released❑ DDevExtensionsIDE 기능을 확장해주는 플러그인DDevExtension.. 더보기
JVCL(JCL) 써드파티 컴포넌트 최신버전을 받기 JVCL/JCL 컴포넌트는 오픈소스로 진행되는 써드파티 컴포넌트로, 델파이 6 부터 XE8(2015.5월 기준)까지 지원합니다.https://github.com/project-jedi/jvclhttps://github.com/project-jedi/jcl(기존 소스포지에서 깃허브로 둥지를 옮긴듯해요.) 더보기
블로그를 해킹당해 복구 중입니다. ㅠㅜ 더보기
RAD Studio XE8로 윈도우 10 애플리케이션 만들기 RAD Studio와 윈도우 10올 여름 출시예정인 윈도우 10은 기존 윈도우7, 윈도우8, 윈도우8.1에서 무료 업그레이드를 지원해 파급효과가 상당할 것으로 보입니다. RAD Studio(델파이와 C++빌더)도 발빠르게 윈도우 10에 대한 대응이 이미 완료된 상태로, 윈도우10과 관련된 글들이 하나 둘 올라오고 있습니다.(윈도우10이 정식 출시되고 나면, RAD Studio도 그 이후 버전에서는 "윈도우 10 정식지원"을 명시할 수 있을 것입니다.)❑ 윈도우 10에서 RAD Studio XE8 설치 후 테스트 윈도우10 프리뷰 버전을 설치하고 RAD Studio XE8 설치 후 간단한 메시지 애플리케이션을 제작했습니다. (당연한 결과지만 RAD Studio XE8 설치와 개발은 매우 순조롭게 진행되었습.. 더보기
[XE8] 애플리케이션 외관을 멋지고 일관되게 적용할 수 있는 프리미엄 스타일(Radiant, Vapor 추가) RAD Studio XE8 프리미엄 스타일RAD Studio는 기본으로 제공하는 스타일 외에 RAD Studio XE8 사용자에게 43 종의 프리미엄 스타일을 추가 제공합니다.VCL 스타일 : 7종파이어몽키 스타일 : 안드로이드, iOS, 윈도우, 맥 각 9종그 중 RAD Studio XE8에 새로 추가된 스타일(각 2종)을 소개합니다.❑ VCL 프리미엄 스타일 Radiant Vapor VCL 프리미엄 스타일 다운로드http://cc.embarcadero.com/item/30179 ❑ 파이어몽키 프리미엄 스타일 Radiant(iOS) Vapor(iOS) 파이어몽키 프리미엄 스타일 다운로드http://cc.embarcadero.com/item/30180 스타일 사용 방법은 다음 글을 참고하기 바랍니다.RA.. 더보기
[JVESoft] 광고와 결재 컴포넌트(AdMob, Paypal 등) JVESoft는 각종 광고 플랫폼과 결재 플랫폼에 연결할 수 있는 컴포넌트를 제작해 판매하고 있습니다.http://www.jvesoft.com/wp/ads-and-in-app-payments/ RAD Studio에서는 TBannerAd 컴포넌트로 광고기능을 TInAppPuchase 컴포넌트로 결재 기능을 지원하고 있습니다.각 컴포넌트의 기능과 편의성을 검토해 보시고 원하는 컴포넌트를 선택해서 광고와 결재기능을 여러분의 앱에 추가하시기 바랍니다. 더보기
[iOS] 배포파일 아이클라우드 백업 옵션설정하기 iOS앱 배포 시 함께 배포하는 파일에 대해 아이클라우드 백업 설정하는 코드입니다.대상은 "StartUp\Documents"에 배포하는 파일이며, 아이클라우드 백업 설정하지 않으면 앱스토어 배포 시 리젝처리 될수 있다고 하니 아래 코드를 참고해서 아이클라우드 백업 설정처리하시기 바랍니다.uses iOSapi.Foundation; function SetBackupFlag( AFileName: string; ABackup: boolean): boolean; var URL : NSUrl; Err : PPointer; begin URL := TNSURL.Wrap(TNSURL.OCClass.fileURLWithPath(NSStr(AFileName))); Result := URL.setResourceValue(TN.. 더보기
[XE8] 번거로운 수작업을 줄여 핵심기능 개발에 집중할 수 있는 개발 생산성 향상도구 RAD Studio XE8에는 수작업을 줄여주는 다양한 생산성 도구들이 추가되었습니다. 이제 번거로운 수작업을 줄이고 여러분의 비지니스 핵심기능 개발에 집중할 수 있습니다.다중 붙여넣기(MultiPaste) 다중 붙여넣기는 클립보드에 복사된 문자열의 라인별로 앞과 뒤에 추가로 문자를 덧붙이는 기능입니다. (XE8에서는) Castalia > MultiPaste 메뉴를 통해 사용할 수 있습니다. 사용 예> SQL 문자열 만들기 위의 화면은 SQL 문의 각 라인 앞과 뒤에 델파이의 문자열로 만드는 따옴표를 붙이는 예입니다. 클립보드에는 아래의 문자열이 포함되어 있습니다. SELECT * FROM EMPLOYREE EMP, ORDER ORD WHERE EMP.ORDER_ID = ORD.ORDER_ID ORDER.. 더보기