分享

用delphi开发手机软件,应当具备哪些知识积累?

 和谐世界 2020-10-20
导航:论坛 -> DELPHI技术 斑竹:liumazi,sephil 
作者:
男 sxqwhxq (步惊云)★☆☆☆☆-
普通会员
2020/10/15 13:07:27
标题:
用delphi开发手机软件,应当具备哪些知识积累?浏览:382
加入我的收藏
楼主:一、中间件知识。因为FMX并未提供直连远程数据库功能,必须借助中间件访问。同时中间件上许多函数,可供手机端操作服务器资源。中间件有多种,RTC、mORmot、datasnap等,还有许多国产中间件,如全能、咏喃等;
二、html/javascript/html5和webbrowser知识。因为手机软件经常会有图文混排的网页展现给用户,而html格式文件是这些图文混排最好的载体;
三、android/java知识。因为FMX要调用手机硬件功能,如照相、二维码扫描、各类传感器、指纹、人脸识别、地图、手机视频、微信等,而这些库的底层代码几乎都是java写的,delphi是通过接口interface来访问这些函数的;
四、扎实的delphi基础知识,包括类、接口、泛型、匿名、回调、内存管理、数据库等传统vcl/object pascal知识。
我是业余编程爱好者,水平很差,请高手口下留情。谢谢!
----------------------------------------------
-
作者:
男 wang_80919 (Flying Wang)▲▲▲▲▲-
普通会员
2020/10/15 13:17:10
1楼:学会使用 CallStack,否则 手机闪退了,找不到 代码。
当然,安卓下,有很多情况,本来就没有代码。代码都再第三方 或者在 fmx.jar 中。
这时候,就只能 听天由命了。

如果不是上述情况。就要好好使用 CallStack 的内容,来解决 闪退问题。
----------------------------------------------
(C)(P)Flying Wang
作者:
男 lps (lps)★☆☆☆☆-
盒子活跃会员
2020/10/15 16:32:05
2楼:安卓和IOS都建议使用原生开发工具。几年前我研究过,发现delphi目标很伟大,但是实现得不够好
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云)★☆☆☆☆-
普通会员
2020/10/15 16:55:30
3楼:delphi离一个超级工具,总有一步之遥。有相当好的愿景,但做起来总差点火候。
当初没有把intreweb弄好,其实也就是用一样的机制多实现几个界面组件而已,这样做web就不会落后了。
现在应该能把FMX做就更好些,既然能够调用相机、电话、传感器,为何就不能调用指纹呢、地图呢?完全可以把java实现的android底层库全部转移过来啊,其实这些Androidapi都是google用java做的底层库,google基本都把它开源了,EMB既然选择了走android/ios这条路,虽然没有当初BorLand用vcl封闭win32 api的勇气,但完全可以拿来主义,把android api/ios api直接集成到delphi/FMX中,以补充自身能力不足啊。
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云)★☆☆☆☆-
普通会员
2020/10/15 17:33:01
4楼:下面的资料来源于delphi帮助系统:
***
一、Rad studio提供了开发针对iOS平台的应用程序所需的工具。使用FMX,您可以创建一个IOS应用程序,并为iOS模拟器(Delphi)或iOS设备(C++或Delphi)部署它。在RAD Studio中开发iOS应用程序的过程通常与在RAD Studio中开发Android应用程序的过程相同。一个显著的区别是,在iOS开发中需要PAServer和connection配置文件,而Android开发则不使用它们。iOS和Android都需要为目标平台添加SDK。
二、在开始第一个iOS项目之前,必须在Windows和Mac上执行几个重要的安装和设置步骤。例如,您需要为在Mac上测试应用程序时要使用的任何特定iOS开发设备提供配置文件。
----------------------------------------------
-
作者:
男 sxqwhxq (步惊云)★☆☆☆☆-
普通会员
2020/10/20 12:10:39
5楼:@lps:原生开发工具当然好,android studio、Objective-C,做起来顺风顺水。
但是,但是,一个delphier,做手机开发,难道就没优势吗?我觉得没有实践就没有发言权。
一、EMB一套代码两种运行这种理念是非常先进的,相当于FMX是脱离android/ios硬件层的软件实现,这个设想虽然不能包揽所有开发任务,但绝大部分开发基本是就用fmx就可以完成的。
二、用delphi,还有非常明显的数据处理优势,这一直是delphi的强项。例如用datasnap+Firedac+database,可以非常方便处理多并发、手机与数据库的数据交换工作。
三、delphi最大的优势是组件化设计思想。这个思想虽然不太适合做底层,但用于做中、高层类开发是非常好的。现在这么多新型开发工具,面向对象始终没有delphi这么纯粹。
----------------------------------------------
-
作者:
男 glwang (glwang)★☆☆☆☆-
盒子活跃会员
2020/10/20 13:55:33
6楼:【转】我对RAD Studio移动开发入门的建议:

从Embarcadero移动教程开始,输入代码,而不是克隆其github示例代码。
在YouTube上搜索教程视频。Embarcadero由其MVP团队发布了教程视频,技能冲刺和其他内容,以演示组件和互操作性。
大量依靠Embarcadero DocWiki(API文档等)。习惯于每个对象继承的标准方法,以便您可以通过它们查看特定于类的方法。要特别注意父类-来自不同包的具有相似名称的某些组件将无法顺利交互(例如,Data.DB.TDataSet和DataSnap.Db.TClientDataSet)。
到目前为止,我学到的经验教训是:

在搜索论坛中使用搜索关键字“ Embarcadero”,“ Delphi”和“ C ++ Builder”来解决您的问题。答案可能只针对一个受众,但解决方案通常是通用的。
Embarcadero教程并排显示了Delphi和C ++代码示例,使您可以轻松看到相似之处和语法差异。学习这两种语言,以便您可以利用两个已久的编程知识。
如果Delphi代码片段说要包含一个软件包(“ Uses Data.DB”子句),则通常可以在C ++中将“ .hpp”添加到该软件包中。即#include <Data.DB.hpp>
如果您的移动应用程序可以编译/运行但缺少功能,请仔细检查是否已授予适当的权限。罪魁祸首通常是iOS / Android操作系统(“设置”->“应用程序”->“权限”),而且还要检查RAD Studio的内部(“项目”->“选项”->“应用程序”->“使用权限”),以确保该项目使用正确的权限构建。

使用外部API时,您可能必须从该系统启用功能。Google Maps是一个令人生畏的示例–使用Maps API的Embarcadero教程是正确的,但错过了开发人员从Google Developer Console启用Maps API的(可能是新的)要求。抛出该开关后,一切正常。

确保下载所有.dll文件或教程中提到的其他扩展名。这是基本的,但是我已经两次忽略了这一点,并为非显而易见的配置问题所困扰。一个很好的例子是FireDAC数据库包连接到SQLite文件所需的SQLite3.dll文件。
----------------------------------------------
作者:
男 wr960204 (武稀松)★☆☆☆☆-
盒子活跃会员
2020/10/20 15:26:56
7楼:还是要很多Android,IOS原生的开发基础的。
否则什么权限配置,动态申请权限的概念都没有。
Android四大组件是啥都不知道
没法做下去
----------------------------------------------
武稀松http://www.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多