본문 바로가기

파이어몽키

"Could not load SSL library." 오류 대응(XE7: BaaS, RESTClient, DataSnap) 이전 코드 아카데미에서 BaaS 클라이언트 컴포넌트를 이용해 진행했는데요.이번 XE7으로 실행 시 아래와 같은 오류가 발생할 경우 대처방안 안내해 드립니다. 해당 오류는 BaaS 클라이언트 컴포넌트와 DataSnap 사용 시 발생할 수 있습니다.해당 오류는 모바일로 배포시에는 발생하지 않으나, 윈도우에서 테스트 시 발생하는 오류입니다. Project Project1.exe raised exception class EIdOSSLCouldNotLoadSSLLibrary with message 'Could not load SSL library.'.❑ 해결방안참고: 엠바카데로 기술문서(Updating Open SSL for BaaS ...)Open SSL 설치파일 다운로드https://www.openssl.or.. 더보기
[NFC] 안드로이드에서 NFC 연동 방법 지난 9월 10일 새로운 아이폰(아이폰 6, 아이폰 6 플러스)에 NFC 기능이 포함된 애플페이가 소개되었습니다. NFC(근거리 무선 통신: Near Field Communication)근거리 무선 통신(近距離無線通信, Near Field Communication, NFC)는 13.56MHz의 대역을 가지며, 아주 가까운 거리의 무선 통신을 하기 위한 기술이다. 현재 지원되는 데이터 통신 속도는 초당 424 킬로비트다. 교통, 티켓, 지불 등 여러 서비스에서 사용할 수 있다.위키백과 참고 델파이에서도 NFC 기능을 이용할 수 있는데요. 안드로이드에서 NFC 기능을 이용하는 방법을 소개합니다. Embarcadero의 MVP 이자 다양한 플랫폼 SDK와 API 연동하는 다양한 방법을 소개한 Brian Lon.. 더보기
공백을 포함한 앱의 이름 설정하는 방법(iOS, 안드로이드) 모바일 프로젝트를 컴파일 하고 실행하면 프로젝트 이름이 앱의 이름으로 기본 생성됩니다. iOS와 안드로이드 앱의 이름에 공백을 포함해 지정하려면 아래의 설정 값을 변경하기 바랍니다.iOS Project | Options | Version Info | CFBundleDisplayNameAndroid Project | Options | Version Info | labelEmbarcadero community: How can I change name of FireMonkey Mobile application to contain spaces? 더보기
[REST Client] RESTRequest 비동기 호출방법 델파이에서 이미 구축된 웹서비스와 연동하기 위해서 REST 클라이언트 컴포넌트를 이용할 수 있습니다. 그동안 비동기로 전송하는 부분이 궁금했는데 우크라이나(?) 개발자인 Dave Gill이 남긴 글(RestRequest.ExecuteAsync and TaniIndicator)을 보고 반가운 마음에 글을 남깁니다. 비동기로 웹서비스에 요청하면 아래의 장점이 있습니다.어플리케이션의 화면이 어는 현상이 없습니다.데이터 요청 시 TAniIndicator 컴포넌트로 진행여부를 표시할 수 있습니다.(동기로 호출 시 화면이 얼어 움직이지 않습니다.)백그라운드로 다른 작업을 진행할 수 있습니다. 글을 참고하니 이미 TRESTRequest 컴포넌트에는 비동기로 호출할 수 있는 ExecuteAsync 메소드가 있었습니다... 더보기
RAD Studio 안드로이드 배포 시 INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES Unable to create process: Unable to install ''. Failure [INSTALL_PARSE_FAILED_INCONSISTENT_CERTIFICATES] ❑ 오류원인빈번하게 일어나지 않는 오류이지만, RAD Studio(Delphi, C++빌더) 버전이 바뀔때면 가끔 보는 오류입니다. 하지만 환경오류가 나면 당황합니다. 당황하지 않고 오류를 해결하는 방법과 도움말을 통해 오류의 원인을 찾는 방법을 안내합니다. 먼저 위 오류는 동일한 프로세스에 다른 서명 인증이 되어 있어 발생합니다.즉 동일한 프로세스 에를들면 "Project1"의 경우에서 많이 나는데요 이미 기기에 Project1이라는 앱이 들어있는데 새로운 버전의 개발툴에서 Project1으로 빌드하려 할때 발생합니다.. 더보기
REST Client 컴포넌트 - 마블(Marvel) 개발자 API 사용 최근 개봉된 "갤럭시 오브 가디언즈"를 제작한 마블(Marvel)의 캐릭터와 스토리 등을 가져올 수 있는 API가 있습니다.그리고 개발자 API를 통해 델파이 XE6의 REST Client 컴포넌트로 앱을 만들어 공개한 내용이 있어 소개합니다.http://www.danielespinetti.it/2014/06/access-marvel-developer-api-with-delphi.html 위 글에서는 REST Request 파라메터를 구성하고 이미지를 쓰레드로 받아오는 내용이 포함되어 있어 참고하면 아주 좋습니다. 더보기
시스템정보 확인, 캔버스 벤치마킹 용 앱 소개(Win, OSX, iOS, Android)(소스공개) 델파이 RTL과 파이어몽키의 속성값과 캔버스의 벤치마킹 등을 확인하는 앱이 구글 플레이어에 등록되었습니다.https://play.google.com/store/apps/details?id=com.steema.Delphi_Inspect 대표적인 기능은델파이(RTL)의 시스템, 수학함수 등의 정보파이어몽키를 이용한 시스템 정보(터치 지원 정보, 폼팩터 등)캔버스에 도형을 그리는 작업의 벤치마킹(TChart 이용)윈도우 32, 64 bit, OSX, iOS, Android 지원 아래 원문에서 추가 설명 및 소스코드를 확인하세요. 소스코드를 보시면 많은 정보를 얻을 수 있습니다.http://steema.com/wp/blog/2014/07/31/delphi-inspect-simple-free-tool-to-vie.. 더보기
15개 퍼즐 조각을 이동해 숫자를 맞추는 퍼즐게임(소스 공개) 러시아 델파이 개발자인 Andrey Yefimov가 퍼즐게임을 만들어 공개했습니다.4 x 4 공간에서 숫자를 이동해 연속된 숫자를 맞추는 퍼즐인데요. TRectangle과 TLabel로 숫자 항목을 구성하고 TFloatAnimation으로 퍼즐 이동 시 효과를 주었습니다.다음 블로그를 참고해 자세한 내용과 소스코드를 다운로드 받으세요.(러시아 어입니다. 우측에 번역 기능을 이용하세요.)http://delphifmandroid.blogspot.kr/2014/05/blog-post.html소스코드 백업 참고http://delphifmandroid.blogspot.kr/2014/05/blog-post.htmlhttp://www.fmxexpress.com/build-a-numbers-puzzle-game-wit.. 더보기
[BaaS] 데스크탑(VCL) 어플리케이션에서 특정 유저에게 GCM/APN 전송하기 안녕하세요. 험프리.김현수입니다. 요즘 BaaS 코드아카데미 준비하느라 바쁘면서도 즐겁습니다. 새로운 내용을 공부하고 누군가에게 도움을 줄 수 있다는 것이 보람되네요^^(코드아카데미 참석해 주세요. 좋은 내용이 많습니다. http://tech.devgear.co.kr/404011) 이번에 소개해드릴 내용은 얼마전 어느분께서 데브기어를 통해 질문하신 내용입니다. 질문 내용은 "VCL로 푸시메시지를 브로드캐스트는 되는데 특정 사용자에게 전송 가능하느냐? "라는 질문이었습니다. 이 글을 이해하시기 위해서는 BaaS와 RAD Studio 글을 먼저 읽어보시고, 데스크탑에서 클라우드 메시지 전송 글을 선행해야 이글을 이해하시는데 도움이 많이 됩니다. VCL 어플리케이션으로 특정 사용자에게 푸시메시지 전송 앞에서 .. 더보기
Kinvey(BaaS)에서 Business Logic 디버깅(테스트, 로깅) 하기 클라우드 서비스 중 백엔드 서비스를 이용할 수 있는 BaaS를 델파이에서 이용할 수 있는 것 많이들 아실텐데요. 사실 참고할 만한 내용이 많지 않아 아쉬울 따름입니다.(하지만 전세계적으로 사용량이 급증하고 있어 많은 참고할 글들이 곧 생긱것이라 확신합니다.) 제가 테스트하며 도움이 될만한 정보를 많이 남겨야겠습니다.이상 사설이었구요.Kinvey에서 비지니스 로직 디버깅하기오늘은 BaaS 제공자 중 Kinvey에서 비지니스 로직을 만들 때 도움이 될만한 비지니스 로직을 디버깅 하는 내용에 관한 글입니다.비지니스 로직은 일종의 함수라고 생각하면 됩니다. 사용자 및 파일이 추가되기 전/후(Before, After), 푸시메시지 요청 시 등록된 비지니스 로직이 호출됩니다. 오늘 제가 테스트한 내용은 푸시메시지 .. 더보기
예제로 배우는 모바일 앱개발 안녕하세요. 험프리.김현수입니다. RAD Studio와 앱메소드(AppMethod)는 파이어몽키 프레임워크(데브기어 소개자료, FireMonkeyX)를 이용해 모바일 앱을 쉽고 멋지게 만들 수 있습니다.이미 다양한 기술을 설명하는 글과 샘플이 있어 그 것들을 잘 참고한다면 여러분들도 쉽게 앱을 만들 수 있습니다. 하지만, 음식도 먹어본 사람이 맛을 알듯이, 새로운 영역의 모바일 개발의 경우 어떻게 시작할지, 무엇부터 해야 할지 막막할 수 있습니다. 그런경우 차근차근 책과 강좌를 통해 처음부터 익힐 수도 있지만, 뚝딱뚝딱 예제를 돌려보고 만저보며 우선 만들어 본 후 모르는 부분을 찾아서 익히는 방법도 있습니다.이 글의 목적이 글에서는 모바일 앱 개발을 시도해 보며 익히시려는 분들을 위해 실전앱에서 바로 사.. 더보기
[모바일앱예제] 사이드바 형태 메뉴(Sidebar drawer menu) 만들기 ☜ 목록으로 돌아가기시작하기에 앞서이 글은 처음부터 기능을 따라하며 만드는 것 보다는 제공되는 예제코드를 참고해 기능을 익히도록 설명되어 있습니다. 예제를 통해 기능을 완전히 익히신 후 새로운 프로젝트에 기능을 떼어 붙이며 본인 것으로 만들면 더 좋습니다.그럼 시작하겠습니다. 데스크탑 어플리케이션에서는 메뉴가 필요하면 메인메뉴나 팝업메뉴 형태로 제공했습니다. 하지만 모바일에서는 데스크탑 어플리케이션처럼 일반화된 메뉴 형식이 정해지지 않아 각각의 앱에서 필요한 형태로 메뉴를 구현해 사용하는 것이 일반적입니다.이번 글은 모바일 앱에서 자주 사용되는 사이드바 형태의 메뉴를 파이어몽키를 통해 개발하는 예제에 대해 알아봅니다.예제에서는 아래와 같이 두가지 형태의 사이드바 예제를 제공합니다.사이드바가 나오는 형태D.. 더보기
[모바일앱예제] 유튜브, 페이스북에서 사용되는 Swipe 메뉴 샘플 ☜ 목록으로 돌아가기 시작하기에 앞서 이 글은 처음부터 기능을 따라하며 만드는 것 보다는 제공되는 예제코드를 참고해 기능을 익히도록 설명되어 있습니다. 예제를 통해 기능을 완전히 익히신 후 새로운 프로젝트에 기능을 떼어 붙이며 본인 것으로 만들면 더 좋습니다.만약, 내용이 어려운 경우 해당 프로젝트를 다른 이름으로 저장 후 Frame 부분에 기능을 추가해 앱을 개발해도 무방합니다.그럼 시작합니다. 이번 글에서는 스와이프(Swipe) 메뉴를 파이어몽키에서 구현하는 방법을 설명합니다.Swipe menu는 유투브, 페이스북등의 앱에서 많이 사용하는 손가락으로 끌어서 메뉴를 호출하는 방식입니다. 이번 글은 아래 글의 연장이므로 아래 글을 먼저 보시기 바랍니다.(링크가 만들어지면 링크를 추가하겠습니다.)Sideb.. 더보기
안드로이드에서 음성인식 및 TTS(Text To Speach) 현재(2014년 7월)에 진행되고 있는 Developer Skill Sprints에 아주 다양한 내용들이 올라오고 있습니다.그 중 최근 개인적으로 관심을 두고 있는 음성인식 및 글자를 읽어주는 기능(TTS)을 소개하는 내용을 짐 매키트(Jim McKeeth)가 발표했습니다. 음성인식 및 TTS는 최근 웨어러블 디바이스가 다양해 지며 기존의 터치 인터페이스를 대치하는 방안으로 두각을 보이고 있는데요. 구글 글래스, 스마트 워치, 스마트 카 등에서 다양하게 사용될 것으로 예상됩니다. 이번 발표에서는 슬라이드와 데모 소스코드가 공개되었고 곧 동영상도 유튜브를 통해 공개될 것이므로 관심 갖으시면 많은 도움이 되실 것 같습니다. 추가: 공개된 유투브 동영상 추가합니다. Android voice skill spri.. 더보기
안드로이드 SMS 목록 얻어오기(샘플) 러시아의 델파이 개발자가 안드로이드의 SMS 목록을 얻어오는 샘플을 공개했습니다.해당 블로그를 보니 안드로이드 관련된 아주 다양한 정보들이 있네요. 한번 살펴보시면 많은 도움이 되실 듯 합니다.단, 러시아어로 되어 있어 구글 자동번역기를 이용하면 될 것 같습니다. 참고원글 : http://delphifmandroid.blogspot.kr/2014/06/sms.html구글 자동번역 : https://translate.google.com/translate?sl=auto&tl=ko&js=y&prev=_t&hl=ko&ie=UTF-8&u=http%3A%2F%2Fdelphifmandroid.blogspot.kr%2F2014%2F06%2Fsms.html&edit-text=http://www.fmxexpress.com.. 더보기
앱 완전 구동 후 작업 수행 하기(라이프 사이클 이벤트 / 타이머 이용) 앱에서 초기화 작업을 FormCreate(또는 FormShow)에서 하게되면 구동시간이 길어지고, 오류가 발생하는 경우 앱이 정상구동되지 않을 수(검은화면만 표시) 있습니다. 그렇기 때문에 앱이 완전 구동된 이후에 초기화 작업을 진행하도록 하기 바랍니다.앱 완전 구동 후 동작하기 위해서는 아래와 같은 2가지 방법이 있습니다.모바일 앱 라이프 사이클 이용하기타이머를 이용해 구동 이후 이벤트 받아 처리하기모바일 앱 라이프 사이클 이용하기모바일(안드로이드, iOS)는 라이프 사이클 이벤트를 제공합니다.(http://blog.hjf.pe.kr/114 참고)아래 코드를 참고하기 바랍니다.unit Unit1; interface uses System.SysUtils, System.Types, System.UIType.. 더보기
iOS개발 시 Log.d로 기록한 로그 확인 iOS에서 Log.d로 기록한 로그 확인기능을 확인하는 도중 상태 값이나, 그 당시의 데이터 값을 알고 싶을 때 로그를 사용합니다.파이어몽키에서는 이미 Log.d라는 함수를 제공하므로 우리는 Log.d를 사용하면 됩니다. ▶ Log.d 사용아래와 같이 추상 클래스의 클래스 함수로 기능이 구현되어 있는데요.(사실 구현은 중요하지 않습니다. 사용법만 알면 됩니다.)?12345678910111213141516171819type Log = class abstract strict private class var FLogger: IInterface; class constructor Create; public type ToStringFunc = reference to function(O: TObject) : Stri.. 더보기
안드로이드에서 ShowModal 사용하기 안드로이드에서는 모달폼 개념이 없어 기존에 사용하던 VCL 코드를 그대로 사용할 경우예상과는 다르게 모달폼이 동작하지 않습니다. 안드로이드에서는 다르게 모달폼을 구현해야 하는데 그 내용을 안내해 드립니다.주요한 핵심은ShowModal과 익명 메소드(Anonymous Mehtod)를 이용할 것모달폼의 해제(Free)는 반드시 폼의 FormClose 이벤트에서 CloseAction을 사용해서 해제할 것다른 내용은 아래의 링크를 통해서 자세히 알아보세요. http://www.malcolmgroves.com/blog/?p=1585&utm_source=rss&utm_medium=rss&utm_campaign=showmodal-on-android-2 더보기
원형 프로세스 바 - ProgressCircle(소스공개) 중국인(?) 델파이어가 공개한 원형 프로그레스 바를 아주 심플하게 만든 소스코드(ProgressCircle)가 있어 공개합니다. TArc, TCircle과 TText 3개를 이용해 구현되었습니다.아래 코드와 같이 이용할 수 있습니다. 컴포넌트로 만들어서 사용하면 아주 좋은 UI에 도움이 될 것 같습니다. 소스코드https://github.com/OneChen/ProgressCircle참고http://www.fmxexpress.com/build-a-progress-spinner-using-objects-in-delphi-xe6-firemonkey-on-android-and-ios/ 더보기
Bejeweled clone - 보석 맞추기 게임(소스공개) 저는 개인적으로 캔디크러쉬 세가, 애니팡 등의 게임을 아주 많이 하는데요^^Embarcadero CodeRage 8에서 위의 게임과 비슷한 Bejeweled 게임을 만들는 방법을 동영상으로 설명하고소스코드가 공개되었습니다. 델파이로 만들어졌기 때문에 안드로이드와 iOS에서 모두 실행되구요, 더불어 윈도우, 맥에서도 실행됩니다.이번기회에 소스코드 활용해 재미있는 게임을 만들어 보세요^^ 설명 동영상http://www.youtube.com/watch?v=PFzlgQbmqag 소스코드https://github.com/jadeade/jweled 그리고 Code Rage 8 에서 다양한 주제의 기술 동영상이 있으니 방문하셔서 들어보시기 바랍니다.http://www.embarcadero.com/coderage/em.. 더보기