hi guys, this is normally the best place i have found information, so thought i'd ask you lot..
i've have decided to teach my self programming for windows mobile, seems best (easiest) way to start is with c#..
my first attempt will be sms counter (in/out going) same with call times, based around contract period, also my be a blocker for both sms and calls..
yes i know there are lots of apps for this already, but how else will i learn..
doing my research, i have found out that c# itself can't access the phone to hang up calls, but i have found a tapi wrapper that does. I have also read that c# cant access outgoing sms from other apps (to create a counter, or even block outgoing to some/all numbers), but can access incoming. is there a simular wrapper for sms?
or would i be better off just learning c++?
Hmmm, well I would personally recommend that you just go ahead and learn C++ because what you will find with C# is a couple of things:
1-It is slower because it has to load up multiple DLL's to run (.net CF)
2-It is harder to code better programs because the functions are limited
3-In the end, to get the better programs you will just be P\Invoking a lot of C++ based functions.
So in the long run, for efficiency, for programability, and for conveneinece, it seems like C++ would be the better way to go.
Hope this helps
cheers, makes sense.. i might carry on with what i'm doing in c#, finish something off before start something new..
what resources would you recomend to someone starting out in c++ for windows mobile?
stuff i read (mobile programmers hand book, step by step c# and visual basic) don't really teach me way i learn, hard to explain, but wasn't impressed with them.. for example i taught myself basic PHP and MySQL, by having a idea and trying to do it, if i can't google it till i can, not by having some code and editing it as in them books, want a book/tutorial that goes from the beging of a program.
hope that makes sense, off to hunt for c++ then lol
I totally understand what you are saying Frosty....
I have yet to really learn C++ because all the tutorials and manuals i get are not very good (or I don't seem them as good at least).
I guess the best place to start, is to download the SDK (i dl'ed both pro and standard) and analyze the examples! That is how I learn, I just gotta look at code and follow it, and eventually I figure some of it out.
It wouldn't hurt to google up function calls and some other stuffs too...
If there is someone who is adept at C++, could they explain to me how C++ documentation works? I find it is VERY hard to find decent documentation for C++ ... (Hence why i started with C# ... i found more docs on that).
I found http://www.functionx.com/win32/ before, thought it was quite good, but haven't some anything simular for WinMo. there really is little documention about for beginers
followed http://msdn.microsoft.com/en-us/library/bb158526.aspx (basic hello world) 272 lines in just the main source file! but no step by step to explain everything.. time to struggle along lol
Related
First off I would like to say thank you for the developers on this website that make my phone better than ever. I would love to contribute in the same way but I lack the skills I need.
Long story short, what is the best way to learn development for wm from scratch? Are there online courses I could take? I would love some in depth training on this! Any help is greatly appreciated
Don't expect that you learn all this stuff with the waving of a magic wand, or a site that hands it all out on a plate. It is going to be a long hard slog to get any good at this......
Having said that, download the Microsoft Windows Mobile SDK for the version you want to target. Then have a look in the SAMPLES directory that gets installed with it. It will be in the \Program Files\ directory for the SDK version above. It contains several examples for C++, C#, and VB, and the C++ sampes are also WIN32 , ATL and MFC. They are also superb examples of "how to do it" code. Looking at them, and trying to understand them is a good start. The hard work is still up to you, but it is worth it.
Also try this:-
http://msdn.microsoft.com/en-us/library/ms184401.aspx
Good advice, I found looking at the videos a great help; http://msdn.microsoft.com/en-us/windowsmobile/bb495180.aspx
The only problem is, there is too much info available. For 1 solution there 6 ways to create it..For some applications on this site I asked the developer for some help. Some of them are, when online, really helpfull. Look for open source projects, not to old, and download and debug them.
Hi all, I've been using this forum for a few years and it's fantastic!
Anyway, I'm at University studying Network Management and this year I have to write my dissertation; a final year project.
For this, I've chosen to learn how to write and develop windows mobile applications and to develop an application that will update a user's facebook status with a URL to Google Maps, showing their location.
Now I've seen applications that can e-mail a URL of a google maps location but never one that integrates with Facebook..
Could anyone offer me some advice on where to start with WM development and any tips on writing the program I intend to create? I have a copy of Visual Studio and have a tiny bit of experience programming C++.
Any input is much appreciated! Thanks very much
Jamie
If your app is web driven, which it sounds like it is, drop the C++ and move straight to C# .NET. You can use C++ with the .NET CF framework but the casts one has use in order to get it to work, make the code hideously unreadable. C# is far more more appropriate.
Web .NET objects are quite easy to use, the problem appears when you try to decide exactly which object/class you require, then which of its properties to set, and then which of its methods to use to get it do what you want, the latter being further confused by which of its overloaded methods you should use. To summarize, the .NET CF framework is incredibly powerful, but at times confusing to the point of distraction, as there are several ways to do the same thing.
stephj said:
If your app is web driven, which it sounds like it is, drop the C++ and move straight to C# .NET. You can use C++ with the .NET CF framework but the casts one has use in order to get it to work, make the code hideously unreadable. C# is far more more appropriate.
Web .NET objects are quite easy to use, the problem appears when you try to decide exactly which object/class you require, then which of its properties to set, and then which of its methods to use to get it do what you want, the latter being further confused by which of its overloaded methods you should use. To summarize, the .NET CF framework is incredibly powerful, but at times confusing to the point of distraction, as there are several ways to do the same thing.
Click to expand...
Click to collapse
Agreed.
I just started with an C++ service. I'm getting there but man o man.
Hi guys, now I know this is a BIG request, but I was hoping someone might be interested in helping me begin to learn the different aspects of programming.
Now I know I cant just "hop on the band waggon" I need lots of training before hand in different programing languages, but the one I really want to understand is c# (thats what most windows mobile apps are built on right?)
So are there any really good recomended beginners guide you guys could suggest to me to get me started.
Sorry I must sound like I dont have a clue xD
(well I dont)
Thanks in advance
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
RAMMANN said:
Hop on the band waggon? I guess you'd rather have to jump in cold water!
I suggest buy a book. If you actually spend the money on it then it's bigger motivation to make something out of it. There's even a book about Windows Mobile .NET programming. What else could you ask for? I don't have the link at hand but you should easily find it on Amazon.
Click to expand...
Click to collapse
Hey thanks for the speedy response,
are you refering to this?
http://www.amazon.co.uk/Programming...=sr_1_1?ie=UTF8&s=books&qid=1264201954&sr=8-1
It looks pretty nice, and will it teach me the basics?
yes, for example. or this one:
http://www.amazon.co.uk/Microsoft®-NET-Compact-Framework-Reference/dp/0735617252/ref=pd_sim_b_5
If you are really looking to learn programming, I would suggest against starting with Windows Mobile development. .NET framework for Windows Mobile is very lacking, and in order to do even simplest things you end up using Interops (way of calling native libraries written in C++) or searching/writing libraries on your own.
.NET (and C# by extension) is a multi-platform framework. Start with simple Windows or Web development. Read up on OOP development, find some simple examples online and start a very small, easy to write project.
Once you can write some simple applications for Windows or Web, then you might want to start looking into Windows Mobile development.
Before you start spending money on books try Microsoft's Beginner Developer Learning Centre a go. There are lots of video tutorials which will help you get the basics down http://msdn.microsoft.com/en-us/beginner/dd435692.aspx.
It's not specifically for windows mobile development, but most of what you will learn is transferable.
Once on the website, click "Windows Track" and then "Tier 1", tutorials are available for both C# and VB.NET.
The guy that made the BDLC tutorials for Microsoft also runs http://www.learnvisualstudio.net/, there are a few more free tutorials there too on more advanced topics, a subscription to the site will let you get all the videos.
And look for open source applications like "ReRemind", "Freda" or "RemoteTracker". If you debug these you can learn alot.
ajhvdb said:
And look for open source applications like ... "Freda" ... If you debug these you can learn alot.
Click to expand...
Click to collapse
No No No please don't use Freda as an educational example It's the first .NetCF app I wrote and I really am not very proud of some parts of it. In particular, I only figured out the right pattern to use for 'settings' forms after I had written several already. Some day I will go back and tidy up the code and document it properly. But right now I am still adding features ...
Jim
dont worry, if i look at my old code it's bad too but still works
Took a look back for a few pages, and did a couple quick searches. Didn't quite find enough info.
I am wondering the best approach to take when converting a program to be compatible with and run on windows mobile.
I don't currently know any languages so, I would have to start learning from the beginning.
Thanks for any info
from the little I know about programming, the way an application (or games) works on windows is nothing similar to the way a program runs on windows mobile, so you would actually need to start from scratch... There are however some tools to make the job easier with older programs, like Dosbox... but I don't know if it's what you want.
The most amazing think for me is that, out os 61 views on this topic, the only person that bother to answer is NOT a developer (me)
Convert app? Impossible. With source code it is possible, if you adjust UI to fit the screen and get over some limitations and many other things.
Good is .NET on this, because if you install .NET CF on your PC, you can run apps built for winmo directly on your PC. Only issue is when it tries using other than normal libraries from GAC and tries using InterOp. That library would have to be recompiled for win32, rather wince-arm (back to 1st part). The same, the app has to be made that it is compatible with both file paths - remember that WinMo doesn't use C:\Windows but \Windows etc. And .NET CF is highly limited compared to desktop version.
Thanks for the replies.
I'm not looking for a simple way to convert programs as I'm sure it is impossible. I'm expecting to have to pretty much start from ground up.
I've seen some games such as Pocket Diablo(some others here http://www.jamesbeckingham.com.au/Default.aspx) as well as Starcraft that someone here was working on.
But I'm just wondering the best approach to do work like these guys. As there are some games I would like to bring to mobile.
These games work pretty much that people make the engine from scratch, with many hours in disassemblers, hexeditors etc they find out how does the engine load graphics from those huge files etc and they add it to their engine. Usually.
Its possible... but often more work than it is worth
OndraSter said:
These games work pretty much that people make the engine from scratch, with many hours in disassemblers, hexeditors etc they find out how does the engine load graphics from those huge files etc and they add it to their engine. Usually.
Click to expand...
Click to collapse
Exactly. The hours put in to "porting" these apps to windows mobile is often close to the work it would take to make the game from scratch. So if you are not familiar with coding, disassembling code is far outside your scope. However, when finished, these games have more of an original feel, but often work less effective. This is due to the translation of using mouse clicks to touch input. Games such as diablo rely heavily on having two mice buttons to click. A total remake would be less like the original but might compensate for the new control scheme.
Both ways are possible, but they are both also complicated and involve a great deal of work. Not to mention how unhappy blizzard is with people using their artwork, even if the game is absolutely free.
Sorry but, none of you are really being helpful..
I do not expect this to be easy. I am expecting it to be a long process, and telling me something that I already know over and over doesn't help me get started. I've already said that I expect to probably have to rebuild these from ground up..
I know what is ahead of me and want to do this stuff, other wise I wouldn't be asking.
So if anyone knows the process or at least where I could get started. Please let me know. Otherwise I'll just start with Java then C# until I find my own way into doing this.
From personal experience of porting a game ( http://forum.xda-developers.com/showthread.php?t=717274 ), it will take awhile. Here is the process I used when making the game:
1) Collect image resources if any are possible to be used.
2) Research what kind of engines to use. I made the mistake of trying to use the basic image function in C#.net, which was a waste of time. Then I switched to GDI+ and haven't had any problems since.
3) Make a list of things you want to do on the program. From the required things to the extra fancy features. Sounds are extra features.
4) Prototype A LOT. Find what you want to accomplish, break its parts down into basic actions, then prototype of how to do that action.
As a language to start with, I personally recommend C#.net because its easy to use. It doesn't have the speed of C++, but it does have the #region/ #endregion functions which have helped me ENORMOUSLY with writing code. The region code can be minimized. With 2000+ lines of code per class and about 20 classes, minimizing code makes moving around easier.
Check the XDA boards or search online if your lost. If you need more help on porting code or making functions to do specific actions, message me and I'll gladly help.
I've been taking some classes in C# programming at my University. I'm trying to attain a Computer Science degree and I feel like I've not learned much but a mild foundation for what I can do with C# programming and would like to expand my knowledge, little by little. I feel as though I have a pretty firm grasp on the basics and would love an experienced hand guiding me in the right direction towards getting me better ready for the job market after college. I'm currently applying for internships and would like to be well prepared.
Detayl said:
I've been taking some classes in C# programming at my University. I'm trying to attain a Computer Science degree and I feel like I've not learned much but a mild foundation for what I can do with C# programming and would like to expand my knowledge, little by little. I feel as though I have a pretty firm grasp on the basics and would love an experienced hand guiding me in the right direction towards getting me better ready for the job market after college. I'm currently applying for internships and would like to be well prepared.
Click to expand...
Click to collapse
The best way is to simply use it as much as possible and challenge yourself. I've been working as a developer for nearly 20 years and I'm always finding new things that I don't know how to do. Learning to search effectively is probably the best skill any new developer should hone.
If I were you I'd start out with something not too difficult, like a simple text editor application (make your own version of notepad!) That will give you some basic skills like simple UI design (menus, controls anchored to the form etc.), file reading/writing (good exposure to streams unless you use the quick and easy methods). It's just a general basic all-rounder. Then expand on it - make it so the pages open in tabs. That will teach you about collections (the tab pages, in this instance) or MDI child windows.
There are some great resources available online, but I'll always suggest Stack Overflow. If you don't know it then google it. It's part of the "Stack Exchange" collection of Q&A sites and is probably the most reliable place on the web for programming answers.
Basically, don't try and learn it so you can do it. Do it so you can learn it.
I hope this helps - good luck, and most of all, have fun!
Archer said:
The best way is to simply use it as much as possible and challenge yourself. I've been working as a developer for nearly 20 years and I'm always finding new things that I don't know how to do. Learning to search effectively is probably the best skill any new developer should hone.
If I were you I'd start out with something not too difficult, like a simple text editor application (make your own version of notepad!) That will give you some basic skills like simple UI design (menus, controls anchored to the form etc.), file reading/writing (good exposure to streams unless you use the quick and easy methods). It's just a general basic all-rounder. Then expand on it - make it so the pages open in tabs. That will teach you about collections (the tab pages, in this instance) or MDI child windows.
There are some great resources available online, but I'll always suggest Stack Overflow. If you don't know it then google it. It's part of the "Stack Exchange" collection of Q&A sites and is probably the most reliable place on the web for programming answers.
Basically, don't try and learn it so you can do it. Do it so you can learn it.
I hope this helps - good luck, and most of all, have fun!
Click to expand...
Click to collapse
Thanks! I was just thinking of making this my first project as well. I've done some random things such as a Base10 to Hexadecimal generator, in both the console and WPF. I was thinking this might be a good project as well. I just don't like the fact my school hasn't asked too much of us, but from what I've read that's common. I just want to be prepared to enter the job market so that I may hone my skills. I guess I'll get working on researching what the basic requirements of a text editor is, and how to start saving/opening/creating .txt files.