RoboVM:使用Java開發(fā)iOS應(yīng)用
自從使用Objective C開發(fā)原生的iOS應(yīng)用以來,就有許多使用別的語言來開發(fā)iOS應(yīng)用的替選方案。比如說,下面就列出了一些:
- PhoneGap, 使用HTML/JS來開發(fā)
- RubyMotion,使用Ruby
- ionic,使用AngularJS開發(fā)
我最近發(fā)現(xiàn)的一個的是RoboVM,你可以通過它來用Java開發(fā)iOS程序。本文將介紹一下如何使用RoboVM和Java來開發(fā)一個簡單的應(yīng)用。
下面是一些前期準(zhǔn)備:
- OSX 10.9.3
- JDK 1.7
- Eclipse Kepler 4.3
- Xcode 5.1.1
首先,給eclipse安裝一個RoboVM插件,在幫助——安裝新的軟件底下, http://download.robovm.org/eclipse/。這需要重啟下IDE.
插件安裝完之后,現(xiàn)在可以創(chuàng)建一個新的工程了。選擇"RoboVM iOS Project"選項。
工程名,主類,應(yīng)用名,應(yīng)用ID都填成HelloWorld。正如下面截圖所示的那樣。
不知道什么原因,當(dāng)我使用向?qū)У臅r候,主類沒有生成成功,只能手動做了。因此創(chuàng)建一個HelloWorld的類。
把下面內(nèi)容粘貼到HelloWorld類里面。
- import org.robovm.apple.foundation.NSAutoreleasePool;
- import org.robovm.apple.foundation.NSDictionary;
- import org.robovm.apple.foundation.NSString;
- import org.robovm.apple.uikit.UIApplication;
- import org.robovm.apple.uikit.UIApplicationDelegateAdapter;
- public class HelloWorld extends UIApplicationDelegateAdapter {
- @Override
- public boolean didFinishLaunching(UIApplication application,
- NSDictionary<NSString, ?> launchOptions) {
- return true;
- }
- public static void main(String[] args) {
- NSAutoreleasePool pool = new NSAutoreleasePool();
- UIApplication.main(args, null, HelloWorld.class);
- pool.close();
- }
- }
這里我們繼承了UIApplicationDelegateAdapter類,它是RoboVM版的UIApplicationDelegate。類里面有個main方法,它是用來啟動應(yīng)用的。
現(xiàn)在我們要做的就是重寫下didFinishLaunching方法來生成一個UIWindow以及UILabel。將下面的代碼放到方法里就可以了。
- @Override
- public boolean didFinishLaunching(UIApplication application,
- NSDictionary<NSString, ?> launchOptions) {
- UIWindow window = new UIWindow(UIScreen.getMainScreen().getBounds());
- UILabel label = new UILabel(new CGRect(50, 50, 100, 50));
- label.setText("Hello World");
- window.addSubview(label);
- window.setBackgroundColor(UIColor.colorGreen());
- window.makeKeyAndVisible();
- return true;
- }
述的大部分代碼都是自解釋型的。CGRect的構(gòu)造參數(shù)就是x,y坐標(biāo)以及標(biāo)簽的長和寬。
如果你在工程上點(diǎn)擊右鍵,并選擇作為一個iOS模擬器應(yīng)用來運(yùn)行。你會看到彈出一個iOS模擬器,上面是綠屏并顯示有文字,“Hello World"。就如下面的截圖那樣。
如果你到了這步了,這意味著你的環(huán)境已經(jīng)設(shè)置好了,可以開始使用Java來開發(fā)iOS程序了。
下面是一些參考資料。希望本文能對你使用Java來進(jìn)行iOS開發(fā)有所幫助。
原文地址。