Icon View Thread

The following is the text of the current message along with any replies.
Messages 1 to 10 of 26 total
Thread EDB for Android
Fri, Apr 18 2014 12:16 PMPermanent Link

Adam Brett

Orixa Systems

I am now seeing a good number of customers demanding mobile platform applications and am looking into the best way to do it.

Delphi is now reasonably ready for Android development. I know it has a way to go, but I think it is workable. However, it is not possible at the moment to use EDB components directly in an Android App as the EDB Code is Windows specific.

I have Windows tablet apps which access remote EDB databases. No database files are stored on the Tablet, I use EDB Queries with remote connections to EDB Databases running in the cloud.

Is there any Delphi component which can be used to access EDB databases which can run on an Android device?
Fri, Apr 18 2014 2:43 PMPermanent Link

Uli Becker

Adam ,

> Is there any Delphi component which can be used to access EDB databases which can run on an Android device?

Using XE5 it's not a big problem. Please have a look here:

http://delphi.org/2013/08/delphi-xe5-mobile-rest-client-demo/

I tried that and it works fine except one important issuie: string
fields bigger than 255 chars are truncated when the fields are created
in ClientDataSet.

I already asked in the Embarcadero newsgroups, but nobody could help .
Seems to be a bug Maybe hacking the sources would be feasable.

Uli
Sat, Apr 19 2014 7:09 AMPermanent Link

Adam Brett

Orixa Systems

Uli, Thanks for this.

I can see a number of Delphi-routes for developing mobile apps.

Datasnap is one, this REST technology you mention is another.

I feel that both routes require a fair amount of extra complexity in my current framework. I haven't looked at the REST side of things yet, but I expect as for Datasnap it requires a Server Application running on my Server (with all the components needed to server data) and then also quite a lot of complex extra components on my client app.

Also updating data becomes complex as well ... new routes for sending UPDATES etc. all need to be written "pushing" data through the new pipe-work before it reaches the EDB back-end.

--

The WONDERFUL thing about EDB and Dephi Windows apps is that none of this is needed:

1. Run EDBSrvr on Remote server.
2. Add EDB Components to App & link to GUI.
3. Run.

I had a really nice Android App written in 1 hour, with multiple list-views etc, live data from cloud etc. Running on Windows Emulator.

Now I have spent the weekend building DataSnap servers, trying to make these work how I like, changing my usual GUI to use all the datasnap & client dataset components etc.

It is just much more clunky & I will have to spend quite a bit longer working on it to get even close to the functionality I had in 1 hour with the EDB components.

EDB Components which worked directly on the Android platform would be SUPER COOL. I think they would really make it much easier for Delphi developers to develop for Android.

I am just wondering whether they might ever exist??
Tue, Apr 22 2014 5:59 AMPermanent Link

Peter Evans

On 19/04/2014 9:09 PM, Adam Brett wrote:

>
> The WONDERFUL thing about EDB and Dephi Windows apps is that none of this is needed:
>
>   1. Run EDBSrvr on Remote server.
>   2. Add EDB Components to App & link to GUI.
>   3. Run.
>

I am a newbie to this app business. I must be misunderstanding something.

Because in the above lines it seems it is possible to have a Android app
but in your first post you say -
"However, it is not possible at the moment to use EDB components
directly in an Android App as the EDB Code is Windows specific.".

How do these two statements reconcile themselves?

Regards,
  Peter Evans


Tue, Apr 22 2014 1:51 PMPermanent Link

Raul

Team Elevate Team Elevate

On 4/22/2014 5:59 AM, Peter Evans wrote:
>> The WONDERFUL thing about EDB and Dephi Windows apps is that none of
>> this is needed:
>>
>>   1. Run EDBSrvr on Remote server.
>>   2. Add EDB Components to App & link to GUI.
>>   3. Run.
>>
>
> I am a newbie to this app business. I must be misunderstanding something.

The key part here is "EDB and Dephi Windows apps" - Adam means that in
"Windows" apps you don't need anything else.

There is no native EDB for Android components right now (or firemonkey
to be precise) so you can access them using some intermediate format
(i.e. REST server and using JSON or such) but now its not the same
codebase and you need to still write the server side for EDB to REST.

Raul

Tue, Apr 22 2014 2:37 PMPermanent Link

Uli Becker

Raul,

Using EWB Server simplifies the whole thing: you can query the server and you'll just get back the JSON like you would when using an EWB application.
The only thing to do is to parse the JSON or loading it into a dataset. That's what I meant when I mentioned the Rest components of XE5.

Uli
Tue, Apr 22 2014 2:50 PMPermanent Link

Raul

Team Elevate Team Elevate

On 4/22/2014 2:37 PM, Uli Becker wrote:
> Using EWB Server simplifies the whole thing: you can query the server and you'll just get back the JSON like you would when using an EWB application.
> The only thing to do is to parse the JSON or loading it into a dataset. That's what I meant when I mentioned the Rest components of XE5.

Uli,

I understand but it's still separate logic and components from native
EDB component based ones.

I think the OP was looking for a solution that would basically be same
on android as it is on windows app.

And one has to maintain EWB web server (or datasnap one) in addition to
EDB server.

Raul
Wed, Apr 23 2014 3:46 AMPermanent Link

Adam Brett

Orixa Systems

Thanks Raul,

That was exactly my point. The whole sales point of Delphi is "code once run anywhere" ... but in fact many components including non-GUI components (certainly not just EDB) are Windows compiler only, so actually cannot be used on all applications.

It was good to hear the JSON suggestion from Uli. I had not thought of it, and EWB is also another way. But all require different coding practice from my Windows Applications, and the coding of a middle-tier, which is a LOT of extra work when you have many systems to manage.

I have actually explored DataSnap now, and YES it does work. 2 days of banging my head on the screen and I have a basic application (Smile

Actually DataSnap is amazing, but it does a lot of things in ways which seem funny to me, so I had to change my coding style a lot to use it (not something I like doing). Now I think I understand how it works I have an Android Phone App which works!
Wed, Apr 23 2014 3:51 AMPermanent Link

Adam Brett

Orixa Systems

Peter,

Thanks for the comment. You are right it is disappointing.

>>I am a newbie to this app business. I must be misunderstanding something.

>>Because in the above lines it seems it is possible to have a Android app
>>but in your first post you say -
>>"However, it is not possible at the moment to use EDB components
>>directly in an Android App as the EDB Code is Windows specific.".

>>How do these two statements reconcile themselves?

When you write Delphi code it is "just code" you can write anything you like. When you COMPILE that code the compiler tries to turn it into something that will run on the platform you are compiling for.

Delphi is great because it now has several compilers, so you can build an application for Mac, Android, Windows, etc.

HOWEVER: Components may access platform-specific instructions. (to give an example TMenuItem in a Windows application ... Android applications do not have traditional Windows application menus). If they do, the application will not compile for all platforms.

I had thought that EDB is a non-GUI component (GUI features are the most likely to cause problems cross-platform), so perhaps it would compile on Android.

But it does not (YET).

My guess is that it would be possible to rewrite it so it was cross-platform ... but it might be such a huge job it would be impossible.
Wed, Apr 23 2014 7:22 AMPermanent Link

Uli Becker

Adam,

<<I have actually explored DataSnap now, and YES it does work. 2 days of banging my head on the screen and I have a basic application >>

Are you saying that you use EDB databases? I haven't used DataSnap till now, so no idea about the posibilities.

Uli
Page 1 of 3Next Page »
Jump to Page:  1 2 3
Image