自从使用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类里面。
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
英文原文链接
分享到:
相关推荐
在iOS应用开发中,苹果提供了远程通知(Apple Push Notification service,简称APNs)服务,使得开发者可以向用户的设备发送消息,即使应用没有在前台运行也能接收到这些消息。本篇文章将深入探讨如何在Java服务端...
使用 JavaScript 编写 iOS 应用程序!JavaScriptBridge 提供使用 JavaScript 编写 iOS 应用程序的方法。由 JavaScriptCore.framework 提供支持。JavaScriptBridge 使用 Javascript 编写 iOS 应用!JavaScriptBridge ...
本篇将详细阐述如何使用Java实现这一功能,涉及的主要知识点包括:Java服务器端推送技术、Apple Push Notification Service(APNS)以及iOS设备的Device Token。 首先,理解Apple Push Notification Service (APNS)...
在IT行业中,加解密技术是信息安全领域的重要组成部分,特别是在移动设备如Android和iOS的应用开发中。本主题“JAVA与IOS加解密”主要关注如何在JAVA服务端和iOS客户端之间进行安全的数据交换,确保信息在传输过程中...
在IT行业中,开发跨平台应用是一项常见...这极大地扩展了libGDX的应用场景,并降低了开发iOS应用的学习曲线,尤其是在已有Java代码基础的情况下。不过,这也要求开发者具备一定的iOS开发知识和对RoboVM绑定机制的理解。
1. **构建版本信息API**:使用Java开发一个Web服务接口,该接口返回最新的应用版本信息,包括版本号、更新日志、下载链接等。 2. **存储和管理版本**:服务器需要存储和管理不同版本的应用包,为用户提供下载。这...
开发者使用Java或Kotlin语言,并在Android Studio开发环境中工作。Android开发涉及对Android SDK的熟悉,以及对Android应用生命周期、用户界面设计(通过XML布局文件)、通知管理、数据存储、网络通信等概念的理解。...
开发iOS应用主要使用Swift或Objective-C语言,以及Xcode IDE: 1. Swift/Objective-C:理解这两种语言的语法和特性,Swift更现代,Objective-C则更接近C/C++。 2. iOS SDK:包括UIKit框架,提供创建用户界面和处理...
它是开发iOS应用的基础,提供项目管理、代码编辑、调试、性能分析和App Store提交等功能。通过Xcode,开发者可以使用Swift或Objective-C编写代码,并通过Interface Builder创建用户界面。 2. **Objective-C**:...
Java编写的iOS后台服务器主要负责为iOS应用提供后台支持,特别是在实现推送通知服务方面。这里我们探讨的关键知识点包括Java服务器开发、iOS推送通知服务(APNs:Apple Push Notification service)以及两者之间的...
在iOS应用开发中,消息推送是一项重要的功能,它允许服务器向设备发送通知,即使应用程序在后台运行或完全关闭。这个“ios 消息推送 java后端demo”是为开发者提供的一个示例,帮助理解如何使用Java后端实现对iOS...
3. **iOS**:iOS是Apple公司的移动操作系统,使用Objective-C或Swift进行开发。面试题可能包括: - Swift或Objective-C基础:语法特性、内存管理、ARC、分类与扩展。 - MVC/MVVM/ VIPER等架构模式。 - UI设计:...
在开发iOS应用时,苹果推荐使用Apple ID进行用户身份验证,以提高安全性并遵循其隐私政策。本知识点将深入探讨如何在后端服务器上使用Java实现Apple服务端验证登录的过程,以及如何对苹果授权登录令牌(JWT)进行...
在iOS应用开发中,为了实现实时向用户发送通知,我们通常会采用Apple Push Notification service (APNs)。本文将详细介绍如何使用Java语言来搭建一个iOS推送服务,涵盖所需依赖、详细代码示例以及开发步骤。 一、...
在移动应用开发中,安全通信是至关重要的,尤其是在涉及到用户数据和隐私时。"Android Java iOS 三端RSA和AES双向加密修正版"是一个专为这三大主流平台设计的加密解决方案,旨在提供可靠的数据保护机制。以下是关于...
1. **Java后端开发**:作为系统的后台支撑,Java以其稳定性和强大的企业级应用支持而被选中。它可能采用了Spring Boot或Spring Cloud框架,提供了RESTful API接口,用于处理客户端请求,包括商品管理、订单处理、...
目标是用 Java 编写应用程序的非 UI 代码(例如应用程序逻辑和数据模型),然后由 Web 应用程序(使用GWT)、Android 应用程序和 iOS 应用程序共享。J2ObjC 支持客户端应用程序开发人员所需的大多数 Java 语言和运行...
在iOS应用开发中,苹果提供了Apple Push Notification service (APNs) 来实现实时的消息推送功能,让应用程序在后台状态下也能接收到服务器的通知。本文将详细介绍如何使用Java编写后端来实现iOS的推送服务。 首先...
在iOS平台上,推送通知是一种非常...总的来说,基于Java的iOS推送通知涉及到了iOS的通知机制、JavaPNS库的使用以及与APNS服务器的交互。正确配置和使用这些组件,可以有效地实现在Java服务端向iOS设备发送推送通知。
iOS 开发是指使用 Objective-C 语言在 Mac 系统上使用 Xcode 开发工具进行移动应用程序开发的过程。下面将从环境需求、环境搭建、开发语言三个方面对 iOS 开发进行详细介绍。 一、环境需求 iOS 开发需要 Mac 系统...