java3d in android - java

Hi all i'm new with android but i wonder if a java 3d application run on adk?
and run in the emulator?
Ciao
giovanni

There's no Java 3D API available for Android. In fact, you're better off porting the application to use OpenGL directly for performance reasons.

Java 3D 1.6 is still maintained but it requires AWT which isn't available under Android and we don't plan to support it under Android in the future. Feel free to use JOGL 2, which supports both desktop environments and embedded environments (especially Android). If you look for a similar API supporting Android, JMonkeyEngine and LibGDX are worth a try. JogAmp's Ardor3D Continuation doesn't support Android yet.

Related

Developing GIS Apps for Android: Java or Python?

I am a newbie in android apps development. I was wondering which of the two is easier for developing android apps which are more geared towards GPS and GIS related data/activity.
I see python being predominently used for GIS related applications/programs. I have also heard/read that Python is easier to code and learn to code. In addition, I am not looking for an complicated applications other than simply logging acceleration, GPS data along with triggering camera activity.
What IDE would you suggest me based on your answer?
I was playing with Eclipse IDE for Java to develop some "Hello World Apps".
This post seem to be old to me and the answers does not seem to consider the GIS aspects.
My advice is unless you have a highly compelling reason that has been peer-reviewed, do not fight the Android platform. That means you should just use the standard Java Android APIs.
I've programmed a couple of apps that make use of the Android GPS hardware. You will find many examples and guides using Java.
If you find some compelling reason to use python for your back-end of an enterprise system, that will still be possible.
As far as IDE advice, I prefer IntelliJ IDEA, having used both eclipse and IDEA. Eclipse is great, though I find the IDEA UI and features to be easier to learn and use. No doubt they are both fantastic and complicated software that will at times frustrate you.
The answer is Java as Java is Android's language.
There are other options like Mono with C#, Python, C++ with NDK, C++ with Marmalade, etc
Most official android docs are about java and C++ with NDK.
Python on Android is mostly used by python fans in rooted environment.
If you wish to make commercial and release it in Google Play market then you should use Java in such application.

Java vs Qt-Qml for rapid,fluid UI designing

I have experience in designing UIs with qml and had a good experience creating fluid UIs in almost no time.
I wanted to know if there is a similar toolkit available for Java which could match qml in terms of-
Ease of use.
Rich 'look and feel' which qml offers.
Rapid development
JavaFX is the closest match
Somewhere on the Internet I even read about QtQuick (QML+Javascript) being JavaFX supposedly 'done right'. This is because the syntax of the original JavaFX Language is very similar. Also there are tools like the Scene Builder that are similar to Qt Quick Designer. Beware JavaFX is kind of dead. And also the new JavaFX is not JSON-based but XML-based and more similar to XAML.
Android SDK is another choice
With all the momentum Android has gained you are very safe with choosing it's whole suite to design. And Android needs no further explanation, Android Studio has lot's of things to ease development.
I recently wrote an article on GUI libraries for embedded and came across TotalCross. It uses a Java API which is quite versatile and modern. They're planning to release a tool to port UIs in Android XML to TotalCross. This will make it easier to prototype UIs using Android Studio. Their VM is quite optimised and is even deployed on embedded platforms like Toradex. It's dual-licensed under LGPLv2.1 and commercial licenses.
Most popular Java UI frameworks SWT and Swing are similar to Qt Widgets. I know the only one which brings declarative style of UI development in the Java World - E4/XWT. But it looks more like Microsoft WPF than Qt QML and I did not try it in commercial projects.
There is no such tool (at least I don't know for it).
Only solution I see here is to use JNI and combine QML with Java.
I am working on this open source project to use Android XML to build GUI apps to run on iOS, Android, raspberry pi, etc, using totalcross as the engine to render the XML on the device.
https://github.com/TotalCross/KnowCodeXML

What are the available J2ME SDK using Java code?

I am a Java J2SE developer, and i want to learn J2ME to start creating mobile applications.I see i can use the default Oracle Java ME SDK. Do you know other Mobile SDks that are Java based, as i want to write Java code ?
IMHO Android is the way to go if you want to do java for the mobile, even better than j2me.
see Android SDK
Here's a list of Java ME SDK suppliers / vendors that I was able to find using Google:
Motorola
LG
Nokia
Samsung
Sony Ericsson
RIM
and probably more
Netbeans Java ME plug-in is kinda the same than Java ME SDK, but obviously with all the options Netbeans include. That's the one I use.
And if you're decided to go on with Java ME, I suggest you to have a look to LWUIT, in order to make nicer interfaces within the own Java Me technology.
Eclipse works just fine for this purpose. Have a look at Mobile Tools for Java (formerly known as EclipseME).
From the eclipse me link:
EclipseME is an Eclipse plugin to help develop J2ME MIDlets. EclipseME does the "grunt work" of connecting Wireless Toolkits to the Eclipse development environment, allowing you to focus on developing your application, rather than worrying about the special needs of J2ME development.
If you want Java for mobile and not necessarily J2ME, you can also try Android and Blackberry development.

LWJGL port to android

Is there a LWJGL port for Android available? (does not matter if the phone needs to rooted)
Things have happened since this question was answered in 2011.
It is new that LWJGL has support for Android.
The linked repo has the setup instructions and the demo, the actual code is in the LWJGL3 repo under the Android branch.
I've been using it for a while now, and this library has a bunch of useful features that aren't just connected to OpenGLES, OpenAL, OpenVR and Vulkan, but it also has a lot of utilities for things like 3D model loading, layouts, dialogs, fonts and a lot more. Meaning the Android port of LWJGL is a considerable add-on to the current OpenGL ES support.
As for other libraries though, you can use no libraries because of the native support. Alternatively, you can use LibGDX or jMonkeyEngine, those are the only two others I know of and have used. Note that these are frameworks and not libraries like LWJGL, meaning they set up a given system you have to follow (one of the reasons I dislike them). It's harder implementing custom features without having to bring out a lot of other parts of the framework that aren't that well documented.
One of LWJGL's main features is its OpenGL support. Android natively supports OpenGL ES so there's basically no need for LWJGL. As for the rest of LWJGL, it doesn't apply on the Android platform anyway - for example there is obviously no mouse to an Android device - so I don't see a direct LWJGL port ever being developed.
Check out the Android reference, especially the android.opengl package, for a good starting point.
A good 3D and 2D engine that uses LWJGL and works well for Android development (and also Desktop and Web Apps) is libGDX.
I can't say for sure, but during last autumn I was searching for quite a long time for that and couldn't find anything. So I would say no, but don't bank on that.

It is posible to use JOGL (JSR 231) in a web application

I want to do an augmented reality app that runs on mobile devices, but I thing that the best way to do it is with a web application (And I have the advantage that the app will run also on PCs ) so I don't have to care about specific device implementations, I'm a java developer so I'll be so much easier for me if I can use JOGL.
All these JOGL demos run using Java Web Start, but JOGL itself is rather resource intensive. In contrast, mobile devices are typically resource limited. I don't see this being a good fit, but I'd be happy to be proven wrong.
JOGL does have an ES(Embedded Systems) version and the OpenGL standard itself has an ES version. Your apps will need to check available JOGL version and cut down what they do if they are in an ES environment. The modern phones especially Android can support JOGL. You can also use M3G, here is a nice link to show which phones you can actually target.

Categories