[Q] Develop Apps for Windows Mobile - Windows Mobile Software Development

I want to develop simple apps for Windows Mobile. I read that I can use:
---Compact Framemork. (I downloaded Sharp Develop, it is free. It also exist a program from Resco that speedup the development with C.F.)
--- C or C++ or C# (I don't know if WinMo understand these...)
---Visual Basic (is difficult and Visual Studio isn't free, but I found another program that allows to develop more simple)
---Mortscript (I think is the most simple)
---Which is the best and the most simple language?
---Where can I read or download tutorials?
---I can not develop simple apps with images and sounds yet.
Please Help!

I want to develop
-a lock screen
-an app that turn on and turn off the leds of my device
-an app that change registry values (without softreset the device)
-an app that can copy, cut and delete files
-a Soft Imput Panel (a virtual keyboard)

I haven't done windows mobile development in quite some time, so things may have changed a bit. But to help you out better, it would be good to know what version of windows you intend to develop for (I assume Windows Phone 7?) as well as any specific devices you may want to concentrate on, and what experience you already have with coding.
MortScript is probably a good starting point, though if you want to get some real functionality going, you should look at C#.net CF. Take a look at this MSDN resource: LINK. It should be good for getting started.
I think that for modifying the registry, working with LEDs, and for the software keyboard you may need to use C++ ... though I can be mistaken. I'm not sure how Microsoft has worked out libraries and privileges in WP7.

Cyclonezephyrxz7 said:
I haven't done windows mobile development in quite some time, so things may have changed a bit. But to help you out better, it would be good to know what version of windows you intend to develop for (I assume Windows Phone 7?) as well as any specific devices you may want to concentrate on, and what experience you already have with coding.
MortScript is probably a good starting point, though if you want to get some real functionality going, you should look at C#.net CF. Take a look at this MSDN resource: LINK. It should be good for getting started.
I think that for modifying the registry, working with LEDs, and for the software keyboard you may need to use C++ ... though I can be mistaken. I'm not sure how Microsoft has worked out libraries and privileges in WP7.
Click to expand...
Click to collapse
Thanks CycloneZephyrxz7.
I want to develop for Windows Mobile 6.X for devices with WVGA resolution.
But with Mortscript I can do less things? Because I can only write scripts.
Do you know how is written a simple app like "ClearTemp"?
I wait other replies from Devolpers and people that used these languages...

Related

Today plugins

Recently i was thinking about creating an app which would show me my remaining calltime with one of polish prepaid services. I imagine it would work like that:
1. receiving a specific text message with my account balance from my operator the app would capture it and store the value
2. after each call being made operator sends sms with call cost. this should be deducted from previously stored value. etc etc.
3. value should be displayed somewhere, like on today plugin...
seems simple, but theres a catch;] i can't code for WM5. i just got myself delphi 2006 today and i see it has limited CF support so i can create applicatons... but am i able to create Dlls? also i don't have clue about creating dll's at all, especialy those for WM5. is it even possible with .net? is there any chance for me?
i know, i know, i shoud start to use c++ long time ago, but i'm affraid it' might be a bit to late for me;]
ps. is there anything like WM5 sdk, any guide kit for programmers, specs of any kind? where to look for it? thanks for any help. please note, i'd like to become one of you guys, i could even be of some value;]
heard somewhere that today plugins
cant be written in .net
here is a link to the subject of today plugins
http://forum.xda-developers.com:80/showthread.php?t=234162&highlight=codeguru
thanks, gonna try it in a minute.
(today unbelievable happened - my wizards battery got empty )
interesting. i'll consider switching to c++. as far as i understand it's not normal C, its some kind of mobile oriented c? but no connection with .net? how does it work?
Ok.
C++ is an extension of C to include object oriented programming. The language is not specific for mobile devices, so any book / article on the subject will do for starters.
I taught my self C++ after learning Pascal (Delphi is for Pascal right?) in school and it was quite easy because the languages have similar structure.
Your second stop is to learn WIN32 programming. I don't know how Delphi deals with APIs and function exports (that's what you need for DLLs).
Basically WM programming is very similar to desktop windows programming, except for a few miner difference (like all APIs using only Unicode).
You can download a free development tool called eVC 4 from MS. It looks exactly like Visual Studio 6 if you have any experience with that.
Unfortunately system DLLs like plugins can not be written using .NET but if you search MSDN (I really don't remember the link), there is an article on how to use a basic C++ DLL for the plugin and delegate all the real functionality to a .NET DLL.
Good luck.
yes, delphi is much like pascal
i know it's not that hard if you mean the structure. i just don't know how to start. in fact i got myself evc yesterday, after what you say i'll take good lok at it as soon as i prepare some room on my HD.
Delphi does well with windows api - as far as i can tell, i played with theese a bit so it shouldn't be hard to catch up when starting with c++. other thing is i never did dll, although i know how it works in general, i also used other peoples dll's in my programs. will do i hope. also, Rudegar provided us with good tutorial/example on today dlls, so i hope i'll be able to expand it. the only thing, i'm a bit anxious. you say evc is good for starters? ok, going to give it a try.
what a week, four days, four new RAD environments already
delphi is object pascal which is an extention of pascal like c++ is of c
c programs should compile without any problems in c++
Hi,
I saw a way to develop today plugins in .net : http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnppcgen/html/TodayScrn.asp?_r=1
I did not try and I guess it will slow down the device as .net is not very fast, but you can try...
Good luck

VMWare For WM6?

I work in software packaging... and I use VMWare a lot for different builds etc.
I was wondering if there was such an application for mobile phones. like VMWARE that I could test ROMs on etc. before putting onto my phone?
Apologies if posted in the wrong spot etc.
Regards.
That WOULD be a useful tool, such as an emulator??
Dont the windows mobile 6 sdk tools come with this sort of thing ? But I dont know if u can load a rom from here into it. But I know it comes with a base rom to use for testing, if your developing with Visual Studio or something.
twist said:
Dont the windows mobile 6 sdk tools come with this sort of thing ? But I dont know if u can load a rom from here into it. But I know it comes with a base rom to use for testing, if your developing with Visual Studio or something.
Click to expand...
Click to collapse
Correct, the emulator bundled with the SDK is only for testing programs which will run on it.
What we want is a virtual device which will act just like the hermes hardware, that way we can test unbricking techiques etc...
Something like this would indeed be a huge step for developers and cooks.
VM for WM
All you need are the environmental configuration details, ie the parameters that for the sys config and build out the vmx file.
There's no way you'd get assistance from VMware on this, ut if you think about it there are what ... 12 pre-set environments in VM-WK6?
I reckon if you debug one of these, hack away at the profile, RAM, cpu requirements (cycles, Hz, etc, etc) then you are most of the way there.
There is only a finite amount of environmental configurations, it's about controlling those.
Have a look at the VMware site, go to virtual appliances, and see how people have built the base out on some of the simpler appliances
http://mobiledevdesign.com/software_design/open-kernel-labs-okl4-software-0521/
garyjmobey said:
http://mobiledevdesign.com/software_design/open-kernel-labs-okl4-software-0521/
Click to expand...
Click to collapse
That's not quite with the topic here. From what I got out of that is they are working on running 2 operating systems on 1 phone. Not something like a hermes emulator.

App idea, need help starting. :)

Since there isn't a SAPI that's accessible for windows mobile developers, I was disappointed. I just got a Samsung Omnia and I'm quite enthralled by it. I want to write an application that does speech recognition and text to speech.
eSpeak is a program easily ported. It's been done and comes with a how-to guide for compiling for windows mobile 6.x. As far as text to speech goes, then, I'm not too worried (it will be fun developing a voice.)
I got pocketsphinx to compile. The project settings says it was compiled for an x86 machine. Do I have to compile it for the ARM architecture, or do I just need to compile the final application for the ARM architecture, with the pocketsphinx dll somehow baked into the end result?
Also, I was wondering if anyone could point me to a beginner level tutorial for developing applications on windows mobile. I'm brand spanking new to developing on mobile devices, and while the language specific stuff is old hat, there's lots of transitional stuff I need to learn. Any links are appreciated. I'd like to not brick my Omnia by doing something silly, so I'll be developing strictly on my desktop until I'm satisfied with the safety of whatever it is I'm developing.
Thanks, awesome community here!
Hey there JR. As far as WinMo development, here's a list of the basic tools you need:
1. Visual Studio 2008 Professional SP1 + patches (or VS 2010 which is in beta now)
2. Windows Mobile 6 Professional and Standard Software Development Kits Refresh (device and cellular emulators, some samples, download from msdn.microsoft.com)
3. Windows Mobile 6.5 Developer Tool Kit (6.5 emulator images, gestures API etc - also at msdn.microsoft.com)
Assuming you will be writing managed code, the most widely used language is C#.
As far as books, unfortunately WInMo is not getting much love these days (hopefully this will change with WinMo 7) so there's little new but the best book out there IMO is "Microsoft Mobile Development Handbook" by Andy Wigley (2007).
The good news is that there's a plethora of on-line material, easily accessible from the aggregate Search screen in Visual Studio. Sites like codeguru.com, social.msdn.microsoft.com/Forums/en-US/windowsmobiledev, www.c-sharpcorner.com, www.codeproject.com, 4guysfromrolla.com etc are your best friends!
I hope this gets you started! Best of luck with the project.
JRowe47 said:
Since there isn't a SAPI that's accessible for windows mobile developers, I was disappointed. I just got a Samsung Omnia and I'm quite enthralled by it. I want to write an application that does speech recognition and text to speech.
eSpeak is a program easily ported. It's been done and comes with a how-to guide for compiling for windows mobile 6.x. As far as text to speech goes, then, I'm not too worried (it will be fun developing a voice.)
I got pocketsphinx to compile. The project settings says it was compiled for an x86 machine. Do I have to compile it for the ARM architecture, or do I just need to compile the final application for the ARM architecture, with the pocketsphinx dll somehow baked into the end result?
Also, I was wondering if anyone could point me to a beginner level tutorial for developing applications on windows mobile. I'm brand spanking new to developing on mobile devices, and while the language specific stuff is old hat, there's lots of transitional stuff I need to learn. Any links are appreciated. I'd like to not brick my Omnia by doing something silly, so I'll be developing strictly on my desktop until I'm satisfied with the safety of whatever it is I'm developing.
Thanks, awesome community here!
Click to expand...
Click to collapse
Writing in C#.NET Compact -- you have no worries for 'safety', unless you literally do a File.Delete("/Windows/blah");, you should be okay ;P
But yes, It is based off of the big .NET Framework. So if you can do .NET, you can do .NETCF.
acidhax said:
if you can do .NET, you can do .NETCF.
Click to expand...
Click to collapse
I don't agree. In .NET you usually do not need to worry about performance, you usually get away just fine by using a simple approach at the cost of a small bit of performance. On .NET CF you certainly need all the performance you can get. Also, the .NET Compact Framework is heavily stripped down and for a lot of tasks you need to find an alternative, innovative solution.

Language of choice

Just curious..What is everyone's programming language of choice when developing apps for WinMo?
Ive been working (lightly) on a VB program, which is ok, but i feel it isnt as efficient as others might be, and i know efficiency and size is a big issue on mobile devices (obviously)
Depends:
A simple program or one that can be done just using the stuff in the standard system DLLs then I will go for the pain of coding it in WIN32 C++. The resulting application runs like the wind, and can be distributed as a single executable file, no CAB, no installation projects, etc etc.
If I need any web or fancy data functionality, then it is .NET, because it is not worth the hassle of getting all this to work from levels lower down.
Having had lots of previous coding experience in C/C++ then C# is the natural choice, but as far as .NET is concerned, the actual language you code in is irrelevant. It compiles down to IL anyway and the CPU 'JIT' compiles this into its own code before it runs. Hence the performance hit when the program starts and runs.
In .NET, in essence, all you are doing anyway, is creating .NET objects, setting their properties and calling their methods, in order to get them to do what your application requires. A simplistic view, I know, but that's is all there is to it!
The language that you use to do this doesn't really matter, it is just personal preference.
I guess i assumed one language had more efficantcy than another. Like im working with VB atm, and i know it simplifies alot of things to make it easier to use, not sure if it includes all that extra code in the final build or not tho.
I would like to get more pratice with C++ and i have yet to use C# so dono whats different about that.
I would like to eventually start making programs that utilize the .net code and get my programs talking though data on the phone, but im not that advanced yet.
currently im still trying to wrap my head about making a program with a local database. The program im working on currently doesn't store any data, but i would like to to. I would also like (if i get ambitious) to have that program possibly talk to a PC (parent) program and sync with it. But that i think is a ways off.
Also, do the Mobile SDK's look different? The program im working on i started in the 5 SDK, but (obviously) doesnt have Finger friendly IU tools. I haven't looked at the 6/6.5 SDK yet (as id have to start over again i think). Does it have more finger friendly options?
In .NET CF, the finger-friendlinnes and kinetic scrolling and this all isn't available for all controls. Most of them (the classic ones) are, but if you try using scrolling for whole form, it won't work, only scrollbar will. (Probably with some playing with physicsengine and marshalling you might be able to get it working here, too).
In C++, there are numerous examples of this gestures etc directly in SDK, also many other stuff is there.
See, the main difference here is that .NET is fully equipped with stuff to get everything done fast, easy way.
In C++, you must first make this way yourself .
i am using the .net 3.5 framework tho.. Unless you mean C++ vs C#. I thought .net was an expansion on a current language, and not a language on it self (meaning i cant choose to program in .net, its an option to VB, C++ or C#)
I did toy with it, and it appears as tho your right, the forums are the same. IE drop down/combo boxes are not finger friendly. Guess id have to turn it to a button and another form with large radio button options.
C# vs C++ main difference is that C++ is compiled to native code right on first time, which makes it very fast. C# is compiled to MSIL, which is NOT native code yet. When you run c# app, the code is being Just-In-Time (JIT) compiled to native code, which makes it "longer" to load and "slower" to run (usually that makes about 20% of speeddown on classic PCs with very optimalized C++ same code - it probably already is lower, this is a bit older result of testing).
C# has those nice features that it can't get out of its memory etc, the JIT is almost unhackable, so you can't write viruses in it etc.
As far as the SDKs are concerned, there are slight differences from one version to the next but they can be quite difficult to spot.
They can become issues, when code written to run on one platform is run on one several generations away. I have a program that was written in C++ WM2003. Works under all versions of WM until 6.5.3, when the About Dialog box fails to close if the (X) button is pressed. Turns out another value has to be added to the dialogbox flags field to get it to behave properly.
This has been a feature of SDK's from WM 5.0 onwards, but the WM2003 SDK is unaware of it. You have to add it manually to the shell code created by the SDK,
Progress I suppose. The full article is here:
http://forum.xda-developers.com/showthread.php?t=635063
Treo 700xw Verizon Spanish language
Hello fellow .... I'm new to this forum
I have a Treo 700wx and I live in Mexico ...
My Treo is Verizon's company and is currently with the version 1.22 ...
My problem is that it is in English and I need to change the language in Spanish ...
Thank you for your support both the need
Greetings
stephj said:
As far as the SDKs are concerned, there are slight differences from one version to the next but they can be quite difficult to spot.
They can become issues, when code written to run on one platform is run on one several generations away. I have a program that was written in C++ WM2003. Works under all versions of WM until 6.5.3, when the About Dialog box fails to close if the (X) button is pressed. Turns out another value has to be added to the dialogbox flags field to get it to behave properly.
This has been a feature of SDK's from WM 5.0 onwards, but the WM2003 SDK is unaware of it. You have to add it manually to the shell code created by the SDK,
Progress I suppose. The full article is here:
http://forum.xda-developers.com/showthread.php?t=635063
Click to expand...
Click to collapse
I noticed something else odd. When i run the app on my pone, the resolution is off. Now everything looks ok, i just mean that when i run it on my phone, theirs alot of "white dead space" at the bottom. I can only guess this is due to the SDK's catered to phones with smaller screen resolutions (ie Touch Pro) with buttons.. Is their a way for me to switch the resolution to ultilize the full Touch Pro 2 screen size (480x320 i think)?
Funny you should mention that. I replied to a similar post a short while ago. I'm not going to type it all in again, it's here.
http://forum.xda-developers.com/showthread.php?t=637417

SharpDevelop: a VERY simple question from a beginner

Hi everyone.
I'm a beginner in Pocket PC / Smartphone development, though i have some (amateur) experience in creating PC apps (Delphi, C++)
So i just need a "kick start" to begin working on PPC apps. Like, a code to make an app that draws a window with "Hello world" and an OK button in it, you know
I've downloaded the SharpDevelop environment, because it looked like the best freeware alternative to Visual Studio. However, i have to admit i've downloaded the 1.x version, as i have a very old computer. But if it's critical, i can try and install 2.x or 3.x.
Anyway, the question is: how do i create a project for Pocket PC / Smartphone? All i see are options to create PC projects... But i saw SharpDevelop in the D&H wiki, so there must be a way to use it for it, right?
Big thanks in advance for answering my very silly question
upd: also, do i need any special device emulators to run the project, or... w/e
kiruch said:
Hi everyone.
I'm a beginner in Pocket PC / Smartphone development, though i have some (amateur) experience in creating PC apps (Delphi, C++)
So i just need a "kick start" to begin working on PPC apps. Like, a code to make an app that draws a window with "Hello world" and an OK button in it, you know
I've downloaded the SharpDevelop environment, because it looked like the best freeware alternative to Visual Studio. However, i have to admit i've downloaded the 1.x version, as i have a very old computer. But if it's critical, i can try and install 2.x or 3.x.
Anyway, the question is: how do i create a project for Pocket PC / Smartphone? All i see are options to create PC projects... But i saw SharpDevelop in the D&H wiki, so there must be a way to use it for it, right?
Big thanks in advance for answering my very silly question
upd: also, do i need any special device emulators to run the project, or... w/e
Click to expand...
Click to collapse
It's not a silly question mate - it's a perfectly good one. Unfortunately, I don't think that you can use SharpDevelop to create .Net CF applications easily. The Windows Mobile SDKs come with plenty emulators (to answer your latter question), but they're Microsoft, and therefore they're for Visual Studio. It's really easy with Visual Studio - you just install the SDK and select a smart device as your target when you create a new project. It just works.
http://www.microsoft.com/downloads/details.aspx?FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e
However, as far as I'm aware, you can't use VS Express (the free version), as the SDKs only work with full versions of VS. If you can get hold of that, I'd recommend it.
I do remember seeing a website talking about using SharpDevelop with the .Net CF, but it was sketchy and didn't promise it would work. Maybe google a little more to make sure about that, but I'd strongly recommend a copy of VS Professional, if that's an option.
If you are a student, you can get VS2008 for free (www.dreamspark.com)
If you are not a student, you can get VS2010 RC for free (works for another 100 days from today).
I use Sharp Develop to program in C# for my phone, and it works fine.
However, it's possible that smartphones are only supported in version 2 and 3 (I never tried version 1).
In the newer versions, when you start a new solution, there will be an option to start a Compact Framework Project.
Some code that is automatically added when adding controls to your form, will throw errors and will have to be deleted. There is more information on that in the forums at Sharpdevelop.
Good luck!
It depends on what u want to program in. .net c# c++ ect. Tho if i were u i would try and get VS. If your going to do c++ i can provide some examples, but not for anything else xD. GL.

Categories

Resources