How to develop for MRP (Mythroad, platform for chinese mobile application)? - java-me

Hello dearest community
I just given a task to develop a mobile application for chinese mobile phone, Nexian NX-G920. At first, I think it can just run the J2ME application. But it didn't, it only support MRP application. Having read about it here : MRP, I think my best case is, if any, convert my *.JAR application into *.MRP. Is there any tool that can do it?
My Plan B is, to develop using specific MRP SDK. But that is just to costly, in term of effort to be use.

As far as I know there are only Java to C translators or Java bytecode to assembly translators like those listed in this question.
These include JCGO, Toba, gcj and llvm. However a Java to C translator or similar is only part of the solution because it would only help you if you were translating classes that didn't interact with Java libraries that are not part of the MRP platform. This is because MRP platform won't have the libraries you link to and will have different GUI and hardware API calls than J2ME.
The only SDK for MRP is the OpenSDK which you have already mentioned.

I think I've found one solution, but I have to use my C languages, not the plain J2ME as first I thought it will. Here is the SDK, Open SDK by Sky Mobi.
Haven't try it though, but I think this is one solution that fit the problem.

Sky-Mobi SDK is saved this archive on Wayback Machine
The Sky-Mobi is saved this page of site in the Internet Archive

Related

Haxe for enterprise application development

Is there anything available for Haxe which would be suitable for real-life enterprise application development? (i.e. A professional high level UI component framework.)
Just a note - I know we all love our tools of choice, but please try to keep it objective.. don't just recommend Haxe for something without thinking about whether it's really an effective tool for business requirements.
On one hand, as Jason suggested in his comment, there is missing a haxe-based native UI framework.
On the other hand, we don't really need a haxe-based UI framework, but using the UI framework available to the target platform is enough. Unlike building a library, which is better to be target independent, building a "real-life enterprise application" only requires targeting a specific platform. Since UI is highly dependent on the target platform, it means that we should use a target-specific UI framework. For example, the best UI solutions to an web app are probably jQuery, ReactJS, AngularJS etc., which all can be used in Haxe (jQueryExtern, react.hx, angular.haxe). For Flash/Java/C#, we can simply use any "native" libs by -swf-lib path/to/lib.swc, -java-lib path/to/lib.jar, and -net-lib path/to/lib.dll. For C++, however, although there is continuous improvement (watch the wwx2014 talk), it is still somewhat hard to use native libs.
We are making games in haxe + OpenFL + StablexUI. Not sure if it suitable to post their urls, so that you could see the quality. But it helps if you need your custom ui not native (iOS, Android).

MonoTouch - cross-platform API abstraction layer?

I understand that with MonoTouch and MonoDroid that you develop against the native UI layer, which is a good thing. However, I was wondering if there were any cross platform Mono API layers for features such as camera, location, storage, notifications etc... ?
PhoneGap supplies a JavaScript a abstraction layer that does just this. Is there a Mono equivalent?
There is an official monomobile api project from xamarin - that provides camera, contacts and gps abstractions, plus there are discussions (but not firm roadmaps) about extending this further. See http://blog.xamarin.com/2011/11/22/introducing-the-xamarin-mobile-api/ for an intro
Beyond that:
some api's exist cross platform from the start - eg isolated storage can be used on all platforms.
I've seen a few other GitHub projects started - eg chrisntr's mono extensions
I've written a few abstractions (e.g. File, gps, camera) in http://GitHub.com/slodge/mvvmcross
I recently came across MonoDroid.Dialog. I have yet to use it, but if it is as easy as MonoTouch.Dialog to do tables then I will be very happy with it.

Code sharing between MonoTouch and MonoForAndroid

What would be the best practice to share busines logic c# code between MonoTouch and Mono For Android projects?
Edited:
Initially, my question was about the physical file sharing:
What do you propose to use: network file sharing or some code
version control (git, svn)? In my case I am using two workstations -
Mac (MonoDevelop with MonoTouch) and PC (Visual Studio with
MonoDroid).
What about Solution/Project folder structure? In
"Blog Post: Xamarin Mobile World Congress 2012 Unofficial
Conference App Released!" example structure is quite confusing:
several solutions in one folder and then different platform projects in one
subfolder with different folder and project names. It can not be accomplished nativly
with IDE. Are they editing content of solution files and folder names manualy
outside of IDE environment?
And for projects of common code what kind of profile (template) to
use? Monotouch has several: Empty Project, MonoTouch Library
Project and MonoTouch Binding Projects? In Android i supose -
Android class library?
This is a very general question, but here are a few resources that may help you get started:
Video: Cross-platform Mobile Development
Blog Post: Shared Libraries For Windows Phone 7, MonoDroid and Beyond
Book: Mobile Development with C#
Blog Post: Xamarin Mobile World Congress 2012 Unofficial Conference App Released!
Edit (to answer your new questions)
The idea behind linking files across projects is that there is only one actual copy of the file, rather than having to manage multiple copies and keep them in sync yourself. The file will actually exist in just one project and be linked into the others, but when the projects are compiled it treats the file as if it were actually there.
I can't speak to exactly how they created their folder structure, but I know there have been many cases where I would manually edit project or solution files to get the folder structure I want, because there was no way to get what I wanted through the IDE alone. This really boils down to personal preference on how you want your folders to be structured.
In the end, what you need is a class library project for every platform you want to target. When going with the linked file approach, it's totally up to you where you put the physical files. One approach I use often is to actually create a standard .NET 4.0 class library, put the files in there, and then link them into my Mono for Android and MonoTouch class libraries. If all you care about is targeting iOS and Android, that may be more trouble than it's worth, and you can just let the files live in one project and link them into the other.
Disclaimer: I've got a particular Mvvm methodology that I use for sharing code across multi-platform projects...
Despite this, I genuinely don't believe in "one size fits all" frameworks - I think you need to be careful to pick an approach that best suits your project, your developers and your organisation.
With that said, some of the tools you can use within the Mono development approach are:
using Portable Class Libraries to share exactly the same code between platforms
using platform specific Class Libraries to share code between platforms, linking these using the Project Linker tool from Microsoft
using #define code within your class libraries to provide platform specific implementations of the projects (I personally try to avoid this approach, but it does often provide the quickest route to market)
using DI/IoC techniques to provide components for those occasions when platform specific implementations really are required.
using a assembly linking to provide IoC - e.g. this is what the Xamarin MobileAPI does
using server-based logic for genuine shared functionality - e.g. using REST or SOAP-XML services to implement logic
sharing tests (e.g. NUnit) between platforms to assure the quality of your logic
using shared code techniques - MVC (MonoCross) or MVVM (MonoMobile.Views or MvvmCross) for UI "controller" logic; MonoTouch.Dialog and MonoDroid.Dialog for "View-level" abstractions; CrossGraphics for UI "drawing"; SQLite.Net for database; etc.
I'm finding the MonoTouch, MonoDroid and the Microsoft tools provide real and signigicant benefits in developing cross platform code - but you do have to work and think to achieve this.

javax.microedition package documentation

I have to design a mobile application as my mini project. I cannot find the documentation of javax.microedition in my java folder. I tried searching it online, but all the websites have vague information. I need proper details of this package. Where can I find it?
tried searching it online, but all the websites have vague information
Did you try different search engines? I always switch to alternative engine when I feel that one I usually prefer doesn't do the trick.
Don't know if your case but to me results of search for "javax.microedition package" were totally different depending on engine. While one engine ("good") gave me a needed link at the top of the very first page, another had it buried at 7th page ("bad", really bad).
Anyway, there's pretty detailed and accurate answer at SDN Mobility Reference FAQ - J2ME Package Listing:
Question
What package names are defined in the J2ME environment?
Answer
The J2ME environment introduces a number of Java packages. These are almost exclusively placed into the package javax.microedition. The few exceptions are technologies that could be used in one or more other editions of the Java platform as well. For example, because you might use Bluetooth technology in either J2ME or J2SE, the Java APIs for Bluetooth specification (JSR 82) uses the package names javax.bluetooth and javax.obex.
The table shows the package names specified by the J2ME JSRs, as defined by the Java Community Process (JCP). It includes...
...continue reading at above link if you're interested in more details

Developing a fullscreen "media player" on linux

I'm a Windows developer and I need to develop a Linux application.
The goal is to have a fullscreen application being able to display different media types (images, videos, flash). There might be multiple media files being displayed at the same time on the screen (if the screen is split in multiple zones).
Can someone point me in the right direction as to what is the most appropriate technology/tools/frameworks to use?
I have experience with C#, C++ and Objective C.
Thanks,
Pyt
You could look into MPlayer's libraries, that are extensively used by several Linux applications as a backend.
Best of all, its cross OS and of high quality.
Qt for the gui
Probably C++ for the code
You could look at FFMPEG libraries (http://ffmpeg.org/index.html)
QtMediaHub (http://qt-project.org/wiki/QtMediaHub) has some useful (and pretty stable) classes and sample implementations.

Resources