使用Java开发iOS应用


自从使用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.

    使用Java开发iOS应用_第1张图片

    插件安装完之后,现在可以创建一个新的工程了。选择"RoboVM iOS Project"选项。

    使用Java开发iOS应用_第2张图片

    工程名,主类,应用名,应用ID都填成HelloWorld。正如下面截图所示的那样。

    使用Java开发iOS应用_第3张图片

    不知道什么原因,当我使用向导的时候,主类没有生成成功,只能手动做了。因此创建一个HelloWorld的类。

    把下面内容粘贴到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方法,它是用来启动应用的。

    现在我们要做的就是重写下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的构造参数就是x,y坐标以及标签的长和宽。

    如果你在工程上点击右键,并选择作为一个iOS模拟器应用来运行。你会看到弹出一个iOS模拟器,上面是绿屏并显示有文字,“Hello World"。就如下面的截图那样。



    如果你到了这步了,这意味着你的环境已经设置好了,可以开始使用Java来开发iOS程序了。

    下面是一些参考资料。希望本文能对你使用Java来进行iOS开发有所帮助。
  • 本文的源代码
  • RoboVM
  • RoboVM on Twitter
  • RoboVM on google groups
  • PhoneGap
  • RubyMotion
  • ionic


  • 原创文章转载请注明出处: http://it.deepinmind.com

    英文原文链接

    你可能感兴趣的:(java,eclipse,ios)