编程语言
首页 > 编程语言> > java – 如何用delphi xe5扩展android类

java – 如何用delphi xe5扩展android类

作者:互联网

我试图从“Androidapi.JNI.App.pas”(TJservice)扩展一个类/接口,我需要扩展这个类来进行服务.可能吗?怎么样?

some example of java/android service

我需要重写方法,如:oncreate,onbind,ondestroy.但我不知道怎么做.

我试过这样的事情:

 type Tandroidservice= class(TJService)
  function onBind(intent: JIntent): JIBinder; override;
  procedure onCreate; override;
  procedure onDestroy; override;
  procedure onStart(intent: JIntent; startId: Integer); override;
 end;

有这个错误:

[DCC Error] Unit1.pas(13): E2137 Method 'onBind' not found in base class
[DCC Error] Unit1.pas(14): E2137 Method 'onCreate' not found in base class
[DCC Error] Unit1.pas(15): E2137 Method 'onDestroy' not found in base class
[DCC Error] Unit1.pas(16): E2137 Method 'onStart' not found in base class
[DCC Error] Unit1.pas(13): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onBind'
[DCC Error] Unit1.pas(14): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onCreate'
[DCC Error] Unit1.pas(15): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onDestroy'
[DCC Error] Unit1.pas(16): E2065 Unsatisfied forward or external declaration: 'Tandroidservice.onStart'

解决方法:

您当前唯一的选择是继承Java类,然后使用JNI调用Delphi并执行线程切换到FMX线程.

我的CodeRage 8会话(截至撰写本文时的下周)显示了如何使用活动执行此操作.这是一个相同的过程.

这对你现在没有帮助,除了知道你不能从Delphi for Delphi中的Java类直接继承Delphi,尽管在Delphi for iOS中你可以继承Objective-C类.

标签:android,java,class,delphi,delphi-xe5
来源: https://codeday.me/bug/20190825/1719149.html