본문 바로가기

분류 전체보기

[XE7] 자체적으로 원격푸쉬알림(GCM, APN) 전송 구현방법 스페인의 델파이 개발자(fgonzalez.visiblogs.com/)가 자체적으로 원격푸쉬 알림 기능을 구현한 동영상을 소개합니다. RAD Studio에서 원격 푸쉬 알림(Remote Push Notification)을 구현하기 위해서는 XE6 버전에 추가된 BaaS 클라이언트 컴포넌트를 통해 가능했는데요. 이 동영상에서는 IdHttp(안드로이드), TCPClient(iOS) 컴포넌트 등을 활용해 푸쉬 메시지를 전송하고, System.PushNotification 클래스를 활용해 푸쉬 메시지를 수신하는 내용을 소개합니다. 동영상은 스페인어로 이야기를 합니다. 팁을 드리면 유투브의 자막을 한국어로 설정하고 화면과 코드위주로 보시면 충분히 이해할 수 있습니다.원글에서 동영상 확인하기 - http://lfgo.. 더보기
[XE7] "Color to gray" 변환 알고리즘을 병렬(Parallel)로 처리하기 RAD Studio XE7에 새롭게 추가된 주요 기능 중 하나인 병렬(패러럴) 컴퓨팅 라이브러리는 코드를 멀티코어 CPU를 모두 활용해 동작할 수 있도록 구현하는 기술입니다.(오브젝트 파스칼과 C++에서 데스크탑과 모바일에서 사용할 수 있습니다.) 이번 글에서는 병렬 컴퓨팅 라이브러리를 활용하는 예제를 소개합니다.예제는 컬러이미지를 회색톤으로 변환하는 그래픽 작업에서 병렬 컴퓨팅 라이브러리를 이용해 성능을 개선합니다.(그래픽 작업과 같이 연산이 많은 작업을 비동기로 멀티코어를 활용한다면 크게 성능개선을 할 수 있습니다.) 아래 코드와 같이 기존 코드를 손쉽게 비동기 작업으로 변환 할 수 있습니다.기존 코드(No Parallel)procedure ToGrayPixelsNoParallel(aBitmap: G.. 더보기
파이어몽키 안드로이드 네이티브 컴포넌트(오픈소스) - DPF 파이어몽키 멀티-디바이스 앱 개발의 장점은 하나의 소스코드로 여러개의 플랫폼을 개발할 수 있다는 것입니다.그리고, 또다른 장점은 필요한 경우 네이티브 API와 SDK를 사용할 수 있다는 장점도 있습니다. 위 장점을 최대한 활용한 오픈소스 프로젝트를 소개합니다.D.P.F Delphi Android Native Components이 오픈소스 프로젝트에서는 안드로이드 네이트브 기능(SDK, API)를 이용해 네이티브 UI와 기능을 갖는 컴포넌트를 제공합니다.만약, 안드로이드 전용 앱을 만드는 경우 해당 오픈소스를 활용한다면, 기본 컴포넌트 외에도 더 풍부한 컴포넌트를 이용해 앱을 만들 수 있습니다. Some components: + Added TDPFJAlertDialog + TDPFJAnalogClock +.. 더보기
파이어몽키 iOS 네이티브 컴포넌트(오픈소스) - DPF 파이어몽키 멀티-디바이스 앱 개발의 장점은 하나의 소스코드로 여러개의 플랫폼을 개발할 수 있다는 것입니다.그리고, 또다른 장점은 필요한 경우 네이티브 API와 SDK를 사용할 수 있다는 장점도 있습니다. 위 장점을 최대한 활용한 오픈소스 프로젝트를 소개합니다.D.P.F Delphi iOS Native Components이 오픈소스 프로젝트에서는 iOS 네이트브 기능(SDK, API)를 이용해 네이티브 UI와 기능을 갖는 컴포넌트를 제공합니다.만약, 안드로이드 전용 앱을 만드는 경우 해당 오픈소스를 활용한다면, 기본 컴포넌트 외에도 더 풍부한 컴포넌트를 이용해 앱을 만들 수 있습니다. Some Wrapped Frameworks: * AddressBookUI.framework * AddressBook.fra.. 더보기
엔터프라이즈 DBMS에 직접 접속할 수 있는 방법(컴포넌트 소개) 모바일 앱에서 엔터프라이즈 DBMS(SQL Server, Oracle, Interbase Server 등)에 접속하기 위해서는 멀티티어 기술을 이용하는 것이 효과적입니다. 모바일 앱은 모바일 특성상 작은 하드웨어 자원을 사용하고, 연결이 보장되지 않은 네트워크를 이용합니다.그래서 앱에서는 필요한 최소한의 데이터만 받아 처리하는 것이 효과적이고, 언제 끊어 질지 모르는 네트워크 상에서 트랜젝션을 처리하기 위해서는 예외처리에 많은 노력이 들어갈 것입니다. 위의 이유로 모바일에서 엔터프라이즈 데이터 이용을 위해서는 멀티티어 환경으로 서버에서 모바일을 관리하는 것이 효과적입니다. 델파이를 이용한 모바일 앱에서는 데이터 스냅 또는 REST 클라이언트 기술을 이용해 멀티티어를 이용할 수 있습니다. 하지만, 네트워크.. 더보기
환경파일에서 "The imported project file could not be loaded. '', hexadecimal value 0x01, is an invalid character." 오류 발생 시 조치사항 델파이(or C++빌더)의 일부 버전과 환경에서 발생하는 이슈입니다.❑ 현상델파이 실행 후 컴파일 시 아래와 같은 오류 발생(빈 프로젝트에서도 발생) [Fatal Error] The imported project file could not be loaded. '', hexadecimal value 0x01, is an invalid character. Line 22, position 71. C:\Users\Clint\AppData\Roaming\Embarcadero\BDS\11.0\environment.proj대상 버전 : RAD Studio XE ~ XE4(추정)(발생되는 버전마다 아래의 해결방안으로 처리 가능)❑ 원인environment.proj(환경파일)의 DEVMGR_SHOW_DETAILS 항목에.. 더보기
구글 매터리얼 아이콘 753종 구글에서 공개한 753종의 매터리얼 아이콘입니다. 모바일 앱 개발 시 유용하게 사용할 수 있습니다. 다운로드 : https://github.com/google/material-design-icons/releases/tag/1.0.0확인 : http://google.github.io/material-design-icons/ 더보기
RAD Studio XE7 - iOS 추가/개선된 내용 ❑ Fire UI - 디바이스 크기별 최적화된 화면개발❑ 첫번째 반응형 컴포넌트 멀티뷰(TMultiView) 컴포넌트❑ 플랫폼 친화 속성 지원(플랫폼별 최적 속성 지원, 네이티브 컨트롤 지원)❑ 새 PAServer 새로운 명령과 관리자 응용프로그램 추가❑ iOS에서 TEdit와 TCalendar 네이티브 컨트롤 사용할 수 있는 속성 추가❑ 새로운 iOS 해더(libcplusplus) 추가❑ 병렬 컴퓨팅 라이브러리 - 멀티코어 CPU를 모두 활용하는 코드 작성❑ 블루투스/블루투스 LE지원PlatformApp tetheringRTL APIIPClassic BluetoothBluetooth Low EnergyClientServerWindows8+Mac OS X10.9+iOS5+6+Android4.3+ ❑ EM.. 더보기
RAD Studio XE7 - 안드로이드 추가/개선된 내용 ❑ Fire UI - 디바이스 크기별 최적화된 화면개발❑ 첫번째 반응형 컴포넌트 멀티뷰(TMultiView) 컴포넌트❑ 플랫폼 친화 속성 지원(플랫폼별 최적 속성 지원, 네이티브 컨트롤 지원)❑ 안드로이드 라이브러리(*.jar) 손쉽게 사용할 수 있도록 개선프로젝트 매니저에서 안드로이드 라이브러리 추가Java2OP.exe로 Object Pascal 네이티브 브릿지 파일 자동 생성 지원❑ 안드로이드 시작화면(스플래쉬 윈도우) 지원❑ 안드로이드 몰입 형 전체화면 모드❑ 병렬 컴퓨팅 라이브러리 - 멀티코어 CPU를 모두 활용하는 코드 작성❑ 블루투스/블루투스 LE지원PlatformApp tetheringRTL APIIPClassic BluetoothBluetooth Low EnergyClientServerWi.. 더보기
RAD Studio XE7 - VCL 추가/개선된 내용 ❑ 작업 표시줄에 점프메뉴를 추가할 수 있는 점프리스트 컴포넌트 추가❑ 병렬 컴퓨팅 라이브러리 - 멀티코어 CPU를 모두 활용하는 코드 작성❑ 블루투스/블루투스 LE지원PlatformApp tetheringRTL APIIPClassic BluetoothBluetooth Low EnergyClientServerWindows8+Mac OS X10.9+iOS5+6+Android4.3+ ❑ 앱테더링 블루투스 지원 및 외부 연결 지원❑ EMS(엔터프라이즈 모빌리티 서비스) - 턴키방식의 미들웨어 개발지원❑ 새로운 문법 - 동적 배열 개선(초기화와 동적배열 연산)❑ IDE 상에서 Git 버전관리 시스템 통합❑ 새로운 XML 벤더(OmniXML) 추가와 ❑ TWebBrowser에서 최신 IE 사용하도록 개선 관련 글.. 더보기
안드로이드 라이브러리(jar 파일) 활용 사례(안드로이드 열기 대화상자 구현) 파란크리스마스 블로그를 운영하시는 파란산타님께서 안드로이드 라이브러리를 활용해 열기 대화상자를 구현한 내용이 있어 공유합니다.(안드로이드 라이브러리 사용하는 내용을 아주 쉽게 정리해 주셨습니다.) 본문에서는 파이어몽키의 안드로이드 플랫폼에서는 열기 대화상자(TOpenDialog)를 제공하지 않기 때문에 오픈소스인 android-file-dialog의 라이브러리(*.jar)를 이용해 열기 대화상자를 구현한 내용입니다.(아래 내용을 참고하시면 직접 만든 안드로이드 라이브러리를 델파이에서 사용하는 방안을 익힐 수 있습니다.)FireMonkey Android - Open Dialog (Java Jar 라이브러리 사용) - http://bluexmas.tistory.com/427 더보기
[특강안내] "한 번에 개발하는 안드로이드/iOS 앱 with 델파이" 출간을 기념 무료 아간특강 개설 한 번에 개발하는 안드로이드/iOS 앱 with 델파이 출간을 기념해 무료 아간특강을 개설했습니다.(지난 13일 첫번째 특강의 반응이 너무 좋아 다시한번 진행합니다.) 퇴근 후 부담없는 2시간으로 앱개발을 경험하고 앱 개발에 대한 자신감을 얻어가시기 바랍니다. 신청은 아래 링크를 통해 가능합니다.http://onoffmix.com/event/36850 [구입 및 도서 내용 자세히 보기] 1편 - http://www.yes24.com/24/Goods/15045335?Acode=101 2편 - http://www.yes24.com/24/Goods/16356832?Acode=101 더보기
RAD Studio XE7의 첫번째 업데이트(Update 1) RAD Studio XE7 첫번째 업데이트 입니다.이번 업데이트에서는 160여개의 개선항목을 포함하고 아이폰 6, 아이폰 6 플러스 화면(미리보기) 지원 iOS, OS X 앱스토어 배포 지원 등이 포함됩니다.다운로드Delphi XE7: http://cc.embarcadero.com/reg/delphi C++Builder XE7 : http://cc.embarcadero.com/reg/c_builder RAD Studio XE7: http://cc.embarcadero.com/reg/rad_studio업데이트 내용http://docwiki.embarcadero.com/RADStudio/XE7/en/Release_Notes_for_XE7_Update_1개선항목(Fix lists)http://edn.embar.. 더보기
[앱테더링] VCL앱을 모바일앱으로 쉽게 확장할 수 있는 앱테더링 자세히 살펴보기! 앱테더링(App Tethering)?앱 테더링은 2개의 개별적인 앱을 서로 연결(테더링)해서 데이터를 주고 받을 수 있는 기술입니다. 앱테더링 기술을 이용해 VCL어플리케이션에서 모바일로 데이터를 제공하면 모바일에서 뷰어만 빠르게 만들어 아주 빠르고 쉽게 모바일앱을 개발할 수 있습니다.(모바일 앱의 동작을 다시 VCL 앱으로 전송해 사용자의 액션과 모바일 이미지등을 VCL 앱에서 사용하면 더 강력한 시스템으로 탈바꿈할 수 있습니다.)❑ 앱테더링 컴포넌트앱 테더링은 TTetheringManager, TTetheringAppProfile 두개의 컴포넌트를 통해 구현할 수 있습니다. 이번글에서는 각 컴포넌트의 자세한 속성과 이벤트에 대해서는 다루지 않습니다. 하지만 아래의 "앱테더링 데모를 통해 기능 살펴보기.. 더보기
RAD Studio 도서 안내 델파이 Begin ... End - 김원경 저 (2011년)책소개델파이의 시작부터 끝까지 파헤치다!'델파이 Begin...End'는 델파이를 처음 사용하는 초급 개발자들이 알고싶어하는 델파이에 대한 모든 내용에 대해 시작부터 중급 수준의 활용까지를 담은 책입니다. 델파이를 "처음"켜는 그 순간부터 복합적인 프로젝트를 "완성"하기까지의 모든 내용을 이 한 권의 책을 통해 배울 수 있습니다.이 책은 DataSnap, 클라우드 등 지속적으로 발전해오는 델파이의 최신 기술까지 모두 커버하고 있습니다. 또한 델파이 기본/고급 과정 교재를 근간으로하고 강의 내용을 서술하였으므로, 대학 또는 일반 강의를 따라가듯이 편안하게 학습할 수 있습니다.책 내용 자세히 보기델파이 프로그래밍 언어 - 엠바카데로 저 | 박지훈 역.. 더보기
Coding in delphi(닉 하지스 저) 다운로드 닉 하지스의 Coding in Delphi를 다운로드 받으세요. RAD Studio XE7 트라이얼 다운로드 사용자들에게 2014년 11월 21일까지 무료로 다운로드 받을 수 있는 프로모션 진행 중입니다.(기간내에 꼭 다운로드 받아보세요.)http://cc.embarcadero.com/item/30021 아마존을 통해 종이책을 구입할 수도 있습니다. 관련 글Object Pascal Handbook 핸드북(마르코칸투 저) 다운로드 안내 더보기
여러분의 앱에서 클라우드 서비스에 연결하세요.(REST Client이용) 최근 다양한 웹서비스와 클라우드에서 JSON 기반의 RESTFul 인터페이스를 제공합니다. 오늘은 짐매키트가 발표한 동영상을 통해 REST 클라이언트로 클라우드 서비스에 연결하는 내용을 소개합니다.짐은 대표적인 클라우드 서비스인 드랍박스에 REST 클라이언트 라이브러리를 통해 모바일앱에서 연결하는 데모를 진행합니다.이 글에서는 아래 내용을 포함합니다.레스트 디버거(RESTFul 사이트 분석 도구)를 통한 웹사이트 분석클라우드 서비스(드랍박스) 연동TOAuth1Authenticator 컴포넌트를 이용한 OAuth 1.0 인증과정 소개아래의 동영상을 통해 여러분의 앱에서 클라우드 서비스(드랍박스)에 연결하는 방법을 익혀 보시기 바랍니다. http://www.youtube.com/watch?v=sp-EDTKy.. 더보기
동영상강좌) 코드아카데미: 앱개발에 집중하고, 백엔드는 클라우드에 맡기세요! 지난 2014년 7월에 제가 진행했던 코드아카데미 동영상입니다. 모바일 백엔드 서비스(BaaS)에 대한 개념과 사용하는 방법을 데모와 함께 진행합니다.여러분의 앱에 클라우드를 연결해 백엔드 개발에 대한 부담을 덜어보세요. 총 4편으로 구성되었습니다.BaaS와 Kinvey 자세히 알아보기사용자관리-사용자 인증과 관리방법클라우드 기반 스토리지푸쉬알림 사용하기 http://www.youtube.com/playlist?list=PLpSzuJvn7BTwNO6lw9dKHfqFf4bkrJhw2 더보기
블루투스 LE와 클라우드를 이용한 수화물 무게 기록 앱 샘플 여행을 할때 짐을 챙기는 것도 중요하지만 정해진 수화물 무게를 맞추는 것도 중요합니다.^^어떤 물품이 얼마나 나가는지 기록하면 수화물 무게를 계산할때 아주 유용하겠네요. 이번 글에서는 블루투스 LE를 지원하는 저울(Wahoo Balace scale)과 연동해 수화물 무게를 얻어와 클라우드에 저장하는 모바일 앱을 RAD Studio XE7으로 만드는 샘플을 소개합니다. 이 앱은 총 3개의 탭으로 구성되었습니다.Weight Scale - 수화물 무게를 표시하고 수화물의 내용을 저장Logged Data - 기존의 수화물 데이터를 검색하고 목록을 표시Settings - 블루투스 데이터를 표시다양한 UI 구성요소와 TBluetoothLE 컴포넌트, BaaS 컴포넌트가 포함되었고 TStyleBook(custom j.. 더보기
안드로이드 기기에 설치된 앱 목록표시와 실행하기 파이어몽키 개발자 커뮤니티 네이버 카페(http://cafe.naver.com/delphifmx)에서 가을이다 님이 올려주신 내용입니다.(RAD Studio 모바일(멀티-디바이스) 개발에 관심이 있으시면 반드시 가입해야 하는 까페입니다. 가입하세요.) 안드로이드 기기에 설치된 앱의 목록을 표시하고 앱을 실행하는 예제입니다. uses Androidapi.JNI.GraphicsContentViewText, Androidapi.JNI.JavaTypes, FMX.Helpers.Android, AndroidApi.Helpers, Androidapi.JNIBridge; // 중략 var PM: JPackageManager; mainIntent: JIntent; LaunchIntent: JIntent; pkgApps.. 더보기