J2me starts confusion - mobile

I have knowledge of core Java and Android. now I wish to learn J2ME.
What are the tools are needed for start with J2ME.
and I read some tutorial for starting like http://www.roseindia.net/j2me/java-platform-micro-edition.shtml In this tutorial I read that I need to download
sun_java_wireless_toolkit-2_5_1-windows (WTK) along with java.
But in Oracle site when I check for j2me section they are saying to download sun_java_me_sdk-3_0-win and start . so which is first point to start J2me. and what the diffrence in both of these two .Any good site link to refer will be very helpful.
Thanks in Advance

If you need to develop for real-world devices you will need to download the 2.5 version of the WTK, as there are only a few J2ME devices which support J2M2 3.0 (if any). You can download WTK 2.5 here: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javame-419430.html#sun_java_wireless_toolkit-2.5.2_01b-oth-JPR
2.5 differs significantly from 3.0 and again: developing with 3.0 is of no use for existing devices.
Here's an overview of the feature of 2.5:
http://www.oracle.com/technetwork/java/download-135801.html
As fas as I can see, the tutorial you posted is a good starting point.

I would like to suggest you to read j2me complete reference ..as you know core java already it is very easy to learn J2ME...,J2ME SDK3 is just little different from J2ME WTK 2.5.2 ,
check the following url for learn more or start with Java Microedition :
http://www.daniweb.com/software-development/mobile-development/threads/302854/646446#post646446

To start developing you need a IDE ,is a software application that provides comprehensive facilities to computer programmers for software development. I suggest you Netbeans, which you can download from here : NetBeans IDE Download Bundles and select a bundle which support Java ME(So you no longer need to download Java ME SDK,you'll get it along with Netbeans).
The next thing you need is to install the wireless toolkit as you read in the tutorial. Which you can get from :Sun Java Wireless Toolkit 2.5.2_01 for CLDC
The toolkit includes the emulation environments, performance optimization and tuning features, documentation, and examples that developers need to bring efficient and successful wireless applications.
Now you are ready to start .
Here are some links that can help you to start with :
Wireless Development Tutorial Part I
J2ME Tutorial, Part 1: Creating MIDlets
Guide to getting started in J2ME for the Motorola A780 phone
Deploying Wireless Java Applications

Related

WML and WAP development environment for school purpose

I am studying WML and WAP at semester 5 in BscIT and i had hard time finding the nokia wap toolkit as used in my books.When i finally got a copy from a friend , it never loaded the jvm even though beside java 1.6 that was previouly installed i installed jre 1.4 .Besides i have a dual booting windows7/Ubuntu12.04. i clearly prefer working from Ubuntu. Is there any alternatives. Like IDE, eclipse, netbeans, intellij ? what I've seen so far are Android sdk,java MIDP projects from these IDEs but not some sort of wml project.
Please point me to the right direction. thank you
You could try the Openwave SDK, which has been helpfully archived here. Sadly, just like the Nokia WAP Toolkit it is no longer available or supported by the manufacturer.
Obviously it isn't going to match the examples in your books, but it should give you a simple environment in which to run and test WAP applications. Note this is Windows only, and pre-dates Windows 7; hopefully it will run.
do code in a document file and give .wml extension. After that to run this code just add a add-ons to your firefox. It's great to work with these.
Thanks.

How to make a cloud and all platforms offline apps together?

I know is hard to develop web application and make a individual app versions in each device.
But i just want to know how that works with big companies.I want to know how they write there code
The best example is Evernote and Google Drive.
They make a cloud application and individual apps for each device.
So the questions are..
How do sync the data with the cloud apps ?
Do they use version control ?
Can i get software requirement specification anywhere ?
Platforms and Languages:
iPhone and Mac - Objective C
Android and Other Mobile Apps - Java
Windows 8 - C#
Web Apps - PHP or Python
How do you solve this solution languages differ?
I guess i it's not possible with version control..
How to minimize coding ?
I recommend you use a version control tool.
make a individual app versions in each device.
I assume you mean developing different versions with few differences. The branch feature in a version tool can help you manage these versions easily.
How do sync the data with the cloud apps ?
You can use the web deployment feature to upload the applications/modifications to your web server.
I list some version control tools here for your reference:
Git
SVN
SourceAnywhere (I work for the company)
Team Foundation Server

can database engine be included in eclipse plugin?

I am new to Eclipse plugin development. I am working to develop a plugin that needs to store large amount of data, as well as search and retrieve from them. I am wondering, if I can use a database for this having plugin dependency. Is there any database engine that comes as Eclipse plugin? I was looking at Apache Derby, but quite unsure about the possibility.
Please suggest.
I have been happily using Derby's Eclipse plug-in for data storage and retrieval. There is a good step-by-step tutorial that assumes very little prior knowledge. Follow these installation instructions, and you should be up and running fairly soon.
Once you get it installed in Eclipse, there is additional useful information. Launch Eclipse and bring up the Help for the Derby plug-ins. Help >> Help Contents>> Derby Plug-in User Guide.
For the Eclipse (Rich Client Platform) it does not matter where or how you store data. It is just a framework which helps deliver a rich client interface.
What other functionality will be required by the users of the data? Apart from getting new data in (is client application the right thing fro that anyway). And searching for certain data? If there is a lot of interaction with the data, draw some possible screens, to get an idea about how it should be implemented in eclipse (eclipse plugins).
There are several plug-ins / extensions which can help you getting the data storage functionality implemented.

How can I write apps for the latest Sony Ericsson phones?

For me in particular it's about Sony Ericsson W715.
What languages can I use and what environment do I need?
A tutorial recommendation would also be nice.
Well, without more information as to what your applications are supposed to do, I would also recommend J2ME, especially given that SonyEricsson has additional useful proprietary APIs that are available to their partners.
You can also target the web browser on the phone by having a server send dynamic HTML and javascript code.
Flash Lite is also an option.
Recent SonyEricsson phones contain the capuchin technology: Write the GUI in Flash and the application engine in J2ME. That could be worth a look, depending on the skills of whoever is working on your applications.
They have a developer page..
http://developer.sonyericsson.com
Your only option would be J2ME. I recommend using Netbeans with the Mobility Pack for the task. Download the Java version, that includes Java ME.
Here is a tutorial on the net. I am sure you can find many more.
You should use J2ME (Java Micro Edition).

Mobile devices for developers

I need to develop some programs for mobile devices but haven't decided the platform to build upon. I'm looking for Palm or Pocket PC devices that have Touch screen and Wi-Fi connection and are cheep because I'll need to buy several of them.
I don't really need camera, mp3 players, video players, pdf readers or anything else since the apps are going to be simple data collection to feed via wireless to a server database.
I'm proficient with C and C#. I could learn Java if I had to.
What devices do you recommend? Linux devices maybe?
PS: Changed the title because I don't want a flamewar between platforms. Please, don't answer with Windows Mobile sucks/rules. I'm looking for devices instead.
Thanks
Windows Mobile
It supports C#, and Visual Studio comes with the mobile SDK. So if you know C# you probably already have the tools you need. And in spite of the iPhone/iPodTouch buzz, the Windows Mobile deployment is still 10X greater.
In order of preference
Neo Freerunner
Maemo & the N800 (cheap)
Beagleboard
If you are comfortable with Visual Studio then programming for windows mobile is extremely easy. The SDK for mobile comes with emulators for all the latest and popular versions of windows mobile- and you can even debug on teh device itself using a USB cable.
On windows mobile you have a choice: Develop a .Net application or develop native (likely MFC based). Either one gives you a great development environment.
As far as iPhone development goes- you would need an apple computer to install and use iPhone SDK- and you can't run an iPhone app on your phone. You would have to go through the process of getting it registered with iTunes for you to install your own apps on your own phone!
When I first started playing with mobile development I had a few questions:
Can I develop using my favorite IDE- Visual Studio. Will it be as easy as developing a desktop app: yes.
Will I be able to access the internet from my application without 'unlocking' or in some other way enabling the phone that was not intended by the service provider? yes.
Will I be able to access device specific functionality such as GPS easily? Is there good support for doing so within the API? Yes.
You should probably target the Windows Mobile platform. The Palm platform is rather archaic and no longer widely used. The development environment is also rather spartan, while Microsoft has full IDEs available for Windows Mobile development. You might also consider the iPhone/iPod touch platform - I have a feeling the number of devices will multiply at an exponential rate and I've heard that developing applications is much easier due to the completeness of the system stack.
You should probably at least evaluate the Apple iPod Touch. It certainly meets your basic "touch screen + WiFi" spec, and your users presumably won't object to all the the other nice features that will come along for the ride.
I don't know what your cutoff for "cheap" is, but $299 for the base model seems pretty reasonable for a high-quality touch screen and WiFi in a pocketable device.
Windows Mobile and CE used to suck, really, really badly. These days however it's definitely passable and worth checking out, especially if you code C#.
Just remember that it is the baby brother of the full framework and has nowhere near enough toys and throws a lot of NotImplementedExceptions. :)
Blackberry publishes its SDK on its web site. Its apps run J2ME, so with some Java experience it shouldn't be too difficult to get started. They also give you an emulator. Disclaimer: I have no experience in writing Blackberry apps, but I looked into it once.
I would not recommend a PalmOS based handset. I have written code for PalmOS and it's about as painful as writing raw Win32 code in C. Since Palm has switched its high end handsets to Windows Mobile, PalmOS will just remain stagnant and only run on the slower, less capable hardware.
If I were to write a mobile app, I'd agree that Windows Mobile is worth checking out.
It all depends on the users who you are targeting at, If you are looking for a wide market then you should be fine with J2ME/Blackberry . However most of them lack the touchscreen and wifi features ( The HTC range of phones [WIFI/TouchScreen/Windows Mobile] have a JVM built with it),so it would work on most of the Windows devices also.
If you are making a more niche product, moving with the current buzz 'iphone' will be good . Windows Mobile is also worth checking out
The best option here would be the Neo Freerunner, with that device you can build a dedicated unit were every aspect is made especially for you're needs. The Freerunner is WiFi enabled, and has a touch interface. If you use the Qt SDK, a lot of the work is already done for you. It comes complete with emulator, as a Live linux cd. You can run in a WM, such as wmplayer. Everything is included.
I'm not gonna lie, it will take tweaking. But the final product would be really nice and intuitive.
Looking at Windows Mobile devices, your requirement of touchscreen pretty much sets your pricing at the higher end of the spectrum. You'll get those things you say you don't need just because of that.
Here's expansys's selection of touchscreens.
Mobdeal is a handy one too as that effectively filters all phones by features.
I've developed against the HTC TYTN 2, HTC Touch Diamond and randomly a PSION Teklogix Ikon
There's generally very little difference between these models, some manufacturers have SDKs that can help sometimes.
I think your cheapest option will probably be something like getting HTC TYTN 2s on ebay. They're pretty old now (hence cheap) but have Wifi, camera, touchscreen, qwerty keypad all the things you seem to be after.
you can target iPhone "touch" platform with Apple's iPhone SDK. the development environment requires a Mac, but you can get the entire IDE + tool chain + excellent debugging and profiling tools for free. And the free documentation is top notch.
As a registered iPhone developer, it is free (no cost) to target the simulator, which is sufficient for most learning and development you'll likely need to up front.
To target the actual hardware device (and up to and including release/selling your app on the Apple's AppStore) is only $99/yr. If you got an iPod Touch for your hardware target, most of the SDK applies and you are not tied into a service contract for an iPhone.
iPhone app development environment is in Objective-C, but it is a really productive, object-oriented environment so do not concerned that that may be a language you are unfamiliar with.
If you decide that your mobile app(s) would be better suited as webapps, the iPhone/iPod touch platform again is an industry leader in this space, and you have the additional benefit or being able to target other mobile platforms (and not necessarily be tied to one mobile SDK).

Resources