RoboVM:使用Java開發iOS應用

來源:互聯網
上載者:User

自從使用Objective C開發原生的iOS應用以來,就有許多使用別的語言來開發iOS應用的替選方案。比如說,下面就列出了一些:

  • PhoneGap, 使用HTML/JS來開發
  • RubyMotion,使用Ruby
  • ionic,使用AngularJS開發

我最近發現的一個的是RoboVM,你可以通過它來用Java開發iOS程式。本文將介紹一下如何使用RoboVM和Java來開發一個簡單的應用。

下面是一些前期準備:

  • OSX 10.9.3
  • JDK 1.7
  • Eclipse Kepler 4.3
  • Xcode 5.1.1

首先,給eclipse安裝一個RoboVM外掛程式,在協助——安裝新的軟體底下, http://download.robovm.org/eclipse/。這需要重啟下IDE.

外掛程式安裝完之後,現在可以建立一個新的工程了。選擇"RoboVM iOS Project"選項。

工程名,主類,應用程式名稱,應用ID都填成HelloWorld。正如下面所示的那樣。

不知道什麼原因,當我使用嚮導的時候,主類沒有產生成功,只能手動做了。因此建立一個HelloWorld的類。

把下面內容粘貼到HelloWorld類裡面。

 
  1. import org.robovm.apple.foundation.NSAutoreleasePool;   
  2. import org.robovm.apple.foundation.NSDictionary;   
  3. import org.robovm.apple.foundation.NSString;   
  4. import org.robovm.apple.uikit.UIApplication;   
  5. import org.robovm.apple.uikit.UIApplicationDelegateAdapter; 
  6.  
  7. public class HelloWorld extends UIApplicationDelegateAdapter { 
  8.  
  9.     @Override 
  10.     public boolean didFinishLaunching(UIApplication application, 
  11.             NSDictionary<NSString, ?> launchOptions) { 
  12.         return true; 
  13.     } 
  14.  
  15.     public static void main(String[] args) { 
  16.         NSAutoreleasePool pool = new NSAutoreleasePool(); 
  17.         UIApplication.main(args, null, HelloWorld.class); 
  18.         pool.close(); 
  19.     } 
  20.  

這裡我們繼承了UIApplicationDelegateAdapter類,它是RoboVM版的UIApplicationDelegate。類裡面有個main方法,它是用來啟動應用的。

現在我們要做的就是重寫下didFinishLaunching方法來產生一個UIWindow以及UILabel。將下面的代碼放到方法裡就可以了。

 
  1. @Override 
  2.    public boolean didFinishLaunching(UIApplication application, 
  3.            NSDictionary<NSString, ?> launchOptions) { 
  4.        UIWindow window = new UIWindow(UIScreen.getMainScreen().getBounds()); 
  5.        UILabel label = new UILabel(new CGRect(50, 50, 100, 50)); 
  6.        label.setText("Hello World"); 
  7.        window.addSubview(label); 
  8.        window.setBackgroundColor(UIColor.colorGreen()); 
  9.        window.makeKeyAndVisible(); 
  10.        return true; 
  11.    } 

述的大部分代碼都是自解釋型的。CGRect的構造參數就是x,y座標以及標籤的長和寬。

如果你在工程上點擊右鍵,並選擇作為一個iOS模擬器應用來運行。你會看到彈出一個iOS模擬器,上面是綠屏並顯示有文字,“Hello World"。就如下面的那樣。

如果你到了這步了,這意味著你的環境已經設定好了,可以開始使用Java來開發iOS程式了。

下面是一些參考資料。希望本文能對你使用Java來進行iOS開發有所協助。

  • 本文的原始碼
  • RoboVM
  • RoboVM on Twitter
  • RoboVM on google groups
  • PhoneGap
  • RubyMotion
  • ionic

原文地址。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.