Free Java VM for XDA/Qtek? - MDA, XDA, 1010 General

Just wonder where I can download free Java VM
into my Xda/Qtek on pocket pc2002?
Or is there a website where I could have trial
before buying? Thank You. :?

AFAIK there is no free JVM for the XDA/PPC2002...
The Personal Java implementation of Insignia/Esmertec is one that is widely used (IPAQ etc.) and is available for about $/E 50 at Handango.
More modern versions, supporting the CLDC and MIDP2.0 profiles (gaming api's...) are difficult to find. Esmertec has announced their JVM but does not seem to be available yet, and the one from Kada Systems will be released in about a week. Kada does have 30 day evalation versions (you must register...). Their current implementation however (MIDP 1.0) is far from stable
An alternative could be the WebSphere Micro Environment for Pocket PC 2002 - CLDC / MIDP by IBM, available at Handango for $6, which I never tried...
If you can find a free one, let me know !
Marco.

There are at least two free ones:
http://www.superwaba.com.br/
http://www.ewesoft.com/

I have taken a look at these and must say that YES they have something to do with Java, but if you are looking for a VM (like I am) which does support the latest standards (J2ME, CLDC/CDC and MIDP 2.0) which make it possible that your JAVA MIDlets run on PDA's and Smartphones (like Nokia or SPV) they seem useless since both EWE and WABA use their own set of libraries and deployment.
For example. on the EWE site:
"So Ewe is just another Java VM implementation?
No, the Ewe VM is not a Java VM since it does not implement a very small number of Java features, nor does it use any of the "standard" Java libraries and API. Ewe has its own set of utility, network, zip, gui and other packages."
Meaning if you want to run Java games of some kind which use the "standard" Java libraries and API, these VM's really seem useless
Marco.

Related

JVM for XDA

Some web pages require Java Virtual Machine to run to interact with the page. XDA or pocket pc 2002 does not support this. I undesrtand new iPAQ's has a standalone program which sustitutes this. Anthing that can be used with XDA? :?:
Insignia Jeode Java Virtual Machine for Pocket PC 2002 can be downloaded from the Handango site for $49.95. It works well...
Peter
There are many software that can make your PPC become a Java VM.
The software are:
- PersonalJava Runtime Environment (PersonalJava, JCP certified implementation)
- Jeode EVM (PersonalJava, EmbeddedJava, JCP certified implementation)
- CrEme (Libraries bundled with the JVM: Unknown, JCP certified implementation)
- Kada VM (PersonalJava, CLDC, CDC, JCP implementation NOT certified)
- microJBlend (CLDC and MIDP, JCP certified implementation)
- chaiVM (CLDC, MIDP by end of 2001 ; ChaiVM is a subset of J2SE that is not certified, microChai is the version that is based on the CLDC specification, but it is not certified either)
Joey.
java on xda
Hi,
Try www.doctorce.com/regking.htm
Sorry, acturally what are we looking for with "Regking"? :?:

[Q] Other then Visual Studio?

Hello!
I want to start developing apps for WM, but im stuck with a question in my mind.
My first app i did it in VS 2005 and now im trying VS 2008. Also i have some HTML skills and I want to know what other software is used to create WM apps, other then VB & VS.
I would like to know a few(free if possible ).
Thanx!
ApaKhe said:
Hello!
I want to start developing apps for WM, but im stuck with a question in my mind.
My first app i did it in VS 2005 and now im trying VS 2008. Also i have some HTML skills and I want to know what other software is used to create WM apps, other then VB & VS.
I would like to know a few(free if possible ).
Thanx!
Click to expand...
Click to collapse
If you want to make some games, game editor is excellent for that. Iam making a cut the rope for windows mobile with it , I will let you know when its released. There are some limitations , but its free to use and simple to learn. The games in the website in my signature where made with game editor , go check them out.
You may struggle a bit here. All versions of Windows Mobile are running a version of Windows CE .NET, the vast majority of them on an ARM powered device.
Most of the operating system will have been written in Win32 C/C++ with a few touches of ARM assembly thrown in for device drivers, CE components etc.
ATL and MFC are both C++ class wrappers for the underlying Win32 stuff.
The .NET CF is the Mobile Version of the .NET Framework and again is a wholly Microsoft set up. (VS 2003 onwards)
Mono is a GNU linux .NET alike product and can be used to create CF exectables. It's free, but there are a few caveats. The first one being the fact that WinMo will refuse to run exe files created by Mono until you patch its compiled key. There is no real test or debug environment. It will be code, compile, patch, copy, run and crash ad nauseum, until it works! Also the QTK graphics objects, have not been ported over to WinMo.
The only 'free' MS offering is Embedded C++ 4.0, but it is C++ Win32/MFC/ATL only and takes a lot of hard work to master, and it was only really meant for development for WinMo 2003, although correct design of an application will allow it to run on later versions and appear like a MinMo 5/6 program.
Use of GPS may scupper your efforts, you will need VS 2005 or later.
To sum up, it's a minefield.

[Q] Full Java Virtual Machine - Is it a possibility?

So if this is a stupid question - please be kind.
It seems the Prime has the power to run the full Java instead of the phone based version.
I noticed this the other day when I was trying to run a java video app from within BlackBoard for one of my assignments. I just get a bunch of symbols at the top of the frame and it extends the screen endlessly to the right.
So is adding the full java something that can be done in a new firmware update or be a part of a rooting package of the future? It sure would be nice to take advantage of the power of this tablet by adding the upgraded java.
Thoughts? Suggestions? Am I crazy?
Dalvik is a full JVM, it's just that Android doesn't implement a lot of the Java libraries dedicated to writing desktop apps. It might not be too much work to get, e.g., hidden Java applets running. It would be a lot of work to get Java applications with graphical interfaces working.
I think it'd be cool to run a Minecraft server off my tablet... but that's just me.
Noxious Ninja said:
Dalvik is a full JVM, it's just that Android doesn't implement a lot of the Java libraries dedicated to writing desktop apps. It might not be too much work to get, e.g., hidden Java applets running. It would be a lot of work to get Java applications with graphical interfaces working.
Click to expand...
Click to collapse
But this tablet has the horsepower to run it if it were done, correct? I'm just thinking quad core tablet- a GB of ram. Seems like a ripe apple for the developers to add something a little more tricked out in the software now that there is hardware that would support it.
Of course I am not a developer, but my understanding is java is scaled back due to hardware limitations. The Prime is a beast of a tablet. What would it take for this to happen?
redraider II said:
What would it take for this to happen?
Click to expand...
Click to collapse
A lot of time and money? Months of work at an absolute minimum. I don't know all the missing APIs, but at least pretty much all the graphics stuff from desktop Java is missing on Android.
Noxious Ninja said:
A lot of time and money? Months of work at an absolute minimum. I don't know all the missing APIs, but at least pretty much all the graphics stuff from desktop Java is missing on Android.
Click to expand...
Click to collapse
Oh crap. Well..... I suppose that hope just went out the window.
I am happy with the Prime as it is. I was just curious about the possibilities of taking it to the next level java wise now that there are devices capable of running it.
I see you are in SA, Noxious. I'm just up the road in Austin. Have to come down there every other month or so to Methodist Transplant hospital. Had a liver transplant almost 5 years ago now. Graduated from Judson.
Thanks for your replies.
RedRaider II
You can run Java SE and even a JDK but you lose Android integration. Example: I have JRE/JDK and most of the Android SDK running on mine, in a Debian chroot. All I am missing seems to be a couple x86 C/C++ programs that I don't know where to find the source for, otherwise I could get them ported to ARM and do Android development on my tablet with the usual build system (not what terminal ide does).
But note that if you want to do GUI crap in Java, like AWT/Swing/JWT, then you need the x11/vnc stuff or to push the built code to another machine you can remote into. Running headless Java code is also possible via dalvik (just like the Android SDK does for what goes into .apk files) in some cases but I would not want to test complicated parts of core libs and classpath dancing.
Sent from my Transformer Prime TF201 using Tapatalk
Run Linux (ARMel or ARMhf) OS ontop of Android and run "ARM_Linux_Moder" from the following link after cloning it to the Linux file system
https://github.com/S0AndS0/Debian-Kit-Mods
Full directions are in readme file and I've a guide on xda and google docs to set up Linux on Android using Debian Kit.
Currently you can run JDK hard or soft float on Android and run almost any .jar file or java program that runs on PC Linux OS's using the scripts provided and install Java dependent software I've tested and scripted installers for.
I'll be working on Android SDK and NDK soon.
Sent from my SPH-D700 using xda app-developers app
Khyrdantai said:
I think it'd be cool to run a Minecraft server off my tablet... but that's just me.
Click to expand...
Click to collapse
I think it would be great too

Native C# Android?

Has anyone seen this?
http://blog.xamarin.com/2012/05/01/android-in-c-sharp/
This could be the bomb... coding in C# for Android natively!! Even maybe some of the good developers here at XDA could make a C# native Android ROM with a Dalvik machine for compatibility with non-C# market apps??
They have made tests and it seems that C# ROMs run like 5-8 times faster and leech much less power ...
Cheers!!!
Java and C# is brother actually. Both have virtual machines, both came from C++. But creating a new variation of one of these is so unreliable. Dalvik is Basically Java's clone but not very succesful clone. Mono is C#'s VM's clone and very reliable. Linux, Mac and Windows has Mono Ports (actually windows has .net framework) Mono is great but you know microsoft doesn't like UNIX like systems especially linux based ones. Thus C# programming could be harder for people. Also C# for phones could be awesome. Since 2000's We already have javaVMs on phones. Why Not C#. (python is good too but google wants a new language called GO)
Repeal said:
...Mono is great but you know microsoft doesn't like UNIX like systems especially linux based ones...
Click to expand...
Click to collapse
I think the problem is much greater with Google since they won't want a M$ programming language in their OS ... and that's a reason for which I'm sure they won't never support C# Android, but another thing are community ROMs.
Let time judge it.. but I think its good stuff...
Not only they do not 'want', they probably are not allowed as c# has patents. Look what is happening to google with java now owned by oracle..

Questions about going from JAVA to C++

Hi everyone
I've been coding games in OpenGL ES 2, 100% in JAVA. My question : Will I have a performance boost (in FPS) if I coded some parts of my games in C++ ? Like the rendering part ect. Can I have an estimation ? (2x, ect.)
Also, C++ is compiled, so I suppose I will need to make 2 APKs, one for ARM and an other for x86 ?
kamuikun said:
Hi everyone
I've been coding games in OpenGL ES 2, 100% in JAVA. My question : Will I have a performance boost (in FPS) if I coded some parts of my games in C++ ? Like the rendering part ect. Can I have an estimation ? (2x, ect.)
Also, C++ is compiled, so I suppose I will need to make 2 APKs, one for ARM and an other for x86 ?
Click to expand...
Click to collapse
You will have performance boost, c++ runs natively while java runs on vm
How much boost i don't know, i have never used c/c++. On today's modern hardware i presume not too much
You can make 2 apks, google play store allows adding separate apks for each supported architecture (mips, arm, x86)
But you dont have to if you dont want.
You can compile native libraries for both arm and x86. Then in java you determine which one to use
Thanks for your answer
Can someone that actually did the jump (from JAVA to C++) share about his experience ? Hom much FPS boost should I expect ?
I have a simple scene right now in 100% JAVA that is rendered at 17 FPS on an old mono 1 GHZ device, which is quite low. I was wondering if I optimized the rendering in C++ I would have 60 FPS on that device...
I can't talk from an OpenGL point of view but I made an Equation Solver a while back using the NDK and C++ as the engine for it. I can say the performance increase is quite dramatic.
http://www.youtube.com/watch?v=pHS4aXqPo-A
Go to 7:30, it shows an application that executes the same algorithm via Java and Native. You can see a large difference in performance.
It depends on what you're doing. If you have some heavy physics engine or massive calculation of whatever else you gain a lot by using the NDK in addition to the SDK. Small calculations and simple games aren't worth the overhead because each call to native code via JNI has a huge impact.
C++ performance gain
Hi,
Indeed you should expect performance gain, as a rule of thumb, C si between 3x and 50x faster than Java and C++ is roughly 3% slower than C. These were the figures of 2000, Java might have been improving since. Definetly, you will have a performance boost. For all serious animated games, it should be C++, no doubt.
There might be a trick to compile C++ code at runtime saving you the burden to compile for all platforms. For instance, for RenderScript, which allows computation on GPU, the C code (C99) is compiled at runtime.
Hope this will help.
DP
It could be faster. Remember Java & C++ have quite a few differences: no garbage collection in C++, pointers, no reflection for example. Not trying to put you off but it could mean altering your design to compensate. Having said that I have used JNI in a project years ago to talk to some hardware (not for performance) & that was no problem.
it is not easy from java to c++. c++ has some concept very different with java. for example pointer, free, delete memory. i think how to manage the memory space is very hard to java engineer.
kamuikun said:
I've been coding games in OpenGL ES 2, 100% in JAVA. My question : Will I have a performance boost (in FPS) if I coded some parts of my games in C++ ? Like the rendering part ect. Can I have an estimation ? (2x, ect.)
Click to expand...
Click to collapse
Nice stone age writing (for/about loopers) with some metrics
The first think I recommend you is to profile your code and get a clear idea of where is most of the time spent, if your time is mostly spent on gpu / draw calls then I don't think language is your problem.
my experience
I initially implemented my PlotimFree plotting app with Java and was not satisfied with the results. For the move to C++ I gave the Marmalade sdk a shot, and while I;m not sure I'd use it again if I started from scratch (due to pretty awful support), the performance boost was amazing. I expect pure NDK to be at least as good.
About two versions: Indeed, you need to compile for each target separately, which Marmalade limits, depending on the license you acquire. And there are a few more targets besides Arm and x86. I can testify, though, that converting my Android app to BB10 (which is also Arm based but still a different target) was no more than a two hour process.
Lyonsbane said:
The first think I recommend you is to profile your code and get a clear idea of where is most of the time spent, if your time is mostly spent on gpu / draw calls then I don't think language is your problem.
Click to expand...
Click to collapse
This is exactly right, profile first and find out what is consuming the most processing time. Then from there you can determine if that component is something you can write natively in C and invoke from your Java code.
kamuikun said:
Hi everyone
I've been coding games in OpenGL ES 2, 100% in JAVA. My question : Will I have a performance boost (in FPS) if I coded some parts of my games in C++ ? Like the rendering part ect. Can I have an estimation ? (2x, ect.)
Also, C++ is compiled, so I suppose I will need to make 2 APKs, one for ARM and an other for x86 ?
Click to expand...
Click to collapse
It depends on your skills, I would consider to include shades rather than migrating to different language.
As others have mentioned.. maybe look at the way you are rendering or the shaders. On most Android devices now we have a JIT, this basically compiles sections of the Java code at runtime to the platforms native format.
Many times I consider switching to C++ but really cannot convince myself yet! The main benefits I see to it are:
- No garbage collector, so hopefully you can control your allocations more easily
- Platform independence, you can write most of your code in modules and keep non-platform specific parts away to make it easier to port later.
A lot depends on the quality of your Java code as well.
A big problem with doing graphics in Java is getting things smooth. If you create a lot of objects each frame, you will overload the garbage collector, and every few seconds, you will see a slowdown.
C++ won't suffer from this issue.
I have done a Java software rendering demo years ago (search for 'Croissant 9' on pouet.net), and spent a lot of time on minimizing the load on the garbage collector by re-using objects with a simple pool system, so that the demo ran smoothly throughout.
I recently tried to port it to Android, and found that Dalvik is worse at memory management than the JVMs I used 10 years ago when developing the original demo. Dalvik is also a lot slower. The original ran fine even on simple 1.6 GHz Northwood Celeron, easily 30-50 fps... A modern high-end Android phone should be faster, but the code runs with single-digit framerates.
So there's a lot to gain with C++ there.
But with hardware rendering, the bottleneck is not so much on the CPU, but on the GPU, if your code is designed properly.
As for APKs, I believe if you just add multiple platforms to your makefile, it will pack the multiple platforms into a single APK, and the proper code will get deployed on the device automatically.
I can confirm what many of the pro-C++ posts are saying, but I can also correct a few assumptions about Java development for OpenGL ES 2 targets.
I have decades of experience in C/C++, with targets ranging from 3D engines to robotics control systems.
Most of the high performance work you see on Android devices was written in C++, not Java.
There is very little if any benefit, contrary to the Android documentation, in mixing Java and C++ together. The JNI interface is a considerble bottleneck. If you're going to work in C++ for OpenGL ES 2 targets, you should work entirely in C++ - viewing the Java nature of Android applications as a necessary evil for getting I/O from touch.
There are a number of free C++ engines targeting Android. I can't heartily recommend them for you, but they exist as examples from which to base judgement. One that you can EASILY unpack and compare right now is GamePlay3D - from Blackberry (I know, it's a surprise source). With that, and the NDK, you can build 3D example games from the package and see for yourself what an all C++ development target does on your device.
Contrary to Google's claims, Java is slow by the standards expected from engineers familiary with C++ development. Little to zero can be done to change that. However, C++ is a complicated language to use effectively. The learning curve is steep, the potential perils are high and for Android it was an unwelcome, highly resisted addition to the platform (when the NDK was introduced). Since NDK 7 C++ has become a relatively first class member of Android development work, and virtually all high performance games use it for both portability and performance.
A lot of people seem to expect all kinds of magic performance improvements from going to C++, without realizing that their graphics coding might be sub-optimal. Too many state changes, too many draw calls, textures that are too big or shaders that are too complex, those are all quite common causes of slow graphics that are not going to be fixed by moving to C++.
Sure, if you really need every last bit of performance (and you know how to get it), go with C++. But given the power of todays hardware, most people should be able to get by just fine with Java.
It would be a different story if you're planning to port your stuff to IOS: then coding in C++ actually makes sense. I also do a lot of OpenGL stuff in C++; simply because it allows me to plug the renderer into a Qt application on the desktop, avoiding the upload to the device, and making debugging a lot easier.
BTW: the pain of writing JNI code can be eased a lot by using SWIG, which generates all the required wrapper code based on interface definitions.

Categories

Resources