본문 바로가기

Firemonkey

Making the Connection: Programming Devices Gadgets with RAD Studio David I와 Jim McKeeth가 진행하는 웹세미나 동영상입니다.RAD Studio에서 외부 장비들과 연결하는 방법에 대해 소개합니다. 아래와 같은 다양한 장비와 연결하는 내용을 확인 할 수 있습니다.저는 개인적으로 아두이노와 연결하는 방법이 궁금한데 도움이 될 것 같아 좋네요^^Google GlassIP Camera and IO ControllerBallistic ChronographLeap Motion 3D inputZ-Wave Home AutomationBarcode scanningEmotiv EPOC brain computer interfacePhilips Hue Wireless LEDsOuyaKinectAnd more! http://youtu.be/fdxDj-r8gU0 자료는 http://.. 더보기
안드로이드에서 ComPort에 접근할 수 있는 파이어몽키 컴포넌트 WinSoft에서 안드로이드로 ComPort를 이용할 수 있는 파이어몽키 컴포넌트를 제공합니다.물론 안드로이드 라이브러리를 Import해서 구현할 수도 있지만, 델파이로 만든 컴포넌트가 활용성이 좋을 것 같네요.아래의 코드는 해당 컴포넌트를 사용하는 샘플코드입니다.아래의 링크를 타고 가시면 트라이얼 버전을 다운로드 할 수 있으니, 테스트해보시고 원하시는 앱을 만드셨으면 합니다.procedure TFormMain.MemoKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char; Shift: TShiftState); begin AComPort.WriteByte(Ord(KeyChar)); end; procedure TFormMain.TimerTimer(Sender.. 더보기
모바일개발 심화 안녕하세요. 험프리 김현수입니다. 이글에는 안드로이드와 iOS 개발 시 참고 할만한 글들을 모으려 합니다.따라가기 형태가 아니며, 내용을 훑어 보시고 필요한 정보는 방문해서 지식을 얻으셨으면 좋겠습니다. (계속 작성 중입니다. 좋은 정보 있으면 댓글로 알려주세요.) 공통기능▶ 데이터 연동Baas(Backend as a Service)와 RAD Studio(GCM, APN, 푸시알림 가능)모바일에서 RESTful 연동방법(Rest Client 소개)▶ UI 구성좌측에서 슬라이드로 나오는 메뉴 만들기파이어몽키에서 끌어서 새로고침 구현ListView의 Header를 첫글자로 정렬하는 방법▶ 기능구현 참고안드로이드와 iOS 연락처 목록을 얻어오는 방법Mobile app lifecycle events handli.. 더보기
파이어몽키에서 안드로이드 외부 라이브러리(jar 파일) 이용(Import jar) 안녕하세요. 험프리 김현수 입니다. 그간 많은 분들이 질문주셨던 내용인데요. 이제야 정리되어 소개해 드립니다. 안드로이드에서 외부라이브러리 사용하려면 so, jar 파일을이용하는 2가지 방법이 있습니다. 이번에 소개할 내용은 jar 파일을 이용해 외부 라이브러리를 활용하는 내용입니다. 간단하게 소개를 먼저하면, 필요한 jar 파일을 포함한 classes.dex 파일을 생성 후 배포 시 앞에서 생성한 classes.dex 파일을 배포하여 소스상에서 jar파일에 포함된 자바클래스를 활용하는 방식입니다. 아래의 순서대로 진행되어야 하며 순서에 맞춰 설명하겠습니다. 사용자 classes.dex 파일 생성APK 구조와 jar 파일의 위치java 소스파일 또는 jar 파일 준비빌드(옵션) java 소스파일 컴파일j.. 더보기
안드로이드 테마를 이용한 Splash Window 구현 RAD Studio XE7부터는 프로젝트 옵션에서 스플래쉬 이미지를 쉽게 변경할 수 있습니다. RAD Studio XE6 이전 버전에서 아래 내용을 참고하기 바랍니다. 안녕하세요. 험프리 김현수입니다. 델파이 모바일로 앱을 만들면, iOS에서는 스플래쉬 윈도우가 표시된 후 앱이 구동되지만 안드로이드의 경우 스플래쉬 윈도우가 없이 검은색 화면이 표시된 후 앱이 구동됩니다.델파이 모바일 개발의 경우 엔터프라이즈 개발에 주요 초점이 맞쳐져 있어, 쉬운개발과 빠른개발에 더 강점을 갖고 있어 큰 이슈가 되지는 않지만 B2C등의 개인 사용자에게 배포할 경우 때때로 눈에 거슬리기도 합니다. 위의 이슈(검은 화면 이후 앱 구동)를 해결하기 위한 방법은 3가지 정도가 될 것 같습니다. 앱을 최대한 빨리 띄우고 시간이 걸.. 더보기
매주 금요일 제공되는 파이어몽키 스타일파일 모바일과 데스크탑용 파이어몽키 스타일파일을 매주 금요일마다 제공한다는 아주 반가운 소식이 있어 전합니다.한주에 하나씩 공개를 하고, 현재 2가지의 스타일을 제공해 다운로드받을 수 있습니다.스크린샷을 보면 정말 멋지네요^^ 아래의 링크에서 매주 새로운 스타일을 만나보세요.http://blogs.embarcadero.com/tlaborde The Friday's Design #1 http://blogs.embarcadero.com/tlaborde/2014/01/17/the-fridays-design-1-firemonkey-desktop-and-mobile-design-with-delphi-xe5/ The Friday's Design #2 http://blogs.embarcadero.com/tlaborde/2.. 더보기
파이어몽키 모바일(iOS, Android)에서 사용자 파일 배포 및 사용 사진 및 스타일파일등을 앱에 포함해서 배포할 일이 있습니다.iOS와 안드로이드에서 사용자의 파일을 배포하고 사용하는 방법입니다. 우선 배포할 파일을 준비합니다.배포파일 추가는 IDE 메인메뉴에서 Project > Deployment 메뉴를 통해 할 수 있습니다. 위의 Add files 버튼을 누르고 열기대화상자에서 배포할 파일을 선택합니다. 파일이 추가되면 목록에서 추가한 파일을 선택하고아래와 같이 플랫폼을 iOS와 Android로 선택하고 Remote Path를 변경합니다. iOS 배포파일 추가Platform - [iOSDevice, iOSSimulator]Remote Path - StartUp\Documents Android 배포파일 추가Platform - [Android]Remote Path - a.. 더보기
안드로이드 API를 파이어몽키에서 사용하기(Toast 메시지 구현) 안드로이드 API를 파이어몽키에서 사용방법을 공유합니다. 제가 이해한 내용 기반으로 작성해서 틀린부분이 있을 수 있으니 혹시 틀린부분이 보이시면 댓글달아 주세요. 안드로이드 API 사용을 위해 파이어몽키로 변환할 대상은 안드로이드 Toast를 기반으로 설명하겠습니다.Toast는 아래의 그림과 같이 하단에 잠시 나타났다가 사라지는 메시지입니다. 파이어몽키에는 제공하지 않습니다. 샘플에서는 아래의 기능을 포함합니다.기본 위치(하단)에 Toast 메시지 표시지정된 위치에 Toast메시지 표시소스코드는 Github에 공개합니다.https://github.com/hjfactory/FMX.Devgear/tree/master/Samples/Android_Toast 설명은 아래의 순서대로 진행하겠습니다. 1, 안드로이.. 더보기
Firemonkey에서 Android Toast Message 사용하기 Android API를 Firemonkey에서 사용하는 방법을 설명하기 위해 Toast Message를 사용하는 방법을 샘플로 만들어 봤습니다. (다음 글에서는 컨버팅하는 방법을 설명하겠습니다.) 아래의 화면과 같이 위치를 지정해서 토스트메시지를 출력하면 Lock걸지 않는 메시지가 나왔다가 사라집니다. (아래의 샘플은 100% Firemonkey(delphi)로 만들어 졌습니다.) 혹시 확인해 보고 싶으신 분은 아래 APK 다운로드 해보세요.^^(당연히 iOS에서는 동작하지 않습니다.) 토스트 메시지는 아래의 문서를 참고해서 컨버팅 했구요. http://developer.android.com/reference/android/widget/Toast.html 토스트 메시지 위치를 지정하기 위해 아래의 문서도.. 더보기
Image URL로 TImage에 이미지 로드 웹에 있는 이미지를 표시해야 할 것 같아 간단하게 라이브러리 형태로 만들었어요.TBitmap을 class helper로 확장했습니다.소스가 몇 줄 되지 않으니 설명은 생략합니다. iOS(아이폰5), Android(Nexus 7), 윈도우(Windows 7)에서 모두 정상 동작 확인했습니다. 참고하세요^^ 사용법 procedure TForm3.Button1Click(Sender: TObject); var Size: Int64; begin Image1.Bitmap.LoadFromUrl('http://cfile2.uf.tistory.com/image/2353573E529FDAAC032731', Size); Memo1.Lines.Add('1 : ' + Format('W: %d, H: %d, S: %d', [Im.. 더보기
Delphi XE5 and RAD Studio XE5 Android and iOS Code Samples 안드로이와 iOS(아이폰)을 하나의 코드로 개발하는 RAD Studio XE5 모바일 샘플코드입니다. http://www.embarcadero.com/products/delphi/android-ios-code-samples-xe5 다양한 샘플코드 및 구현영상(1분 내외)을 보실 수 있어요^^ Device Sensors Accelerometer Gyroscope Location OrientationSensorDevice Services DeviceInfo MessageAlerts Notifications (Send/Cancel) Notifications (Set Badge Number) PhoneDialer ShareSheetTouch/Gestures InteractiveGestures TabSliding.. 더보기
StyleBook Resources Text Editor 패치 파이어몽키 스타일을 사용하면 매우 풍부하고 있어 보이게(?) 프로그램을 표현 할 수 있습니다.스타일 수정 시 약간의 편리한 기능의 패치가 있어 소개합니다. StyleBook Resources Text Editor내용 : Style designer로만 편집 가능했던 Resource를 Text Editor에서 수정 가능대상 : Delphi XE4 이상패치방법 : 1) 아래 링크에서 다운로드 - XE5: http://cc.embarcadero.com/Item/29623 - XE4: http://cc.embarcadero.com/item/29428 2) 다운받은 *.bpl파일을 특정 위치(라이브러리 등)로 이동 3) Components > Install Package > Add > 위의 *.bpl 선택 아래와 .. 더보기
[후기] RAD Studio XE3.5 - Delphi for iOS 3월 8일 데브기어가 주관하는 델파이 세미나가 진행되었습니다. 주요 주제는 Delphi for iOS(with Firemonkey)였습니다. Firemonkey란? 하나의 델파이(또는 C++) 소스로 Win32, Win64, OSX(MacOS), iOS, Android(준비 중)에서 실행 가능한 어플리케이션을 개발 할 수 있는 Native Compiler 프레임웍입니다. 세미나 내용이 궁금하신 분들이 계실 것 같아 기록합니다.개인적으로 생각나는 부분만 적으니 내용이 다소 다를 수도 있습니다. 발표자는옆집 아저씨같은 푸근한 인상의 고든 리(Gordon Li)님이 진행하셨구요.고드 리는 엠바카데로 중국, 대만, 아세안 지역의 수석 에반젤리스트로 활동 중이라고 합니다. 여러 주제의 세션이 있었지만 시간에 얽매.. 더보기
[FMX] 다이나믹한 UI 효과 - Float animation effect 대부분의 분들은 파이어몽키로 멀티플랫폼 지원을 위한 개발을 생각하고 계실텐데요.파이어몽키는 멀티플랫폼 기능외에도 다양한 기능이 포함되어 있습니다. 대표적으로 3D 효과 및 벡터형식의 부드러운 출력, RoateAngle 및 Scale 등의 신규 속성 등이 추가되었습니다. 오늘은 새로운 기능 중 하나인 FloatAnimation에 대해 소개하려 합니다. FloatAnimation은 단어 그대로 Float을 Animation하는 놈입니다. 좀 더 자세히 설명하면, 지정한 Start와 Stop에 해당하는 Float 값사이를 지정된 시간(Duration)에 맞춰 다양한 효과(Interpolation: 보간)로 값을 변경하는 놈입니다. 우선 샘플을 보시면 아래의 영상은 마우스 휠(업/다운) 시 마우스 주변에 효과를.. 더보기
[작업일지] 문자입력은 보류 중. 2월 20일 발표가 잡혔다. 그래서 발표준비를 해야한다. ㅠㅜ(살짝쿵 홍보 RT:FM 프로그래머로 사는 법 http://onoffmix.com/event/12062) 난 천상 개발자인가보다 발표보다 개발이 더 좋으니... 문자입력을 어떻게 처리할까 고민하고 참고소스도 들여다 보는데...음... 예상대로 많이 어렵다. 에디터를 만든다는 것 만만치 않다. 우선 클릭하고 입력하고 선택, 이동만 되게 하고다음 더블클릭해서 수정되게 하고다음 여러줄 입력 할 수 있게 하고나중에 글자별 스타일 적용 시키고~ 후후 쉽게 가야지~ IME처리가 문제예요~ 영어만하면 입력받아서 문자 그려주면 될 것 같구먼... 아무튼 문자입력은 잠정 보류 입니다. PS - 미래를 준비하기 위해 딴일도 해야하는뎅 ㅠㅜ 동시에 몇개씩 일을 하.. 더보기
[FMX] Firemonkey 구조 - 어떻게 하나의 코드로 여러 플랫폼에서 실행 될까? 이번에는 이리저리 파이어몽키 소스 보며 익혔던 간단한 구조에 대해 설명하려 합니다.(딱, 제가 아는 만큼만 소개합니다.^^) 파이어몽키는 멀티 플랫폼을 지원하는 델파이 프레임웤 입니다.어떻게 파이어몽키는 하나의 소스로 여러개의 플랫폼을 지원할까요?여러개의 플랫폼을 지원하는 열쇠는 FMX.Platform.pas의 Platform: TPlatform에 있습니다. (C:\Program Files (x86)\Embarcadero\RAD Studio\9.0\source\fmx에 소스파일이 있습니다.) FMX.Platform의 TPlatform 클래스를 보시면 대부분(거의 다)이 추상메소드(virtual; abstract;) 입니다. 구현이 안되어 있다는 것이죠.그리고 메소드명이 상당히 플랫폼에 종속적인 냄새를 풍.. 더보기
[FMX,VCL 비교] #1 VCL의 Canvas와 FMX의 Canvas 차이 파이어몽키로 작업하다보면 VCL과의 차이점으로 어려움을 겪는 경우가 많습니다. 그동안 작업하며 습득한 차이점을 한가지한가지 풀어놓으려 합니다.그중 첫번째 Canvas 입니다.일반적으로 TImage에 Drawing을 하는 예제로 구성하였습니다. VCL과 FMX의 동일한 기능을 구현했으니 비교해 보시면 좋을 것 같습니다.FMX 코딩시 주의점1, TImage.Picture.Bitmap => TImage.Bitmap : VCL의 Picture 객체가 빠졌습니다.2, Bitmap.Canvas.BeginScene ~ EndScene, Bitmap.BitmapChange : Canvas에 그리기고 화면에 표시하기 위한 절차입니다.3, Brush => Fill, Pen => Stroke 등으로 속성들이 약간씩 변했습니.. 더보기