8月28日 XE8移動開發入門(三)XE8在Android應用中調用Java類, 使用LiveBindings(免費培訓)


8月28日上午10點,我們開始 介紹RadStudio XE8 移動開發入門培訓的第三部分 - XE8在Android應用中調用Java類,以及在應用中使用LiveBindings,本培訓爲免費Webinar的方式,註冊報名點擊這裏 https://attendee.gotowebinar.com/register/5716882489471390978 。
XE8中提供了Java2OP工具,可以將Java類轉換爲Delphi可以使用的接口文件,並在Android應用中調用。本次Webinar將帶您一步一步瞭解如何使用該工具,生成接口文件,並部署到Android應用中。
而LiveBindings則是在之前的幾個版本中就已經推出的一項新技術,它可以幫助我們輕鬆完成一些數據庫程序中的賦值內容,和數據刷新後的自動更新。
本次Webinar的視頻教程已經放到了網盤,到 http://pan.baidu.com/s/1hqhJKSc 看視頻教程。其中的SampleCode也放上面了,點擊 http://pan.baidu.com/s/1sjvE49J 下載。
對於XE8調用Jar,我是寫了一個測試用的Java類,如下。
public class MyCalc {
public static int calcSum(String sn1, String sn2)
{int n1,n2,sum;
n1=Integer.parseInt(sn1);
n2=Integer.parseInt(sn2);
sum=n1+n2;
return sum;
}
public static Float calcAVG(Float sn1, Float sn2)
{Float avg;
avg=(sn1+sn2)/2;
return avg;
}
}
之後,使用Java2OP工具將這個Java class的Jar生成接口文件。之後,我們需要將GUID的部分補全。一些名稱修改爲有意義的名稱。最後,別忘了將Jar文件添加到項目中。對於自己的程序代碼,則需要加入一些Java的類型的單元,便於程序中的類型轉換。
生成的文件如下:
unit JavaInterfaces;
interface
uses
  Androidapi.JNIBridge,
  Androidapi.JNI.JavaTypes;
type
  // ===== Forward declarations =====
  JMyCalc = interface; // MyCalc
  // ===== Interface declarations =====
  JMyCalcClass = interface(JObjectClass)
    ['{3192AA27-6B76-4518-A94A-E4A1F9428E23}']
    { class } function calcAVG(P1: JFloat; P2: JFloat): JFloat; cdecl;
    // Deprecated
    { class } function calcSum(P1: JString; P2: JString): Integer; cdecl;
    // Deprecated
    { class } function init: JMyCalc; cdecl; // Deprecated
  end;

  [JavaSignature('MyCalc')]
  JMyCalc = interface(JObject)
    ['{432E4437-73EE-4EE0-AC5E-0996CC929676}']
  end;

  TJMyCalc = class(TJavaGenericImport)
  end;

implementation
procedure RegisterTypes;
begin
  TRegTypes.RegisterType('JavaInterfaces/JMyCalc',
    TypeInfo(JavaInterfaces.JMyCalc));
end;

initialization
RegisterTypes;
end.

對於LiveBindings,它是整個RadStudio的跨平臺戰略的一部分。它取代了原來的DB Aware的組件,使用普通組件就可以完成數據映射的任務。對於一些簡單的數據庫應用,連一行代碼都不需要寫。對於一些高級的應用,當然需要自定義功能,LiveBindings也是支持自定義和一些高級特性的。對於,普通控件沒有DB Aware控件屬性豐富的問題,其實完全可以通過自己修改控件的部分源代碼來解決。



發佈了56 篇原創文章 · 獲贊 49 · 訪問量 13萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章