|
The WP7 emulator is actually quite good. Service calls, Push Notifications, local storage, 3D graphics, etc all work well.
There are some obvious things you can't do, like get GPS data, but in general there isn't much you can't do in the emulator.
Performance testing should certainly be done on actual hardware of course.
|
|
|
|
|
Alexander DiMauro wrote: I was wondering, is a phone absolutely necessary?
Yes, before releasing any application, you'll need actual hardware.
Alexander DiMauro wrote: How accurate are the emulators compared to the real thing?
Not bad, but there are quirks in every Windows emulator I have used. You can code around them, only to find the problem doesn't exist on the actual device.
Alexander DiMauro wrote: Is it possible to make apps without ever testing them on an actual device?
Well, yes, but I wouldn't. Depends on what type of apps and actually what you mean by apps. Full blown, large GUI apps, nope. Minimal GUI, large computational, you could give it a shot.
Any hardware-specific functionality will require two versions of the code - one to run in the emulator and one to run on the actual device (
if #DEBUG
I spoke to the local AT&T rep for some used, "demo" devices. He said they couldn't supply them, but all of their trade-ins went to a specific company (regional, I believe), and he suggested contacting them for used units at a good price. I haven't done it yet, however. Also, if the app does not use the cell-phone capabilities, it is verrrry expensive to get a device without committing to a monthly data plan.
One other "gotcha" with development on the real device. When running in debug mode on the device, the PC (debugger) must be connected to the device. This usually means the device is docked in a cradle (although you may get away with a wireless connection). Take the device out of the cradle, and you lost the connection to the debugger. If the device requires using any buttons or ports that are not accessible when in the dock, you'll find yourself looking in the Digi-Keytm catalog for parts to build a cable to attach the device to the dock. Plaster of Paris works wonders to pour around the cable connector for a phone-shaped mold.
Example - in developing a voice recognition application using a headset, the headset plug was next to the docking port. Couldn't have the headset plugged in while in the dock, so a DIY cable was necessary.
Best of luck.
Gary
|
|
|
|
|
I'm not even sure which response to reply to. All good answers, thanks.
I guess the general consensus is that I can use the emulators to learn, but to actually package something and sell it, I need a phone. So...my mobile ambitions will be on hold for a while, I guess.
The whole system seems pretty messed up for developers, at least in the US. I heard that in other countries there are no long term contracts? Is this true? The only way to afford a phone here is to get stuck in a 2-year contract.
Oh well. Thanks again for all the responses. I guess I'll just play with the emulators for a while.
We live in a world operated by science and technology. We have also arranged things so that almost no one understands science and technology. This is a prescription for disaster. We might get away with it for a while, but sooner or later this combustible mixture of ignorance and power is going to blow up in our faces.
--Carl Sagan
|
|
|
|
|
Well, I know that Virgin Mobile has fairly cheap ($25 USD) data plans; if all you want is to do Android devleopment, that's the direction I would go. A decent phone is about $250 USD, but you're not locked into that long term contract. IIRC, for $25/month you get unlimited data and 300 minutes of voice. $60 buys you unlimited everything.
|
|
|
|
|
That looks pretty good. I might wait a little bit until they upgrade to Android 2.2. Thanks for the tip. That sounds MUCH better than getting stuck in another 2-year plan.
Oh, and this is my first thread ever that made it to the CodeProject Daily News email! Woo hoo! Beers for everyone!
We live in a world operated by science and technology. We have also arranged things so that almost no one understands science and technology. This is a prescription for disaster. We might get away with it for a while, but sooner or later this combustible mixture of ignorance and power is going to blow up in our faces.
--Carl Sagan
|
|
|
|
|
Coincidentally i created my first Android app yesterday.
It was, of course, a 'Hello World'-app.
I tested it on an emulator running froyo, and it did what one would expect from a hello world app.
Of course i wanted to show this amazing feat of technology to my collegues next morning, so i packaged it and installed it on my own Samsung galaxy S, running Froyo.
As I already feared the app had gotten an extra feature on my phone. Causing a 'Force Close' right away when you run it.
So no, in my little bit of experience, it seems the emulator isn't good enough as only testing device.
(And yes, I'm enormously proud of being the first person ever to make a Hello World-app fail! =D
|
|
|
|
|
sjewrd wrote: And yes, I'm enormously proud of being the first person ever to make a Hello World-app fail! =D
Sorry, but you're at the end of a very long line!
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
Mine didn't fail. I never got it to compile.
Is this a different line?
Gary
|
|
|
|
|
My experience with iOS, RIM and Android devices indicates, yes you will need to test on the devices.
Example - We recently changed our app for RIM to be compatible with several new devices. I made changes to the screen layouts so that all looked pretty in the simulators.
When we installed and tested on the devices, text and images landed in different places on the screen. We went back made changes and they looked like crap in the simulators. Installed on the devices and TaDa! They looked great. Go figure.
We also stumbled upon an error in the RIM OS that doesn't show up in the simulator for a particular device. It is only shows up on the actual device itself.
So the moral of my story here is: Test on the device you say you are compatible with.
|
|
|
|
|
NotDadsW41 wrote: So the moral of my story here is: Test on the device you say you are compatible with.
Yes, that seems to be the consensus here. So basically, unless you can afford to buy multiple phones with multiple data plans, you're pretty much stuck writing for just one platform.
Seems like a step backward, no? I love the fact that I can dual boot Windows 7 + Linux Mint on all my computers, and do work in multiple platforms very easily. It would be AMAZING if dual booting phones was possible!
We live in a world operated by science and technology. We have also arranged things so that almost no one understands science and technology. This is a prescription for disaster. We might get away with it for a while, but sooner or later this combustible mixture of ignorance and power is going to blow up in our faces.
--Carl Sagan
|
|
|
|
|
Alexander DiMauro wrote: I love the fact that I can dual boot Windows 7 + Linux Mint on all my computers, and do work in multiple platforms very easily.
In the very early days of WinCE (about a decade ago), there were multiple projects to make WinCE be a boot-loader for Linux. Booting into Linux then removing itself.
Not quite dual-boot, but fun...
Gary
|
|
|
|
|
You need very big budget to get every possible device to try on and make sure your app works.
There is always another option: Ask for a helping hand from buddys (pals) in CodeProject. If you have some doubts about code leaking to the wrong hands - just make it time-limited or other limited in other ways.
I have Samsung Galaxy Portal (Android 2.1). Thinking to get something bigger like WeTab or Dell Streak.
Other might have other devices, like Droid (w/ Froyo), HTC Desire, Google, HTC Legend and so on.
If you planing to make your application for only one device and software is proprietary to the company/project and no sharing is allowed (my case) - then you have no other choice but to get that device.
Whichever the case - I'm more that happy to help fellow programmer by loading software on the phone and writing report on it. Even simple "Yep, It works.." or "Nope, fatal disaster." sometimes is helpful.
The most important part - enjoy your path to enlightenment. Nothing can beat real sense of achievement.
|
|
|
|
|
I heard recently of an android phone that can be purchased out right (about $250 if I remember right) and used on the Virgin Mobile network for $25 a month with 300 minutes and unlimited data, no contract. It's the Samsung Intercept. link[^]
|
|
|
|
|
my buddy showed me an Android app he wrote on win7, and some emulator.. installed it on his phone... worked!
So - getting hardware and testing is recommended; but you could get started on the emulator and save up for the phone... just be ready for a soup to nuts test on the hardware either way!
Know way too many languages... master of none!
|
|
|
|
|
Regarding the WP7 emulator there are some important things that don't work out of the box. The most important missing feature is multitouch, altough this can probably be sorted out somehow. Another important thing that can't be tested in the WP7 emulator is the "Photo Extras Application". The following quote is from MSDN: "For this release of the Windows Phone Developer Tools, this topic can only be completed on a Windows Phone device and not on the emulator. The current version of the emulator does not include access to the Pictures application on the device." - and I will complete: the current version of the emulator includes access only to the Internet Explorer application, so no email, no pictures, no music ...
And as a comparison, the iPhone simulator seems to be much more useful. I worked on two applications and I mostly tested in the simulator, because is faster.
If you can't explain something to a six year old, you really don't understand it yourself. (Albert Einstein)
|
|
|
|
|
Hi there,
as i titled im going to connect sql server over wifi, i use windows mobile 6.5 on my device, i installed sql server ... its ready for remote connection, now how i could make network between device and my pc?
please answer me in details!!!!
|
|
|
|
|
hi, everybody.
I found that in Windows Mobile, the SetBitmapBits member of CBitmap is invalid.
How to edit a CBitmap object without SetBitmapBits?
thanks.
|
|
|
|
|
|
it is quit easy to create compiled script resource in Java using LWUIT tools
is there any alternative or similar tools for windows mobile dot net application for uniform form look and feel
|
|
|
|
|
please give the procedure to recover deleted sms from nokia 5320 ( s/w: S60v03.08)...
i tried file explorer. it works in s60v2. but not works in s60v3...
|
|
|
|
|
hi,
i'm currently using waspmote IDE to write a source code to send or receive data.Unfortunately, my program doesn't work and i don't know where the problem lies.Here's my code:
void setup(){
USB.begin();
USB.println("USB port started...");
USB.close();
BT.ON();
if(!BT.init()) USB.println("Init OK");
}
int n=0;
void loop()
{
if(!BT.scanNetwork()) USB.println("Scan OK");
else USB.println("Scan failed");
for(int l=0;l<BT.devices_found;l++)
{
n=0;
USB.print("---- DEVICE ");
USB.print(l,DEC);
USB.print(" ---- ");
USB.print("MAC: ");
for(int m=0;m<12;m++)
{
USB.print(BT.discovered_devices[l].mac_address[m],BYTE);
}
USB.print(" -- NAME: ");
while(BT.discovered_devices[l].name[n]!='\0')
{
USB.print(BT.discovered_devices[l].name[n],BYTE);
n++;
}
n=0;
USB.print(" -- CoD: ");
while(BT.discovered_devices[l].CoD[n]!='\0')
{
USB.print(BT.discovered_devices[l].CoD[n],BYTE);
n++;
}
USB.println("");
delay(2000);
}
if(!BT.createConnection("0003190D1DB9","02"))
{
USB.println("");
USB.print("--- CONNECTION -- MTU: ");
USB.print(BT.connection_mtu[0],BYTE);
USB.print(BT.connection_mtu[1],BYTE);
USB.println(BT.connection_mtu[2],BYTE);
}
else USB.println("Connection failed");
delay(1000);
if(!BT.sendData("test!")) USB.println("Data sent OK");
else USB.println("Error while sending data");
delay(2000);
}
|
|
|
|
|
Hi,
you did not mention which mobile device this is, which operating system it uses, what program language you're using, what is and isn't working; all you did was dump some code.
So all I can offer is some general advice:
1.
don't create a large amount of code out of the blue; start small and check it works well before you let it grow larger.
2.
if you don't understand what is going on, improve the observability; I prefer adding log statements, logging to either the display or a file (or both). Each log statement generates one line of output, showing progress and intermediate results when sprinkled around. I know it takes a little effort to provide such, I also learned it pays off right away. And most often it works way better than all the tricks of a debugger, unless you're a real debugger wizard.
|
|
|
|
|
Hi Luc,
You might find this thread[^] relevant. Make your own judgement.
Cheers,
Peter
Software rusts. Simon Stephenson, ca 1994.
|
|
|
|
|
Good one. I didn't recognize it, as I didn't read the unformatted code in that thread when I first saw it. Thanks.
|
|
|
|
|
hi,
the device i'm using is by libelium's waspmote bluetooth board,the language they are using is c++ but i cant seem to understand their examples when i run and upload it to my board.The program was a combination which i took out from the examples.It can scan for external devices such as their class mac address and do a connection to the particular device but it can't seem to send any data out.So if you could help me a little with the codings.thanks
|
|
|
|
|