Programming a database-driven application - Windows Mobile Development and Hacking General

Hey guys,
I've been contracted to write software for a company who is looking to have their Windows mobile phones access data on a company database. We are starting this system brand new, so the server has not been purchase, we have not decided on a DBMS, and even the programming language has not been determined (leaning towards .NET). We are in the first planning stages.
I will be using Visual Studio 2005 because they will be using Crystal Reports and because I figure it might be a little easier developing for the WM6 environment.
I would like to know if there are certain types of databases that are easier to program for WM6 .NET. We won't be implementing this feature until the rest of the system is up and running, but we want to make sure that once the company is ready, we can go ahead and write the software.
So, what type of database does everyone recommend to use for WM6 programming? Also, how exactly does the phone connect to the database? I don't suppose there's some sort of ODBC settings?
I've never programmed for WinMo before, so I appreciate everyone's help and patience!

Related

what needed to program??

Hello,
i have visual c# express, is there any chance to get a template for mobile development? or any other good ide without downloading 200 single files to get embedded visual c++ 4.0 working?
i mean something simple like visual c# full version?
i want to start programming but i dont get it, because no right ide is out there only this ms ****
got it worked,downloaded evc++4.0, dont like it
im more into assembler/basic progrmaming languages
is it possbile to use assembler for programming? something like nasm to the desktop pc world?
If you want to do assembly, use evc to start you off then put assemble into that. I used to do this on the desktop (pc) all the time when I was writing a program to controll some hardware over a parallel port. I see in the evc4 documentation some info on inline assembly so it should be fine there (its part of the c++ language to allow this).
What is it you need that low level for? To do an entire project that way must be very hard.
thanks for the info
i only asked for imformation, later i want to write my own bootloader,l simple kernel,like i did for pc, maybe getting more into the low level programming, which i like more than the high level stuff
is there no basic language for windows mobile that allows you to create easily applications, for free
sometimes i dont understand the developers, doing some weird stuff like evc++ where you need so much sdk/extra stuff only to develop, why not packing everything into a basic language and give this language all the apis which are needed
well thats something i think should be more supportet :lol:
Confused
I thought of starting it myself. I'm not very into "Visual" products, I'm a C++ to Java converted person More of a Java person. Anyway, was trying to step my foot into this realm and I've found a few SDK that can be downloaded and use, what should I start first? There are several choices that I've for from M$
1. Windows Mobile 5.0 SDK for Pocket PC Genuine Windows download
2. eMbedded Visual C++ 4.0
3. SDK for Windows Mobile 2003-based Pocket PCs
Confused...
Wow, writing a bootloader. What do you intend to do with it? Custom OS or something else?
Guys, this is unlikely to be helpful for assembler etc., but I wrote an opus about an introduction to programming, from a beginner's point of view (ie mine!) a few days ago. Might be helpful to some.
http://forum.xda-developers.com/viewtopic.php?p=209136#209136
V
Hi everybody,
I'm a really-confused guy about programming PDA...
I have a PocketPC 2003 device. I have to use TAPI for my university final project and I want to establish a data call through GSM from this device to a desktop PC with a GSM USB device working as modem.
Now...
-I've built a dll with TAPI functions with eVC++ 4.0
-I've built a wrapper in c# with VS2005, a smart device application that calls the functions I need stored in the previous dll (using p/invoke).
-I installed pocket PC2003 SDK from Microsoft.
Am I right?does the pocketPC support TAPI or not?I'm really confused b/c I'm reading tons of forums and some say it works and someother say the contrary...
please, only tell me if I'm using the right method of programnming.
thanx
looki here:
http://forum.xda-developers.com/viewtopic.php?t=38223
That question would probably have been better put in one of the other tapi threads.
I know you want to do ppc to pc but give that a try first. If you can borrow someone else's phone because you will need two ppc for this test. If you can communicate ppc - ppc then ppc -pc should be easy.
Every ppc phone I have had can make and receive data calls, but I have not rewritten the program to work with wm2005 so if thats your os don't bother.
There is another way to get a connection between a ppc -pc over a call. One of my phone/gprs cards had a gprs config tool that let me manually enter the number for gprs. After that I was able to use the terminal services client on ppc to take over my pc. The ppc tries to connect via the gprs and that dials my home phone then I set up the pc to accept incoming phone calls. After logging in it worked very well as long as some data was being transfered. The problem was that if no transfer occured for more than a few seconds the connection dropped out. I think its because the modem was treating a regular call as gprs, ie doing nothing when its not needed.
well vijay, i only want to get some outputs on my pocket phone, testing stuff etc
the problem is i dont have any experience about the bootsectors of the sd card (i think thats the only way not to erase wm2003), else i dont have any experience about the architectur
on pc its easy, because you have much references and some forums about this stuff, but for ppc i dont think there is any forum about os developing.
on pc you can easily use a floppy , writing the bootloader in the bootsector and let the bootloader call the kernel, thats it (for the beginning)
has anybody some stuff about it? some informations, would be helpfull
thanks
Have you seen itsme's posts (I think) in the wiki, and generally on google. The kernel stuff there was whoosh, right over my head. Incredible work, definitive I'd say. The founding fathers of XDA devs have done quite a lot of work on this stuff I think.
V

Reading the registry with Visual Studio 2003

I'm developing a small application for my HTC Wizard, which I'm programming with Visual Studio 2003.
I need to open the shell application for M3U files, which I've tracked down to HKCR\M3UFile\Shell\Open\Command... but now I can't figure out how to either read that key to open the relevant player, or to execute the m3u file directly.
Because I'm using VS2003, I don't have access to system.win32 with the compact framework, so what techniques have others of you used to read or write to the registry?
Also, just as a side note, how do you find the current path?
Thanks,
Jon
There is no real concept of current path in CE. If you want to know the path your EXE is in, use GetModuleHandle(NULL) -- it'll return the fully-qualified path name of that process's EXE, from which you can parse out a path.
I'd advise against using the compact framework; .Net is a loser on PPCs as it just slows things down, taking up extra memory & cycles on a platform where both are in short supply. Use the real Windows APIs instead -- i.e. call RegCreateKeyEx/RegSetValueEx.
And if you choose to use Win32 API you can just call ShellExecuteEx()
and not mess with the registry.
RegQueryValueEx is what you need. Just set the appropriate type and buffer.
V
I'm always willing to learn new stuff... are there any good resources on programming for PPC without using .net?
I know there's EVC++, but I've installed it, and now I don't know what to do with it!
Regards,
Jon
JonTheNiceGuy said:
I'm always willing to learn new stuff... are there any good resources on programming for PPC without using .net?
I know there's EVC++, but I've installed it, and now I don't know what to do with it!
Regards,
Jon
Click to expand...
Click to collapse
You can either use EVC++4, which is free but has an aged, not-so-standard C++ compiler (since it based on VC++6...but it only means a few quirks), or you can use Visual Studio 2005 which is supposed to replace EVC.
Jon, not to state the obvious, but there are many c++ tutorials for the PPC on the interweb.
What kind of experience do you have?
V
I have no prior experience with C++ - I bought the C++ For Dummies book in a charity shop a month or so ago, but it seems to refer to software that isn't available any more!
My core experience is with PHP, and recently I've been more interested in VB.NET for small apps at work, but most of what I want to do is with Windows Mobile - for which, all I have is Visual Studio 2003, and my co. won't fund me buying VS2005 as I got it for an old project that I still maintain, and anything new I need to write for work I can do with VS2005 Express...
That said, I'm not afraid of learning a new language, especially something as powerful as C++.
C++ for dummies is excellent, the best I've come across so far.
Have a read through this:
http://forum.xda-developers.com/viewtopic.php?p=209136#209136
I'm currently unlearning and then relearning my c++ - one thing I've learnt coming from other languages - c++ requires discipline. It's not about shortcuts, you build up from the basics and keep going steadily. But you need to be logical, and prepared to put in the effort. So discipline - it's been a long time since I've had to think about that!
V

New programmer on pocketPC... advice?

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

Programming the Hermes

Hi @ all...
i wanted to know if anyone is able to give ma an introduction into programming on mobile devices.
i've got the microsoft visual studio 2005 as a student version from my school, and found the mobile device template, but i wasn't able to figure some things out.
i will try much things by myself, but if anyone could give me an example on how to write a programm that accesses the phone line.
actually i want to write a program, that is able to place a call and send DTFM to the other side.
Is there a possibility to do this?
greetings
garfield
embedded visual c++ .. it is free and I'm using it .. look at what I've did all at my signature
What you are trying to do is not so simple. You need to read and learn about Telephony API (TAPI) which is a set of functions that lets you talk to the phone part of the device.
Also, you need to install the Window Mobile 5 and / or 2003 SDK which is available for free from MS.
Finally, you have not mentioned what programming languages you know.
There is probably simpler approach for .NET then TAPI, but .NET sucks.
hmm...
already heard about tapi... but i'm not really into c++ programming.
but this will be neccessary i think.
as i'm leraning c# at school for now, i will try it that way, and if you say, there might be an easier way with .net, i'll try this. both of the phones i want to program are wm6 so i don't have to worrie about the freaking big framework as it is incorporated into wm6...
i will take a look at it, now with having tapi in mind, MSDN might help me a little...
thanks for the help

advice for beginner developer :)

I have Visual c# and Visual basic development environment and I want to try my chance in developing small tools for WM6.
I am looking for advice on how to begin developing.
What is required to develop WM6 software ? How can I write a "hello world" code in basic steps ?
Thanks...
also, which version of Visual Basic or Visual C# would you recommend for this ?
Visual Studio 2005 will do the trick.
After that, get the SDK for your intended platform. WM2003,WM5 or WM6. And create a new project, select VB and look for your target device environment. Create a form based application, double click the form, and in the formload sub add this code:
Msgbox("Hello World")
This will pop up a message box saying hello world. I wasn't incredibly detailed, since I'm assuming you've done some software development on different environments before, correct?
thanks.
you really did explain enough to begin. I believe I can handle it.
just one question:
where can I get the WM6 SDK ?
http://www.google.dk/search?hl=da&q=WM6+SDK&btnG=Søg&meta=lr=lang_da|lang_en
finally I have the environment set up.
first basic tries (hello world, simple calculations etc.) were successful.
Then I went to "How Do I" pages of Microsoft and tried some advanced teaching examples.
I have a little problem with WM6:
I couldn't get the following value to a greater value than 0 no matter what I 've done:
Microsoft.WindowsMobile.Status.SystemState.ConnectionsNetworkCount
or
Microsoft.WindowsMobile.Status.SystemState.ConnectionsCount
I have activesync and wlan connected; I even connected to gprs but this value is always 0.
any idea ?
is it different on some devices ?
I still couldn't figure out where the problem is.
I think I am using a wrong system property but which one is the correct one ?

Categories

Resources