java - 如何用delphi xe5扩展android类

标签 java android delphi class delphi-xe5

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

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 类(class)(撰写本文时下周)展示了如何通过 Activity 来完成此操作。这几乎是相同的过程。

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

关于java - 如何用delphi xe5扩展android类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19229065/

相关文章:

Java (J2ME) 将图像转换为 byte[],然后返回图像

java - 矩阵变量产生不正确的 HATEOAS 链接

java - 简单的 Android 应用程序崩溃

java - 如何在 xml 中绘制图像,但在 java 类中更改尺寸?

delphi - 通过拖动移动/重新排序选项卡/页面控件

java - 使用 JDBC 从长字符串创建 CLOB

java - 一旦消息数量超过并发消费者数量,消费者就不会分配给消息

android - 如何在 View 组 (android) 中移动 View ?

delphi - 无法使用 Indy 从 Gmail 获取电子邮件

delphi - 如何使用 FireDAC 设置 Firebird (InterBase) 的事务锁定超时?