Hi Vijay555, you keep releasing amazing and useful utilities for WM5 / Universal, I have read many of your posts and note that you consider yourself almost a novice in programming C. What I would like is a list of the applications, tools and reference material which you work with when making your utilities. I too would love to write some small bits and pieces for the Universal and too save me the research and help me avoid any pitfalls you have come across, perhaps you can give us all an outline as to your particular setup?
Keep up the good work Vijay, we do all appreciate it!
Regards
gooroo: many thanks for your kind words.
Let me first say that I am an absolute amateur in programming on the Pocket PC. As I've said many times, there are many incredible guys (and gals!) on this site and it's a pleasure to know you all, but none of my little releases are anything compared to the stuff they bring into the world. Anything I say below is certainly full of errors, so take it all with a “pinch of salt”!
Second: I'm working very late in the office these days, but during the little free time I have, I am working on redesigning my website, hopefully to also launch a blog and ultimately a new forum (I don't host my current forum, and it goes down from time to time). The blog will carry an RSS feed to show when new releases are available, but also address the problems and lessons learnt that I encounter when programming.
But, to start you off, first some info about my “experience” or lack of!
My background is not as a programmer. I have played with computers for years, and am “self taught” in VB. Whatever anyone says about VB not being a real language, I say that it's still the best way to do quick and effective GUI based PC work. And with VB .net, it's as powerful as any other language. The kind of stuff I was doing with VB was about as far as VB could go, and I’d say it’s still a very competent language and a good one to learn from. I still program in VB daily, and built my own webbrowser in it, and I don’t use any other browser!
So, VB learnt to a reasonable degree. And I've written many little (and not so little) programs on the PC. However, after upgrading from a p900 to a Magician late last year, there were many small things that I saw weren't quite "right" with WM2003. I was quite pleased with the OS, but a few things that were clearly missing for it to be entirely satisfying. However, I was very pleased that it was a pretty “open” system, in that it was basically a system I could learn to program for. That’s the biggest difference between our phones and non-“smart” phones. Remember, it’s us that make smartphones smart!
So, I thought about using eVB, embedded Visual Basic, for the phone. But first there’s no guarantee it’s going to be supported in the future, and it relies on a “run time” to work. For anyone that doesn’t program, a run time is basically an interpreter that takes eVB code and turns it into code the phone understands, providing facilities in a kind of “library” of functions the eVB code can call upon. Although useful, this interpretation takes time, and so can be slower than non-interpreted code.
At this time I also had the pleasure of meeting a wonderful guy who works for Microsoft, David Goon. Although at the time he was showing off how amazing .net is, I asked him about the best way to start programming Today plugins (which was what I wanted to program at the time), and he said that C++ was still the most effective way. Although Today plugins can be written in .net, .net still relies on a kind of run time (called the Compact Framework) , and this can again slow things down.
Some background about .net: this is not one language, but basically an incredible idea for “unifying” languages. With .net, you can program in any language supported by it, including C++, VB, and many others (I understand there are about 20 languages or so!). These are all effectively “front ends” to a huge library of functions – the computer again “interprets” your chosen .net language into code it can understand. But what this means is that all .net languages have the same “power” since they all ultimately rely on the same “root” library.
Now, anyone learning to program should have a look at a few online tutorials and try to get the feeling for a language they like. All have strengths and weaknesses. As far as I’m concerned, I had no choice, I had to learn C++ for my Today Plugins. C++ is, as the name suggests, an extension of the C programming language (the name is a kind of joke only programmers could get away with. ++ in C means “increment”, increase by one – so C++ is C with a bit more!). But C and thus C++ are old languages! But it’s effective and powerful. It has been said that the vast majority of the Windows operating system has been programmed in C++.
So, why isn’t everyone programming in C++? Well, it’s not always the best way to do things, “new” languages are still being developed, and C++ has itself been expanded by Microsoft into a language called C# (C sharp). I can’t tell you about any languages other than my own experiences with C++ and VB. Maybe someone else can provide some details? But going from VB to C++, one of the biggest things to learn is about memory management.
VB allows programmers to be very lazy with memory. If you need some memory, you just ask for it in a rough way. In C++, at every stage, you must tell the system: “I need some memory. It needs to be this kind of memory. I’m going to use it for this long. It’s going to contain this kind of data”. That takes a lot of learning – you need to form a lot of new habits, and it’s easy to forget them, which can lead to crashes, or “memory leaks”, where you forget to “give back” the memory you asked for, so over time the system memory just “disappears”.
Because C++ is very strict about memory, it also helps it to be very precise, very fast and effective. C++ is faster than .net normally. But, one major reason why .net was developed was because of the memory problems. In C++, if you say “I need 10 bits of memory”, and then you try to put 15 bits into that space for some reason, what happens? It overflows. That overflow might not be noticed… but it might be overflowing into another important bit of information: like when you spill coffee on your white table cloth, you’ll notice it! This kind of overflow can cause major crashes, and it’s a favourite way for hackers to crash your operating system or server, put viruses onto your system, or run pirated games on your xbox. It’s an exceptionally useful technique to learn for that kind of hacking, but ask me about that another time…
So, “buffer overflows”, as they are known, are bad. And C++ makes it very easy for a programmer to allow them to happen if he’s not careful. And that causes crashes etc. Who’s to blame? Normally the programmer! But .net and some other languages are designed to catch this kind of stuff. They are designed to prevent these kinds of accidents to make it much harder to cause problems outside of your own programming. This makes the operating system more stable. So .net is good, at a cost of some speed. On your PC, that’s not important, your PC is fast. But your PDA is never fast enough, is it?
The kind of stuff I’m programming is called “Win32”. As the name suggest, Win32 is part of Windows – it relies on the Windows API – Application Program Interface. This is a set of functions the operating system provides to “do stuff” with the operating system. This can be things as simple as putting “…” on the end of a bit of text, or as complicated as logging onto a network and sharing files. You could technically skip Win32 and program these things yourself, but it would be very tedious, and not always compatible between one system and the next one. Software that uses the Windows API should work on any other system using the same APIs.
Note: The operating system on our phones is currently called Windows Mobile (it’s been renamed a few times!) which is basically a version of Windows CE, an operating system used in various types of “embedded devices”, like set top boxes, cars, shop tills and so on.
I’m using Win32 and C++ to do pretty much everything I do on the Pocket PC. There are “extensions” that work on top of Win32 to make things “easier”, eg MFC, the “Microsoft Foundation Class” Library, but my advice is learn Win32 before learning these extensions. It’s always best to know how something works under the skin before dressing it up. So, whatever language you’re learning, I suggest you become familiar with the way Win32 works, if you’re doing operating system type work. It’s incredibly boring, but a skill you’ll keep for as long as you program on Windows. The PDAs have a “subset” of the full Windows API, but much of what you learn will work on a PC and a PDA. The best ways to start learning Windows API is, in my opinion, to browse the MSDN – the Microsoft Developer's Network. This is an enormous collection of information on pretty much everything Microsoft does. I couldn’t code without it.
The second best way to learn Windows API, but also extremely useful, and essential, is to download and review the Pocket PC SDKs (Software Development Kit). These contain information necessary to learn about how to program for that particular device. You can choose which SDK you download – one for Pocket PC 2003, or Windows Mobile 5. I suggest that if you’re learning C++, you should start with the PPC2003 SDK and then move to WM5. You might as well learn to program for both, but if you only learn about WM5, it might not always be compatible with PPC2003. But PPC2003 is almost always compatible with WM5 (since the newer system has expanded the “old” one). And there are still a lot of WM2003 users out there! SDKs on MSDN.
Another good reason to learn C++ is because the programming “environment” you need is basically free! Microsoft makes eVC – embedded Visual C++, available for free from here. Again, whatever you’re programming, free is always a good price, so you might as well download it and start playing! It’s a 200mb+ download, but it contains lots of information for you to start learning.
To properly develop for WM5, and if you’re going to develop in other languages, then you’ll need to get hold of Visual Studio 2005. It’s a very nice environment to program in, particular if you’re using .net. The C++ environment is a much more basic, it doesn’t have a lot of the incredibly useful things built into the .net programming environment, but it works! And if you program in C++, you get used to pain And of course, VS2005 also allows you to code for the PC in the same environment.
Ok. So, at this point you’ve chosen a language, chosen a programming environment, and are ready to start learning to program. My advice now is to stop! Don’t touch the computer - go to a book shop and buy a book, a paper book, not an ebook, on your chosen language, and start reading it. I find holding the tangible book in your hands a much more reassuring way to learn and absorb since you can see how much you’ve got through and how much is left, and it’s very quick to jump from one section to the next. Most programming books come with an electronic version as well, so it’s even better (tip: most ebooks can be converted into a version you can also read on your PDA, so they’re great for long train journeys! Contact me if you need help with this).
For C++, I’m still extremely new, so I started off with “C++ for Dummies” by S. Davis. I’m sure other people would recommend other books, but I’m a Dummy, so it was very useful to me. In some places it’s a bit too brief, in others it’s too detailed. But you’ll learn at least the basics and a bit more, and be ready to move further. It’s a very good place to start! Amazon Link
Next, I suggest looking at the SDKs. They come with many example programs to demonstrate various ideas, and they’re an invaluable resource. At this point, you should also get hold of a PocketPC/Windows Mobile specific book to learn how the operating system works. “Programming Windows CE.NET” by D. Boling is probably the best way to start; he’s extremely readable and this book is excellent. (He writes a lot of the PPC stuff on MSDN!) One thing to note: it’s all non .net C++, despite the name, except for a few pages at the very end. If you want a .net reference book, get a .net book, not this one! But this book is never-the-less essential for anyone learning to program for Windows CE. Amazon Link.
I also recommend “Windows CE 3.0 Application Programming” by N Gratten and M Brain. Not as big as “Programming Windows CE.NET” but more detailed in some areas, less so in others. Amazon Link. If anyone has this book on paper, please contact me.
Ok, at this point, like me, you’ve spent a long time reading and reading and reading. Now start some coding! Learn to program “hello world”, and from there, the sky’s the limit. The website PocketPCDN will be extremely helpful to you. XDA Devs is an astonishingly useful tool for programmers and for learning good and bad habits for coding. I recommend you read every post written by the geniuses on this board. You should already know who they are :wink:
Modaco is also a very good place to search Newsgroups etc.
When you start really getting into this Windows CE programming, you may want to download the Platform Builder trial from Microsoft. Platform builder is basically the tool used by our phones’ manufactures to prepare the ROM and systems we use. You could do the same if you wanted to, but would have to write the drivers etc for the hardware. But it contains an enormous amount of code for the internal workings of Windows CE.
I’m absolutely no expert. I have no experience beyond what I’ve mentioned here. However, programming is extremely time consuming and takes a perverse dedication to a goal. It’s very rewarding when people say your code is helpful to them, because only you can really appreciate how much work goes into it! It’s helpful to be able to survive without sleep, to dream about coding and have the kind of mind that can take problems apart, and hates to give up on a challenge. I recommend that everyone should have some basic idea about coding – for guys, since we can’t create life, creating code is about as close as we get to Eve’s Burden!
I hope this information is helpful! Please comment with corrections, questions and your own helpful advice.
V
PS – if anyone wonders why I’m so egotistical about calling all my programs VJBlahBlah, it’s because I write a lot of Macros to expand Microsoft Word. But for some incredibly silly reason, the Macro dialog in Word has been non-resizable for at least the last 12 years. And when you have a lot of long filenames, it becomes almost impossible to find them. So all of my macros will always be in approximately the same place on the list..
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
A very useful insight into programming vijay555
Vijay, fantastic! This was exactly the reply I was hoping for, hopefully this will inspire others to really get to know there PPC's I know it has for me! I do come from a programming background, the remark of dreaming about coding made me smile, I know exactly what you mean. I have gone to bed in the past thinking about how best to write a piece of code, only to wake up with an amazing, simple and elegant soloution. The links were the icing on the cake btw, thanks again!
Regards
i used to learn vb and c++. I have problems with understanding the use of different syntax and other indepth functions. VJ you are right, it's easy to forget.
thanks for this intro. It enlighten me again to go back to learn about it.
VJ - NEED title bar On/Off for BT, Wifi, Phone!!!
VJ, oh God of that which allows few keypresses...
OK, now that the sucking up is over... ...
I would love to have separate On/Off toggles for BT, Wifi & Phone, w/o having to go to the Wireless Manager screen. I would hook these toggles up to hardware keys in an ideal world.
Any chance you can take on this challenge? It seems that your utilities would allow this kind of functionality (or have you already done this?)...
Thank you!
3Space:
You can make requests for (easy) programs for me to write on my forum. The GPRS app has already been asked for, and I got about half way through and then got distracted by VJBigPhone a while back. Have to finish that.
There is a bluetooth toggle available somewhere. If you can't find it on here, check out www.pdaphonehome.com, it's definately on there. However, I will develop all three at some stage, and when I do, I'll post on here in the usual manner
V
ok, thanks VJ! I didn't think to look for individual applets for each of these, but better than nothing! Looking forward to the VJ version tho!
Guys, does anyone have a copy of the CD that came with
“Windows CE 3.0 Application Programming” by N Gratten and M Brain? My second hand copy came without.
What a name, M Brain. So fake! "A. Genius" "N. Arcissist"...
V
Hi Vijay, hope this helps buddy, least I could do
http://www.nickgrattan.net/Books/WinCE3main.htm
Regards, Simon
Doh, I'm so stupid!
Thanks a gazillion Gooroo. Now to get the "other" app
V
The eMbedded Visual Basic is available from MSDownloads, with the CD Key for free if thats what you are after, eMbedded Visual Tools 2002 is the one I downloaded.
Regards
Cheers Simon. I'm ok for VB, I'm all C++ for now...
Thanks though!
V
And the M stands for Marshall. That really is funny! One of my favourite joke names is R Sole...
Only just seen this one vijay. I like your long post about programming. Really good, inspirational stuff.
Hi Melty.
inspirational stuff
Click to expand...
Click to collapse
Our chat some time back was inspirational, kept me programming!
I like your info on my Frappr page How's the gambling going? You still working for a living? Get your a$$ to the gym...
V
Hi Vijay, Our chat was inspirational to me too. It's always good to find a kindred spirit (or fellow lunatic)!
The gambling is not going so well at the moment. Well, more watching than doing at present, so no money lost. Once it's ready then I will definitely be giving up the day job and spending more time on the fun things in life, like programming and reading books and other geeky **** which I think is fun :shock:
And of course, apologies for not replying until now, but I was at the gym :lol:
question for registry access
hi @all,
i have the following problem: i write an application that should read some value from the registry from my wm5 device.
as IDE i use the eVC++4.
here come the code:
char lszValue[100];
LONG lRet, lEnumRet;
HKEY hKey;
DWORD dwLength=100;
int i=0;
lRet = RegOpenKeyEx (HKEY_LOCAL_MACHINE, "SOFTWARE\\ADOBE", 0L, KEY_READ , &hKey); // in this Line i get the following ERROR
/*
error C2664: 'RegOpenKeyExW' : cannot convert parameter 2 from 'char [15]' to 'const unsigned short *'
*/
if(lRet == ERROR_SUCCESS)
{
lEnumRet = RegEnumKey (hKey, i,lszValue,dwLength);
while(lEnumRet == ERROR_SUCCESS)
{
i++;
printf ("%s\n",lszValue);
lEnumRet = RegEnumKey (hKey, i,lszValue,dwLength);
}
}
RegCloseKey(hKey);
has anybody an idear why this code not compile?
thx for help
bye
I'm just rushing off for lunch, but at a quick glance, why aren't you using Unicode strings, eg TEXT("SOFTWARE\\ADOBE")?
V
@vijay555
that parameter 2 not correct is i'm see too. but why?
Related
hey guys, I'm a career developer with tons of experience in a lot of things except PocketPC. I want to play around a bit with PPC, but would like to hear about the development platforms, languages, etc. that you're using and what you like about them. I don't know anybody personally that's even remotely interested.
I'm currently using VIsualStudio2005/C# for my day job, and am pondering whether that's a good fit for PPC. A lot of documentation exists for both managed and native PPC C# code. Managed code is more like the stuff I do all day.
What I've found so far is that managed code requires runtimes to be installed (already there on WM6 i hear), there's a noticeable delay when starting a managed program, and a lot of functions are missing from the .NetCF.
I'd probably be writing business apps (database stuff, web back-end client/server, etc.) as well as hacks like today plugins, utility programs, etc.
Should I just start right out with native coding, or try and hack away with managed code. What's your opinion?
roboHaxx,
As i'm sure you're already aware of, choice of language on this environment really depends on the application you're designing.
I tend to use Visual Studio/C# for applications that I need to develop rapidly where I'm not too concerned about load times. The .NetCF libraries really helps in ensuring things get done quicker but there's a tradeoff in speed and functionality but not by too much thanks to all the new spec devices that are coming out.
If I'm developing something that doesnt need to get done faster, and I need quick loading times (like today plugins for example), I tend to stick with C (evc4).
Personally I stay away from .NET and all related stuff like it was toxic waste.
As kunz wrote it is too slow for PPC (at least for now) and if you want to use the .NET CF 2 any user with a device prier to WM 6 (which is the majority for at least another year) will have to install 5MB worth of run time.
But there are some very nice apps made with CF already out there like Hitchhiker so it defiantly has its place.
One problem though: if you want to develop system components like today plugins, keyboards (SIP) or control panel applets you will need a component written in C / C++. All those are DLLs that the system expects to export certain functions. This can not be done with managed code, and as far as I know not at all in C#.
One final recommendation: look up all threads started by Vijay555.
He wrote a pretty good summary of programing tools and options for WM devices somewhere on this forum.
Thanks for the replies. I'm think I'm starting to get a grip on this platform.
Sounds like the same principles as programming on a PC. For business apps (like in my day job), the managed, quick-to-market environments like C#, .net and CF2 prevail. But for performance, versatility and access to everything, C is the way to go. C++ if you must.
by the way, I thnk you can create DLLs in any Visual Studio language. I do it all the time with C# and VB. Now whether these DLLs can export the functions that are needed in PPC, I don't know the answer to that.
kunz, you said
If I'm developing something that doesnt need to get done faster, and I need quick loading times (like today plugins for example), I tend to stick with C (evc4).
pardon the dumb question but, what is evc4? A compiler I presume. That was going to be my next question. Which compilers do you like?
eVC is eMbedded Visual C++ 4.0 its a free C++ IDE for Windows Mobile from Microsoft.
It is almost identical to VS 6 (if you are familiar with it).
It won't except WM 5 or 6 SDKs, but any program create on it (with WM 2003 SDKs) will run on any Smartphone or Pocket PC starting with WM 2003 through WM 6.
For older versions you will need eVC 3.
The following pages should provide some useful information:
http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage
http://www.pocketpcdn.com/tools/index.html
Enjoy!
Hi,
I am programmer but I'm new in mobile development too.
I have an ideal to write a program that can speak the caller number instead of ringtone. The problem is that I don't know how to get the receiving call events.
Can we solve this situation with .net compact framework?
Anyone have documents to share?
Thanks
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
I would also be very interested in a thread or good reference on how to start to program app for mobile gadgets. Actually i'm a Delphi coder, and i would like to implement some applications on WM platform, but when i search over internet there's plenty of information, but no usefull information with "real-life" recomendations.
depend on the platform and language one wish to use really
there is c#.net, vb.net c++.net
c++ miniMFC, c++ PureWin32 sdk
oldVB
...
here are some other posts asking pretty much the same thing from the forum
http://forum.xda-developers.com/showthread.php?t=225405&highlight=programming
http://forum.xda-developers.com/showthread.php?t=237932&highlight=programming
http://forum.xda-developers.com/showthread.php?t=241670&highlight=programming
http://forum.xda-developers.com/showthread.php?t=245426&highlight=programming
http://forum.xda-developers.com/showthread.php?t=228043&highlight=programming
http://forum.xda-developers.com/showthread.php?t=317913&highlight=programming
http://forum.xda-developers.com/showthread.php?t=302548&highlight=programming
http://forum.xda-developers.com/showthread.php?t=327164&highlight=programming
http://forum.xda-developers.com/showthread.php?t=305926&highlight=programming
http://forum.xda-developers.com/showthread.php?t=336251&highlight=programming
http://forum.xda-developers.com/showthread.php?t=226412&highlight=programming
codeguru.com got examples of various windows mobile programs too today items and such
about delphi i dont know if anybody got some info i would say borlands site
Thanks rud. I was aware of various other posts, but my question was more of a "How steep is the learning curve?" rather than "How do you do it?".
There was also an element of "How do you do it?" insofar as there seem to be better or worse ways of going about various kinds of app (eg today apps with gesture support) which I am finding a bit of a minefield, but I feel that the new post was valid because I am giving an indication of my experience level and what I am trying to acheive - none of the posts you listed cover the combination of stuff I am trying to do. Reqs like pulling from outlook db and allowing gesture scrolling in a today plugin, I dunno, I may waste ages with C#, for example, only to realise it is a breeze with C++... I also note that a google search for wm programming gesture scroll today screen currently ranks this very thread #5. By tomorrow that'll be a googlewhack then.
Yes, there are various posts about how to get started, but I think maybe a sticky would be in order with a bit of info on the various paths - the vb/c++/c# options are quite bewildering - stuff like
levenum said:
Your question is mainly a matter of personal preference.
Here is my opinion on C++ vs. C#:
C++ advantages:
- Native code is faster than .NET
- Easier access to Win32 APIs
- Ability to write system components like keyboards and today plugins.
C# advantages:
- Saves on coding time
- Allows use of many .NET CF components to quickly accomplish complex tasks.
Please note that I am bias. I hate .NET and want nothing to o with it. Specially on mobile devices that do not have the processing power to spare for the .NET overhead.
Click to expand...
Click to collapse
is really useful, maybe if it were expanded upon, info such as for this route you need visual studio, etc, etc it would make a really good sticky for the dev section.
evilc said:
I am interested in dabbling a little in programming for my Kaiser. I have programming experience, mainly php / mysql, though I have done some C and lots of scripting in my time. My biggest project so far though was an open source google maps mod to put on your website - thousands of lines of php / js code, mysql backend and AJAX tieing it together, some graphics routines etc, so I am no drooling n00b when it comes to coding.
How easy is it to develop basic stuff in WM?
I have access to MSDN, so I can get Visual Studio (2005 for sure, maybe later versions), so I think I have access to the apps I would need. I just ordered some books to help me along, but was wondering if I would likely face a steep learning curve.
All the stuff I want to do is today screen plugins - was thinking of having a bash at writing my own quick contacts plugin - *very* basic - just a vertically scrolling list of names over a transparent PNG button with maybe photos from the address book - I want it to be able to scroll by vertical gesture within an ultimatelaunch tab - is this likely to be quite easy and quite a good "first app" to program?
I was also looking at writing a lite repacement for phoneweaver as the only feature I use is to turn on BT when it detects power but no activesync (ie auto turn on BlueTooth when I am in the car and the device is cradled) - maybe a hack to force the keyboard backlight on in the same situation.
I have bought:
Microsoft® Visual C#® 2005 Step by Step (Microsoft)
Microsoft® Mobile Development Handbook [Paperback] by A. Wigley; Daniel... (Microsoft)
Comments / suggestions?
Click to expand...
Click to collapse
Hey!
Congrats on getting your hands on with Windows Mobile...
The easiest way is to download Visual Studio 2005(2008 You have it on MSDN) - and create a new application with it.
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Still slogging my way thru this...
I got hold of an MSDN disc, first off I installed visual studio 6 - bad move.
Had to uninstall before trying to install VS 2005, now I think it has screwed something up, every time I try and create a "Smart Device Win32" project, I get a "Project creation failed" error. I may have to re-GHOST my OS to get rid of it
So much time just finding out what apps I need and what options to choose to start a project...
I found http://channel9.msdn.com/wiki/default.aspx/MobileDeveloper.HomePage which seems helpful
Thanks for responses!
Evilc, you link of msdn is excellent point, many thanks!
I have also just started programming in C++ ..i dnt have any knowledge of any type of codes..i learned every thing frm MSDN libraries ( i have many many of them caz i have VS 2006 VS 2005 and VS 2008 )..i recommend you to work with C++ because it uses less system resources and is fast..hope this helps..check out my Kitchen coded in C++ ( link in signature )
Yeah, I think C++ is definately more what I am looking for from what I have learned thus far.
Re-Ghosted OS - totally fresh XP SP2, installed Visual Studio 2005, still the same error. GRRR!
Visual C++ --> Smart Device --> Win32 Smart Device Project == "Project Creation Failed"
Other Languages --> Visual C# --> Smart Device --> Windows CE 5.0 --> Device Application == Project created OK.
Some posts I have found on the net say it is an IE7 issue, I may try uninstalling that or flashing back to an OS image with IE6 only, but this is really winding me up and taking a *lot* of my time...
I uninstalled IE7 and the problem went away. Woohoo!!
starting programming windows mobile
hello
1. see my web site.
2. see my book recommendations, especially the 'programming windows ce' by douglas boling. It has an example for many things and a today sample too. Most is based on visual c++ 3.0/4.0. Embedded Visual C 4 can be loaded free of charge at ms.
regards
josef
Nice site, thanks.
The windows mobile 6 sdk actually has a today screen sample, along with samples of most of the things I need to do.
neofix said:
It's sooo easy if you know your object oriented programming, as long as you want to create ordinary "office" applications... But if you want to do more advanced things(like creating a today-plugin) you need to go over to c++(even though you can download a .net home-plugin-container which acts like a "loader" for your plugin written in c++) - and also, if you want to create good GUIs, I think you are better off with c++... But then again, I think you need a bit more effort in learning c++ then using c#...
Hope this helps...
Click to expand...
Click to collapse
Are we using the same language?? Cos this (C++ Win32 for Mobile Devices) is by far and above the most difficult programming language to get into that I have ever tried. Yes, worse than ASM.
Trying to code an app that prints "Hello World" has taken me over 5 hours with no success yet - most languages I have a go at it's 5 minutes.
From http://msdn2.microsoft.com/en-us/library/ms901121.aspx :
Code:
int DrawText(
HDC hDC,
LPCTSTR lpString,
int nCount,
LPRECT lpRect,
UNIT uFormat
);
It gives a brief description of what the parameters are, but absolutely no examples and no explanation of what all the parameters do or how to initialize them, so even browsing an example is no use to me.
u can simply try
MessageBox::Show(" your message ");
ather90 said:
u can simply try
MessageBox::Show(" your message ");
Click to expand...
Click to collapse
Isn't that .NET ?
I thought the consensus was that Native Win32 or whatever it is called was the better way to go?
This is part of the problem. I cannot even work out what to put in a search engine to pull out info on the right "flavour" of C and for the pocketpc. It's *so* bewildering.
Hello evilc.
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
levenum said:
Hello evilc.
Click to expand...
Click to collapse
Hello! <waves>
First I noticed you have some trouble with VS 2005. It probably won't be easy now, but if you ever get to format your machine again don't install it (unless you absolutely need some other features).
Click to expand...
Click to collapse
I tracked down the problem when I got home and installed on my desktop. When doing it on the laptop, whilst installing SP1 for studio 2005, I had hit "Not Now" to a reboot request and it had said installation failed. When I installed SP1 on my desktop and said "Yes" to the reboot request, the problem went away, so I guess it was fixed in SP1 but the installer is a bit picky.
For C / C++ programming for WM device I strongly recommend eVC 4 as it is much lighter and responds quicker. (It's a free download as well)
Click to expand...
Click to collapse
Wish I had that advice before as I wasted a day messing around with an MSDN CD, trying to work out what to install and what not. So does the eVC 4 download include an IDE? If not, what do you use?
Second, though you can program for WM in C# and VB .NET which are both .NET Object based languages and are probably much closer in form to PHP and Java then C, you can not write system components such as today plugins in those languages.
You need native code so C / C++ is the only way to go.
(Actually, there is a trick to combine C# and C++ DLLs to create a today plugin where C# will do the main stuff, but its pretty complicated)
Click to expand...
Click to collapse
You don't have to tell me twice to avoid the bloatware ****e
What you need is to learn basic Win32 programming and using the windows API. They are almost identical for Windows Mobile and Desktop windows versions so any book on Win32 should teach you the basics.
(Personally I started with MS book on MFC and studio 6 but I would not recommend it)
Finally:
I would gladly explain the parameters of DrawText but I am not quite clear on how much familiarity you have with the Win32 mechanics, since the languages you are used to obscure them unlike C which gives you extra power but also makes you work much harder to get anything done.
Do you know how to handle messages, and how windows manages all abjects using handles? Any familiarity with GDI?
If not, it will be pretty difficult to explain.
Click to expand...
Click to collapse
No GDI Experience. I take it this would be the library of choice for drawing the screen of a today screen app? Stuff like the HTC Home clock or the new Face Contacts - they would likely use Native C++ and GDI? Doesnt strike me as something you would do with a form.
Also, anyone got the skinny on vertically scrolling by click-and-drag inside a today screen app? Just a case of enabling a parameter? Has to be coded manually? Best way to do it smoothly? If you have seen the Conduits Pocket Player 3.x browse list - how it "eases in" and "eases out" at the ends of the list, has inertia so you can "flick" down the list, the alphabetical bar instead of the regular scroll bar - is that all coded manually or is there an api or something that can help?
Thanks for the help!
I just noticed your apps in your sig - checked out LVM time - noticed there was source - wooohoo! I generally pick these things up by example.
All that code just for a (configurable) clock on one line - wow. Great though, a really good example of a today app - minimal enough in functions so it is easier to suss how it all slots together, but full featured enough (implimented example of an options screen - yay!) to show how to do various things.
And Gnu as well! Nice, this will be the basis of my first test project too I think - at least now I have a framework to test out what I want to do and how to go about it without having to work out how to code the basis of the application.
I thank you from the bottom of my heart sir.
I tried to build it in VS2005, but I got a
fatal error C1083: Cannot open include file: 'todaycmn.h': No such file or directory
A quick google search showed todaycmn.h was part of the SDK, I found the file, dropped it into the headers section of the project, but no joy. I will probs just try eVC.
Oh, and having developed a today plugin, maybe you can answer this one:
As far as I can tell so far, debugging isn't very easy with a today app - something to do with the fact that the dll is not releasable? Is this an issue I will come up against? I hope its not a case of "reinstalling" the app each time you want to test... I was thinking maybe along the lines of have it as a normal app for debugging, then make it a today plugin when you want to build to use it?
I dunno, probably trying to run before I can walk, my books shoulda been here today, oh well. Sorry for all the questions...
@evilc:
Are you using standard Win32 or MFC?
You may want to try using MFC since you get the flexibility of native development but with some nice class libraries that make your life easier.
As for click and drag behavior, that is usually implemented by handling the WM_LBUTTONDOWN, WM_LBUTTONUP and WM_MOUSEMOVE.
When you get wm_lbuttondown you set a flag that says the user is dragging. You use wm_mousemove to update the stylus position as long as this flag is set, then you unset it on wm_lbuttonup.
That's the basic idea anyway. Someone made a post about gesture recognition in this forum a few weeks ago with sample code. You should see if you can find that.
Managed Today Screen plugins
See:
http://msdn2.microsoft.com/en-us/library/ms839442.aspx
for some background on the concept.
And:
http://www.christec.co.nz/blog/archives/279
Outlines what I think is a very ingenius technique for managed today screen plugins.
For those of you that want an easy way to make a today screen app in c#. Chris did all the C++ work for you.
Also I forgot to mention that the SDK samples cover all most every application type you can think of. Most of the good ones are Win32 though.
Also, keep in mind that you can use P/Invoke from your C# apps to call native APIs. So don't let people tell you you need to use C++ just because you can access more api's. I will say that you should use C++ for games, or other apps that require high speed or advanced GUI's (it is VERY hard to do interesting gui techniques with C# and interop, trust me).
And finally, I would highly recommend using the most recent version of visual studio you can get (especially if you're using vista), unless your machine can't handle a newer version. I say so because visual studio gets more and more powerful as an editor with each new iteration and I personally can't go back after I get used to the new features they introduce. And the new versions are almost necessary if you're going to do .net development.
Hello,
After a decade of not doing C, I find that alot of things have changed when programming c++ native for CE. Even things like:
string somestring;
no longer function. Wow!.
strcpy has been replaced with StringCchCopy. Wow, MS has done a number here... and so on...
Anyhow I searched xda and found allot of good threads. But what if I'm looking at re-learning C++, with a focus on CE programming only? What books and other resources would you recommend, its almost like starting from scratch. I got vs2005 + emu + been reading allot of MSDN, did some basic apps. etc.
BTW: How the .... do you declare a variable length string???
and in VS2005 is running the debugger the only way to get the app to start automatically ???
Thanks
*bump*, anyone?
Couple of notes:
1) I strongly recommend avoiding VS, it is unbearably slow and balky.
2) strcpy and all the other functions are still supported by c runtime on CE (VS 2005 complains about them but you can ignore it). The problem is all windows API on CE use UNICODE so you have to declare strings as WCHAR (thats MS speak for unsigned short) and use wcscpy, and such.
3) The only book I know on CE specifically is this and I only read the two sample chapters online, so can't really recommend it. (Though the sample chapters were very useful). What you need is to get a good book on Win32 programming that will get you well on your way.
4) There is an MFC class CString which wraps up all string related functions very nicely. If you are not using MFC but clean C/C++ the only thing I can think of is malloc and free or the C++ versions new and delete.
Check out the links in my sig if you want to see code examples of small but functioning apps.
I disagree with levenum's comment on VS, but agree at the same time (weird I know). I wouldn't use VS for native development because it has A LOT of extra features that I think would be useless for native developers. Also, the lighter eVC++ has pretty much everything you need to write native apps.
I had this book called "Programming Windows CE 3.0" or something along those lines a few years ago. I got it for like $3 on Amazon. If you can find an updated version of that (or even the old version would be useful) then you should buy it. It will show you all you need to know to get started. You can learn the new api's from browsing msdn.
If you're only a little rusty with C/C++ I would suggest jumping right in to the Sdk samples and seeing how they do things.
Thanks, the reason why I wanted to use VS is so that maybe later I wouldn't mind going into MFC. So having one platform would be nice.
So far I have done some basic things, like drawing, etc, but I find I'm having a harder time making strings and including the api's to work. Almost all of the msdn examples fail to compile properly.
I have an old book MFC for Windows 95 by MS, is it even worth looking at ?
robp said:
I disagree with levenum's comment on VS, but agree at the same time (weird I know). I wouldn't use VS for native development because it has A LOT of extra features that I think would be useless for native developers. Also, the lighter eVC++ has pretty much everything you need to write native apps.
I had this book called "Programming Windows CE 3.0" or something along those lines a few years ago. I got it for like $3 on Amazon. If you can find an updated version of that (or even the old version would be useful) then you should buy it. It will show you all you need to know to get started. You can learn the new api's from browsing msdn.
If you're only a little rusty with C/C++ I would suggest jumping right in to the Sdk samples and seeing how they do things.
Click to expand...
Click to collapse
could you provide some links for msdn. also i know how to program in c but how do i compile a program for windows ce could you recommend a free one. thanks
The only way to code for Windows Mobile for free is to use embedded Visual C++. You'll have to google it to find a link.
Once you have that downloaded, check out:
http://msdn2.microsoft.com/en-us/library/bb158662.aspx
The new solution files most probably won't open in eVC++ but you can create new projects and add the source files yourself.
You'll want to look at the samples in the Win32 folder.
robp said:
The only way to code for Windows Mobile for free is to use embedded Visual C++.
Click to expand...
Click to collapse
That's not entirely true - there's still ceGCC (it works on linux or windows using cygwin) - however this one lacks resource (window, forms, etc) editor (but if you have resources already created it will compile/link properly). But it works great with apps where you want to handle all the graphics and user interaction by yourself (like games, or programs with 100% custom UI), for example using SDL, pocketHAL, etc.
Also, wxWidgets seems to have support for windowsCE, and might be made to work with ceGCC, but i haven't tested it yet.
Sorry, I actually meant to put "(I think)" after that sentence lol.
Actually I think you should be able to use any C++ compiler as long as you have the necessary libraries, and I think all the libs you need are in the sdk download. But the easiest route for beginners in native coding is probably eVC++
Well, now i can agree with you
That is, unless you want to create games - in that case ceGCC+XFlib might be a good way to go for someone with general programming knowledge, but not familiar with winCE-specific coding. Some games coded with it (and their sources) can be found on XFlib homepage: www.xflib.net.
thanks for the info
Ok, as I wouldn't mind at a later time going into MFC, and building dll's for mobile. How much "harder" would it be for me to learn VS2005 native for ce instead of using evc++ ?
Just trying to weight the cons and the pros. BTW where can I get eVC ?
Thank you.
Two more free options: PellesC and Lazarus + WinCE add-on
I don't think it would much harder. Once you get the hang of it you'll find that it makes life much easier. If you buy a boxed retail version it comes with a nice book that will take you from n00b to master in a few hours (not really but it's still a great reference).
I think the hardest part of upgrading to newer versions of VS is learning the new project file setup. Atleast that's what it looks like from watching other students at my school go from VS6.0 to VS2k5 and 2k8.
Also, I should note that I prefer VS2008 hands-down, but I don't disagree with other people who say eVC++ is faster. While I haven't done any real native development since eVC++ 4 was new, I still dabble a bit (especially since getting active on this forum) and VS2005 works great to me.
So, my advice would be to use the newest tools available to you, unless money is an issue. But don't be worried about upgrading. Your life will only get easier once you do.
robp said:
Also, I should note that I prefer VS2008 hands-down, but I don't disagree with other people who say eVC++ is faster. While I haven't done any real native development since eVC++ 4 was new, I still dabble a bit (especially since getting active on this forum) and VS2005 works great to me.
So, my advice would be to use the newest tools available to you, unless money is an issue. But don't be worried about upgrading. Your life will only get easier once you do.
Click to expand...
Click to collapse
Well I just got eVC and will give it a try too. But I am pretty much used to vs2005. I do not think I can't afford the vs2008 right now. How much difference is there between 2005 and 2008 when it comes to programming for WM?
I'm looking to create some commercial applications for WM. For the last 10 years I'v been doing .com apps, now I figured I would do some for the mobile platform. We have all the graphics/design/marketing guys for .com, so it should work out just fine for WM.
One thing we noticed when working with exec type people is their frustration, I see exactly how we can help them resolve their frustration with WM, Symb, and java type phones...
Thanks
marek101 said:
Well I just got eVC and will give it a try too. But I am pretty much used to vs2005. I do not think I can't afford the vs2008 right now. How much difference is there between 2005 and 2008 when it comes to programming for WM?
I'm looking to create some commercial applications for WM. For the last 10 years I'v been doing .com apps, now I figured I would do some for the mobile platform. We have all the graphics/design/marketing guys for .com, so it should work out just fine for WM.
One thing we noticed when working with exec type people is their frustration, I see exactly how we can help them resolve their frustration with WM, Symb, and java type phones...
Thanks
Click to expand...
Click to collapse
Honestly I wouldn't rush to upgrade. VS2008 is better, but doesn't add much to the WM development arena.
And if you already have VS2005 and are used to it, I would stick with that and forget about eVC++. You should give the compact framework a try. I promise you'll love it
compact framework, that's a part of the .NET isn't it?.
For the time being, for learning purposes, I think I will stick with the native for now. Once I get a grip, I will explore .net. The thing is I really don't like bulky apps for WM. Most of the apps I came across that required the .net framework were slow, any apps that use the .net with a today plug in seem to really slow down my phone.
BTW is HTC Home plug in written with the .net?
Thanks
marek, it seems to me that you are under the impression that you need VS 2005 to use MFC.
eVC fully supports MFC as well as creating DLLs and MFC DLLs.
It admit the reason I don't like VS is because I only write in native and don't like .NET languages a lot.
Since you want to create commercial apps you should note that any app created with WM 5 SKD will not be backwards compatible with WM 2003 which reduces your clients range.
You should compile with WM 2003 SDK which is forward compatible.
Our primary target audience would be WM6. We will make every effort to make WM5 compatible apps. Yes it does reduces significantly the client base, but also there are many positives...
We are still looking for more programmers for the simple concepts we have developed. I believe this will work out just fine. Having WM5 support is a "would be nice" but not required. WM5 has a bag of problems, 2003 I don't even want to touch it.
Thanks
I have to admit that I love VS because I love using .net
But VS is also a much more powerful editor in general than eVC is. It's still nice but the experience isn't as smooth as it is in newer versions, which is expected since the newer versions build on the previous ones.
I have barely developed anything since the BASIC days on the C64 and Amiga, and now feel inspired to create some financial applications for the Australian market - such as superannuation projections.
How hard is it to develop? A few standard calculations like you would see on a spreadsheet would work, with some graphing.
Most financial applications I have found are pretty basic and don't account for inflation in rising wages and fees, etc.
I believe I could attract at least a dollar for a well developed application for superannuation alone.
I have installed the Android 2.2 SDK and have no idea where to start. I presume this is some sort of emulated Android device I can test my applications on.
Are there any tutorials on how to get started? What's the development language?
All I need to do is create a simple text interface to input a few parameters to run some complex financial calculations on the back end.
A really sophisticated application would pull live interest rates or other data and enter that in.
Start with this:
developer.android. com/resources/tutorials/ hello-world.html
(take away the spaces, I cant post links yet )
These are all great tutorials that will walk you through the basic processes and applications/layouts. The only issue you will have is when/if you decide to go through the "Tabs View" tutorial, there are a lot of errors in the code, and I have no idea why no one have changed it, but you can PM me for the correct version.
If you want some basics on Java, just do a google search, there are a lot of great tutorials out there for beginning Java. I recommend doing this first, just so you have a good understanding of Java(which is the development language), it will *REALLY* help out. You can incorporate other languages, but for the time being, stick with Java.
Yes, the SDK comes with an emulator so that you can test your programs without having to install them on a real device. In addition to what Jimmy said (and I can't stres highly enough that you should start with the Android Developer's website and tutorials), you can go to Stack Overflow which is a programming Q&A website. People there are generally very helpful, as long as you've shown you've actually put some effort into solving your problem before you posted your question.
Fair enough... So it's basically about learning to programme for Java? How hard would it be, realistically, for someone with no application development experience?
You need a basic grasp of objected oriented design & programming, along with an understanding of the Java language. When it comes to gui aspects & all communication with other apps/data on the device, you have Android, rather than the usual Java class libraries such as awt or swing.
How hard? It's doable, imo, but will depend on aptitude. Start with Java & then add in Android when you feel like more material to get your head around.
So basically getting started requires me to learn application development like on any other platform, in OO and Java. I may as well do a course or something then. Would a few weeks doing some sort of intro course help?
I'm sure an appropriate course could be very helpful. Though I'd steer clear of those short courses claiming to turn anyone into a valuable skilled programmer in only xx weeks, if only because the tutor will probably know less than you on the subject. Better one which makes credible claims regarding its introductory nature. A couple of degree level intro modules on OO or Java should be of help.
I am not to sure if this is the correct area for this. But I am wondering how hard it is to make a Android game? This isn't something I want to just jump into, but learn while I am doing it and take my time.
So how challenging is it to someone who has no experience?
Thank You
Do you have any programming experience at all?
If you know languages like C++ or Java you're pretty close already. Android is programmed in Java, and you need to be familiar with Java's memory management to understand what happens behind the scenes since memory is critical on a mobile device. Also you should get some experience with multithreaded programming, since most times you'll need threads to complete tasks without getting the UI stuck.
Android uses a component based architecture that might be a bit unfamiliar in the beginning, since there's no 'main' entrypoint and you have to split your app into 'activities' that talk to each other through 'intents'.
Games present additional challenges, since they often require you to take care of several things involved with graphics and audio, so maybe they're not the ideal first step into programming.
I started programming for my phone on my Touch HD (windows mobile 6.5, using c#). I'd done some java (not a lot, really, and I hated it), some c (a bit, liked it much more) and quite a few script languages.
I have to say, I got into c# with the compact .NET framework VERY easily. It was very straightforwards, nicely syntaxed ... it was just programming as I'd known it. I've made some office apps, one or two games (just for fun, although the apps were meant to be sold ... **** MS for going wp7 and incompatible!; they were solid pieces of software engineering, if I say so myself)
Two weeks ago I got my Desire HD and a few books on programming Android ( O'Reilly, Sam's) and went looking through developer.android.com .
And I have to say, I find it hard! The concepts and how they work together are a bit ... uhm ... distributed. Good software design, but hard on the programmer (and ****ing verbose to actually type in the porgamming! Sheesh!). It took me a while to grok how all these systems are fitting together: to be honest, I'm still trying to make it all jell. All these intents, services, activities, broadcast receivers ... very interesting, but just thinking of the best (or even correct!) way of setting up your porgram is kinda difficult.
But, that's just me, in two weeks time in my spare time. I am getting it now and it is interesting (and, actually, very well set up for what they want android to do/be). c# was just easier, friendlier and faster to get into.
Sorry if this sounds negative: learning a new language isn't EASY, but it is FUN And very informative. If you have a few hours to start off with and then an hour a day, go for it ... but keep in mind there are easier/more straightforwards programming languages/environments than android (or so I think).
I would like to know this too because I got my HTC Wildfire for a few months now and I just rooted my phone yesterday to get into the whole development and modding.
I would like to learn how to make a widget first and then move onto a app/game. My goal would be to know how to create a 2D based side scroller, I would like to recreate "Bio Menace" for the Android. (I have the sprites and maps, now I only need to learn to make it into a game). (Bio Menace was my all-time favorite game when I was a child and I sometimes still play it on dosbox, but I would like to take it with me on transits to work)
I have no experience in Programming at all, I only did graphical stuff (Photoshop, 3DS Max) I know a little html for basic websites, but this was also more in Dreamweaver with the layout to designer.
So I found these books on android, but before I begin to read any of them. Can somebody tell me which book is best to start on first or which book to skip? I also like a video tutorial, but has anybody seen it? Is it any good?
Ebooks
Apress: Beginning Android 2 http://apress.com/book/view/9781430226291
Apress: Pro Android Games http://apress.com/book/view/9781430226475
Apress: Pro Android 2 http://apress.com/book/view/9781430226598
CommonsWare LLC The Busy Coders Guide to Android Development http://commonsware.com/Android/
Sam's Sams Teach Yourself Android Application Development in 24 Hours http://www.amazon.com/Teach-Yourself-Android-Application-Development/dp/0321673352
O'Reilly Media: Building Android Apps with HTML CSS and JavaScript http://oreilly.com/catalog/0636920010067
O'Reilly Media: Hello Android 3rd Edition http://oreilly.com/catalog/9781934356562
Video tutorial
O'Reilly Media: Developing Android Applications with Java, Part 1 http://oreilly.com/catalog/0636920001690
Sorry to threadjack you, but it made no sense to me to start a new thread on the same topic. There really should be an own section for noobs or a good sticky with this kind of information for noobs.
lol Im in the process of learning java right now, basic java though.
Mathods
Interfaces
Static Methods
Im pretty interested in what I need to know for development on the andriod platform. By mid/late spring I should know quite a bit more. Taking an Advanced java course. Current I only know C#, C++, and Visual Basics.
Never worked on a GUI before =(.