자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다.
- 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)
Delphi XE5에서 안드로이드앱 개발시 MySql 데이터를 어떻게 주고 받을 수 있나요?
2014.01.08 18:42
XE5를 사용하여 안드로이드 앱을을 만들어 보려고 테스트 중에 있습니다.
DB의 로컬연결은 동영상강의를 보니 알것 같습니다.
그런데 SQL서버로의 연결은 어떻게 하는것인지 궁금합니다.
MySql을 사용하고 있는데 MySql과는 어떻게 연결을 할 수 있나요?
컴포넌트로 직접 연결은 안되는것 같은데 어떻게 해서 데이터를 가져오거나 입력수정삭제할 수 있는지 알고 싶습니다.
윈도우에서 작업할때는 직접연결하는 DAC for MySQL을 주로 사용하고 있고 UniDAC도 아주 가끔 사용합니다. FireDAC는 테스트만 해봤고 사용은 하지 않았습니다. 그런데 iOS나 안드로이드에서는 이런것을 이용해서 MySql같은 SQL서버에 연결할 수 있는것은 아닌것 같더군요
2년전에 XCODE로 잠깐 iPhone앱 개발을 한적이 있었는데 그때는 hp로 만들어진 XML웹페이지?를 아이폰에서 호출하여 XML문서를 가져와 파싱해서 폰에 적용했던것으로 기억합니다. 그런 방식으로 XE5에서도 해야되는것인지 아니면 다른 접근하기 쉬운? 방법이 있는지 ...
도움을 부탁드립니다
댓글 6
-
Humphery
2014.01.08 19:03
-
임우식
2014.01.09 06:03
RDBMS접근하는 위 두가지의 방식중 어떤방식이 더 유용한가요?
현재 웹서버에서 PHP도 사용가능합니다.
DataSnap방식은 사용해본적이 없어 테스트해봤는데 뭔가 잘못되었는지 연결이 잘 되지 않는군요.
그러나 연결만 된다면 생각보다 편할것 같군요.
DataSnap를 사용할 경우 DS서버를 항상 실행시켜 놔야 되는것이겠죠?..그럼 어디에 실행을 시켜놔야 되나요?
이러한 접근방식은 해본적이 없어서 그런지 정말 낮설군요..ㅠㅠ
-
관리자
2014.01.10 01:37
서버는 NT 서버나 웹에서 실행되어 있어야합니다. 저희가 "엔터프라이즈 기반의 모바일 앱 작성"이라는 교육 과정에서 DataSnap과 모바일 엡을 연결하는 것을 작성해봅니다.
시간이 되시면 교육을 한 번 오시면 도움이 되실것 같습니다.
-
Humphery
2014.01.11 00:57
내용을 보강합니다.^^
RDBMS를 모바일과 연결하려면, RDBMS 제조사에서 모바일 전용 클라이언트 드라이버를 제공해야 합니다.하지만 오라클, SQL Server등 상용 RDBMS들은 모바일을 지원하지 않고 있습니다. (제가 알기로는 저희 인터베이스 서버 제품이 유일하게 모바일 클라이언트 드라이버를 제공하는 것으로 알고 있습니다.)
위와 같은 이유로 모바일에서 RDBMS와 연결해 데이터를 이용하려면, 모바일 앱과 RDBMS 중간에 미들웨어 서버를 두는 방식으로 구성하시기 바랍니다.
-
임우식
2014.01.13 18:43
아...잘 알겠습니다
친절한 답변에 감사드립니다^^
DS서버로 연결방식보다는 저희는 웹서버를 이용한 접근방식이 더 좋을 것 같아 그쪽으로 계속 찾아보고 있습니다.
현재 IdHTTP를 이용해서 연결하여 데이터를 주고 받는것을 테스트하여 봤습니다.
RESTClient도 확인하여 봐야겠습니다. JSON과 XML에 대해서도 봐야되고...배울것이 많네요^^
다른분들이 만들어진 앱의 크기가 다른것에 비해 크다고 글쓰신것을 봤습니다.
안드로이드 테스트해보니 내용이 없어도 기본적으로 15메가 이상 되는것 같은데 이 앱 크기를 어떻게 해야 줄일수 있는 것인가요?
FPC와 앱 크기 비교한것도 있던데 FPC처럼 작게는 아니더라도 앱 크기를 조금이라도 줄일 수 있는 방법이 있다면 사용하는것이 좋을 듯 해서 질문합니다.
날씨가 많이 추운데 건강하세요^^
-
마눠니
2014.03.09 22:47
저는 MySQL을 연결할 때, Devart 사의 MyDAC 컴포넌트를 이용하고 있습니다.
일반적으로는 DataSnap을 이용하여야 하겠지만,
MyDAC을 이용하면 Android와 RDBMS 또는 기타 서버에서 별도의 셋팅이나 작업을 하지 않아도
바로 연결하여 사용할 수 있는 장점이 있습니다.
또한, Oracle 과 연결하기 위해서는 ODAC을 이용하시면 될 것 같습니다.
다만, Devart사에서는 MS-SQL은 모바일을 지원하지 않더군요.
Delphi XE5에서 안드로이드앱 개발시 MySql 데이터를 어떻게 주고 받을 수 있나요?
2014.01.08 18:42
XE5를 사용하여 안드로이드 앱을을 만들어 보려고 테스트 중에 있습니다.
DB의 로컬연결은 동영상강의를 보니 알것 같습니다.
그런데 SQL서버로의 연결은 어떻게 하는것인지 궁금합니다.
MySql을 사용하고 있는데 MySql과는 어떻게 연결을 할 수 있나요?
컴포넌트로 직접 연결은 안되는것 같은데 어떻게 해서 데이터를 가져오거나 입력수정삭제할 수 있는지 알고 싶습니다.
윈도우에서 작업할때는 직접연결하는 DAC for MySQL을 주로 사용하고 있고 UniDAC도 아주 가끔 사용합니다. FireDAC는 테스트만 해봤고 사용은 하지 않았습니다. 그런데 iOS나 안드로이드에서는 이런것을 이용해서 MySql같은 SQL서버에 연결할 수 있는것은 아닌것 같더군요
2년전에 XCODE로 잠깐 iPhone앱 개발을 한적이 있었는데 그때는 hp로 만들어진 XML웹페이지?를 아이폰에서 호출하여 XML문서를 가져와 파싱해서 폰에 적용했던것으로 기억합니다. 그런 방식으로 XE5에서도 해야되는것인지 아니면 다른 접근하기 쉬운? 방법이 있는지 ...
도움을 부탁드립니다
댓글 6
-
Humphery
2014.01.08 19:03
-
임우식
2014.01.09 06:03
RDBMS접근하는 위 두가지의 방식중 어떤방식이 더 유용한가요?
현재 웹서버에서 PHP도 사용가능합니다.
DataSnap방식은 사용해본적이 없어 테스트해봤는데 뭔가 잘못되었는지 연결이 잘 되지 않는군요.
그러나 연결만 된다면 생각보다 편할것 같군요.
DataSnap를 사용할 경우 DS서버를 항상 실행시켜 놔야 되는것이겠죠?..그럼 어디에 실행을 시켜놔야 되나요?
이러한 접근방식은 해본적이 없어서 그런지 정말 낮설군요..ㅠㅠ
-
관리자
2014.01.10 01:37
서버는 NT 서버나 웹에서 실행되어 있어야합니다. 저희가 "엔터프라이즈 기반의 모바일 앱 작성"이라는 교육 과정에서 DataSnap과 모바일 엡을 연결하는 것을 작성해봅니다.
시간이 되시면 교육을 한 번 오시면 도움이 되실것 같습니다.
-
Humphery
2014.01.11 00:57
내용을 보강합니다.^^RDBMS를 모바일과 연결하려면, RDBMS 제조사에서 모바일 전용 클라이언트 드라이버를 제공해야 합니다.하지만 오라클, SQL Server등 상용 RDBMS들은 모바일을 지원하지 않고 있습니다.(제가 알기로는 저희 인터베이스 서버 제품이 유일하게 모바일 클라이언트 드라이버를 제공하는 것으로 알고 있습니다.)위와 같은 이유로 모바일에서 RDBMS와 연결해 데이터를 이용하려면, 모바일 앱과 RDBMS 중간에 미들웨어 서버를 두는 방식으로 구성하시기 바랍니다. -
임우식
2014.01.13 18:43
아...잘 알겠습니다
친절한 답변에 감사드립니다^^
DS서버로 연결방식보다는 저희는 웹서버를 이용한 접근방식이 더 좋을 것 같아 그쪽으로 계속 찾아보고 있습니다.
현재 IdHTTP를 이용해서 연결하여 데이터를 주고 받는것을 테스트하여 봤습니다.
RESTClient도 확인하여 봐야겠습니다. JSON과 XML에 대해서도 봐야되고...배울것이 많네요^^
다른분들이 만들어진 앱의 크기가 다른것에 비해 크다고 글쓰신것을 봤습니다.
안드로이드 테스트해보니 내용이 없어도 기본적으로 15메가 이상 되는것 같은데 이 앱 크기를 어떻게 해야 줄일수 있는 것인가요?
FPC와 앱 크기 비교한것도 있던데 FPC처럼 작게는 아니더라도 앱 크기를 조금이라도 줄일 수 있는 방법이 있다면 사용하는것이 좋을 듯 해서 질문합니다.
날씨가 많이 추운데 건강하세요^^
-
마눠니
2014.03.09 22:47
저는 MySQL을 연결할 때, Devart 사의 MyDAC 컴포넌트를 이용하고 있습니다.
일반적으로는 DataSnap을 이용하여야 하겠지만,
MyDAC을 이용하면 Android와 RDBMS 또는 기타 서버에서 별도의 셋팅이나 작업을 하지 않아도
바로 연결하여 사용할 수 있는 장점이 있습니다.
또한, Oracle 과 연결하기 위해서는 ODAC을 이용하시면 될 것 같습니다.
다만, Devart사에서는 MS-SQL은 모바일을 지원하지 않더군요.
모바일환경에서는 RDBMS에 대한 접근이 용이하지 않습니다.
그래서 일반적으로 미들웨어를 두는 방식을 사용하는데요.
그 중 개발이 제일 용이하고 기존 사용하는 로직을 그대로 사용할 수 있는 DataSnap이란 기술이 있습니다.
일종의 미들웨어라고 보시면 되구요. 기존 VCL로 DB에 접속하고 DataSetProvider 및 서버메소드를 제공하여
기능단위의 서버메소드 호출(및 반환)과 DataSet을 서버에서 바로 끌어와 Visual하게 사용할 수 있는 기술입니다.
아래 링크를 참고해 보시거나 유튜브를 참고하시면 많은 참고가 되실 것 같습니다.
http://docwiki.embarcadero.com/RADStudio/XE5/en/Mobile_Tutorial:_Connecting_to_an_Enterprise_Database_from_a_Mobile_Client_(iOS_and_Android)
http://www.youtube.com/results?search_query=datasnap&sm=3
만약, 기존에 구축된 웹서버(웹언어를 통해)가 있으시면
RESTClient를 이용해서 JSON, XML을 이용할 수 있습니다.