pindare
pindare

Reputation: 2470

How do I create a "Hello World" application in java for an iphone?

I'd like to create a basic "Hello World" style application for the IPhone using Java - can anyone tell me how?

Upvotes: 3

Views: 9360

Answers (13)

flash
flash

Reputation: 6810

You can't code in Java for iPhone. The iPhone only supports C/C++/Objective-C - Cocoa.

However, under the current license you can use translation tools that generate such code. There are several solutions that do exactly that:

Codename One - focuses on building applications using Java with visual tools and simulators. Open source with a SaaS backend that removes the need for a Mac.

XMLVM - a translator to convert Java bytecode to C/Objective-C. Open source, but requires writing iOS specific code at the moment.

There are also several proprietary solutions but I have no experience with them. E.g. Software AG has a tool called web objects.

Upvotes: 11

Chen
Chen

Reputation: 3760

Check out this new platform http://www.codenameone.com (FOSS) which provides a java framework which compiles your java code to Objective-c and provides you with a native app

Upvotes: 1

Michael
Michael

Reputation: 1

if you jailbreak, you can use Cydia to find the java compiler, Jikes, and the required units, and you can write, compile and run on the iPhone. Of course, I would never, ever do that, as it breaks Apple's EULA :p

Upvotes: 0

According to http://www.mono-project.com/Mono:Iphone Mono has been ported to the iPhone and is available as a commercial product named MonoTouch. This might be a good way to get up and running quickly if you know C# but not Objective C.

Upvotes: 0

Johann Zacharee
Johann Zacharee

Reputation: 1528

As has been said, Java is not officially supported. But if you absolutely must run Java, you can jailbreak your phone and run Java that way. I'm not going to provide instructions on Jailbreaking your phone, it is easy enough to google it.

Cydia, one of the applications/installers you install when you jailbreak, has a Java installer that you can use. It uses the JamVM, a small, lightweight JVM.

Through Cydia, you can also install some demo applications, including a sample HelloWorld console app. In addition, I have heard that people have gotten Jetty to work on the iPhone but have not tried it myself.

GUI development in Java on the iPhone is currently a work-in-progress. To find out more info, there is an iPhone-Java mailing list you can subscribe to. The Java layer is making native calls to the Objective-C layer and is not very Java-centric. You need to understand how to code in Objective-C to create a GUI.

Upvotes: 1

Ichorus
Ichorus

Reputation: 4617

You can write the Java code and translate it to Objective-C using XMLVM.

Upvotes: 1

Nicolai Reuschling
Nicolai Reuschling

Reputation: 2578

I just stumbled upon this Google TechTalk video "Developing iPhone Applications using Java".

Upvotes: 5

user29053
user29053

Reputation:

If you really want to develop java applications on an iPhone (or any other phone for that matter that supports some other language) you may be able to get the JVM (Java Virtual Machine) to work with C++/Cocoa (headers/wrappers) and then call your java code from C++ or through an interface to the JVM.

Although I'm not sure how much experience you have. Doing something like that would take some time and expertise, but I'm sure theres an interface for the JVM for C++ at least floating around somewhere that you could use in this fashion.

Upvotes: 1

Agusti-N
Agusti-N

Reputation: 3973

1) If you know J2ME, that is very easy. First you write the code.

2) Then download alcheMo for iPhone, contains translator to convert J2ME application source code to equivalent C++ source code for iPhone. alcheMo for iPhone is capable of converting J2ME applications utilizing an extensive subset of Java ME CLDC 1.1 and MIDP 2.0 (including touch screen support) and supports several JSR extension APIs including the JSR-256 mobile sensor API.

Upvotes: 4

Iain
Iain

Reputation: 9442

There are 2 ways to develop for iPhone.

The best method is to use Objective-C and Cocoa.

The alternative is to create a web-based app with JavaScript which they can access through the iPhone browser (but this will only be available to users while connected to the web).

A good alternative if you want to create something similar in Java would be to target google's Android platform (e.g. the G1 handset)

Upvotes: 5

Dennis
Dennis

Reputation: 150

As it stands right now, Java is not supported on the iPhone. You can use Objective C and then cross compile it into a Java application. Sun Microsystems is working with Apple to make the iphone java capable. As mentioned above Cocoa is the best language to use when developing applications for the iphone.

Upvotes: 1

pmlarocque
pmlarocque

Reputation: 1714

Might want to check Alchemo for iphone never used it myself yet. It convert your CLDC 1.1 MIPD 2.0 code into native iPhone code. It even take care of the memory management.

Upvotes: 8

Steve
Steve

Reputation: 5923

Short answer: you can't, Java isn't supported. Check out how to: http://developer.apple.com/iphone/
http://blogs.zdnet.com/Burnette/?p=338
Well, maybe it does support Java internally, but developers cannot use it yet. i

Upvotes: 2

Related Questions