13
2014
02

手把手教你通过Java(RoboVM)创建IOS应用

        之前的文章多次提到RoboVm、Libgdx可以通过Java开发IOS游戏。最近不少朋友表示对Java开发IOS有兴趣,问我一些相关的问题,主要都是开发环境方面的困难。介于很多朋友之前没有接触过RoboVm和Libgdx,这里我详细讲解一下如何从零开始用Java实现你第一个IOS的App。

        首先要满足几点先决条件:一台安装了最新xcode的mac电脑(或虚拟机),xcode下载了至少一款IOS模拟器,安装了eclipse。注意:目前版本的RoboVM需要JDK1.7以上的支持,否则无法创建项目。安装JDK1.7以后在Eclipse的installed JREs里选择即可。


        第一步,安装RoboVM。

        简介:RoboVM 编译器可以将 Java 字节码翻译成 ARM 或者 x86 平台上的原生代码,应用可直接在 CPU 上运行,无需其他解释器或者虚拟机。RoboVM 同时包含一个 Java 到 Objective-C 的桥,可像其他 Java 对象一样来使用 Objective-C 对象。

        早期的RoboVM需要敲命令安装llvm,现在只需要在Eclipse里在线安装即可,打开mac os中的eclipse,选择“help”——“install new software”,   点击“add”按钮,填入地址:http://download.robovm.org/eclipse/,然后一路同意、next,下载安装完成后,重启eclipse即可。注意,安装如果长期没反映,请挂VPN。

Snip20140213_3.png

       

        第二步,创建RoboVM工程。        

        如图,通过Eclipse新建一个RoboVM工程:

 Snip20140213_4.png

        iOS App Settings部分是设置应用的入口,名称、AppId等信息,可以先不填。完成后,添加一个类,继承UIApplicationDelegate.Adapter,如图:

Snip20140213_5.png

        键入以下代码,完成一个简单的hello world:

package com.leestorm;


import org.robovm.cocoatouch.coregraphics.CGRect;

import org.robovm.cocoatouch.foundation.NSAutoreleasePool;

import org.robovm.cocoatouch.foundation.NSDictionary;

import org.robovm.cocoatouch.uikit.UIApplication;

import org.robovm.cocoatouch.uikit.UIApplicationDelegate;

import org.robovm.cocoatouch.uikit.UIColor;

import org.robovm.cocoatouch.uikit.UILabel;

import org.robovm.cocoatouch.uikit.UIScreen;

import org.robovm.cocoatouch.uikit.UIWindow;


public class IOSApp extends UIApplicationDelegate.Adapter

{

    private UIWindow window = null;

    

    @Override

    public boolean didFinishLaunching(UIApplication application, NSDictionary launchOptions)

    {

        UILabel label = new UILabel(new CGRect(70.0f, 100.0f, 150.0f, 40.0f));

        label.setText("hello game world!");

        

        window = new UIWindow(UIScreen.getMainScreen().getBounds());

        window.setBackgroundColor(UIColor.lightGrayColor());

        window.addSubview(label);

        window.makeKeyAndVisible();

        

        return true;

    }

    

    public static void main(String[] args)

    {

        NSAutoreleasePool pool = new NSAutoreleasePool();

        UIApplication.main(args, null, IOSApp.class);

        pool.drain();

    }

}

        该类即为IOS应用的入口,刚才创建工程的时候没有填写入口类,现在可以通过编辑工程目录下的“robovm.properties”文件设置,修改

“app.mainclass=com.leestorm.IOSApp”即可。

        

        右键工程,run as,新建一个Robovm的运行配置,如图:

Snip20140213_6.png

        如果你的xcode正确安装并配置了IOS模拟器,点击运行就能看到效果:

Snip20140213_7.png

        如果需要真机调试,则需要申请苹果开发者证书、创建应用证书、签名、添加测试设备,安装证书等等一系列流程。我的另一篇文章《RoboVM(Libgdx)创建IOS项目如何使用内购》略有介绍,网上资料也很多,这里不再详述。

        本篇博文只介绍Robovm工程的创建,这也是libgdx开发IOS游戏的基础,下一篇将介绍如何使用libgdx结合robovm开发IOS游戏。

« 上一篇下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。