This week's book giveaway is in the OCAJP 8 forum. We're giving away four copies of OCA Java SE 8 Programmer I Study Guide and have Edward Finegan & Robert Liguori on-line! See this thread for details.
I plan to write mobile phone apps that can provide location based services using in-built GPS receivers(of cell phones). I browsed Nokia's site and found that there are Java(J2ME) APIs that can aid in development. My concern however is w.r.t to hardware:
1.Do i need to buy GPS enabled, expensive cell phones to test these apps?
2.Are there any cheap alternatives like GPS simulators that i can use? [ December 23, 2008: Message edited by: Monu Tripathi ]
Nokia is apparently committed to eventually provide GPS standard in all their smart phones. I don't know about anyone else.
One of the great things about the GPS JSR is that it supports multiple GPS data sources in a device-independent way. For example, using cell phone tower trilateration (low power, low accuracy) and builtin chips (higher power drain, better accuracy). That also includes external Bluetooth GPS modules.
So, if you have a phone that includes the GPS JSR component and Bluetooth, chances are that you can pair a GPS Bluetooth device to the phone and use it with the Java GPS API.
An IDE is no substitute for an Intelligent Developer.
I did a google on "GPS Simulator" and found links to a few GPS Simulators: Skylabs, lowrance, and a few on sourceforge... I understand that these simulations wouldn't be able to emulate the actual deployment envt (cell phone); but they are cheap.
I believe the simulators have another use entirely.
In Java, I'd do the usual code partitioning so that the actual device-dependent stuff was separate from the application code and simply use JUnit to test it.
Testing the actual GPS code itself is harder - you really need something that can act as a backend to the JSR API, but since the API is fairly staightforward, mostly you'd just want that to get comfortable with the concept.
I think there may actually be a JSR GPS simulator in the Sun J2ME SDK. Also, a lot of the phone service providers allow developer remote access to a lab with live devices in them. Although commonly the GPS interaction is fairly limited, since they don't move around - just stay in the building.
Like Tim said you can use GPS emulator in Sun's, Sony Ericsson's, NOKIA's... SDK... I use that emulator to test if it works and then test on real devices... Not only Nokia will have all smartphones with GPS... Today Sony Ericsson has Xperia X1 Windows smartphone with JME implementation and GPS but also other cheaper phones like W760 or C902... have GPS. It is also possible to buy plugable GPS device to phones that don't have built in GPS...
But as far as I know Nokia will not support JME on S60 but only on S40 so it won't help you much if they have GPS devices on all S60 phones... There is still C++ there or maybe plain Java but we'll see...