D/\SH
10-08-2008, 11:09 PM
Here at Wckediden we are always striving to give the user the best experience with the support we offer, the programs, games, etc.. We the staff as a group have decided that we are going to all learn coding language (c++) (thanks venumx) so we too can develop, release, and offer the support on making our own programs for out devices. VenumX was kind enough to share a tutorial and give us some help on getting started. ( i will share with you later) So basically what we are looking for is some input on how you feel it should be laid out on the board (like new on side menu, under programs, etc) We are striving to have this implemented as soon as possible. (just making sure we have the personnel so-called trained so we have releases as well as support on the topic.
WE WILL KEEP YOU INFORMED OF WHEN THIS WILL BE IMPLEMENTED IN THIS THREAD AND THIS THREAD ONLY!!
I was thinking a layout like this below:
1. Add a help desk area for coding support
2. Add a section under releases for the ppc for the applications. (add the developer name in the thread title along with the the phone/s it will work for) ( make sure to add if it needs the accelerometer or anything.) (same release style with description and pics)
3. A Wckediden developer link on the main page of the portal as well as a link under the mobile resource drop down below the banner.
Heres some great information that our Admin VenumX has dished out to the staff while we were discussing the topic of the new section.
Okay im glad to see a lot of interest in this section. There are a few things i can do for you guys to get you started.
First off a few C++ tutorials:
http://www.cprogramming.com/tutorial.html#c++tutorial
that is the best introduction to C++. You aren't going to need to know that much C++ because dealing with WM6 there is a lot of managed code (usually written in C#); however if you ever want to get deeper into the engine of things you'll want to know C++.
Here is a good C# tutorial
http://www.devhood.com/training_modules/dist-a/LearningCSharp/learningcsharp.htm#_Toc523316477
Goes over a lot of the basics which you are going to need to know how things work. Basically you want to get a feel for the program you are using. Which brings me to my next point...
You are going to want to choose a software to edit the cpp and cs files. Your best bet is to get Microsoft Visual Studio 2008.
Once you have everything and you are well versed in the C# and C++ languages your next step will be to download the WM6 SDK which contains all the files you will need for mobile development.
Windows Mobile 6 SDK:
If you wanna play with the sensors on the Diamond there is a great piece of managed code put out by kdutta that I have been working with a lot lately. It's written in C# and you can download it here:
http://blog.enterprisemobile.com/wp-content/uploads/2008/07/htcsensorsdk.zip
Good luck guys, like i said this will be enough to get you started at least. I will be providing support around here and I am still learning quite a bit myself so we can help each other I'm sure.
Thanks guys,
VenumX
And heres a tutorial on making your first program (wrote by VenumX)
Alright guys here is a VERY simple tutorial that I have come up with. It will show you how to:
- Create a new WM6 project
- Add different components
- Allow different components to interact with each other
- Use button eventhandlers
- Manipulate textfields
- Deploy your solution to a device emulator
I've dumbed it down to the point where you could know NOTHING about C# development and still be able to follow and understand this tutorial. So to all of you C# developers you may find this a bit redundant and may want to wait for my next tutorial.
*Warning* This tutorial assumes you have followed my previous tutorial on the requirements for WM6 development. *Warning*
Without further ado here is VenumX's Beginners Guide to WM6 Development:
Start by opening Visual Studio 2008 (Obviously)
Next we want to make a New Project so go to File > New > Project...
A window similar to this will pop up:
http://i5.photobucket.com/albums/y154/VenumX/stepOne.jpg
Make sure you have all the same options as the image has selected and replace NameOfProject with whatever you want the name of your program to be then press OK.
A new window will pop up similar to this one:
http://i5.photobucket.com/albums/y154/VenumX/stepTwo.jpg
Again, make sure you have all the same things that I have highlighted. If you don't see the "Windows Mobile 6 Professional SDK" or ".NET Compact Framework Version 3.5" you need to follow my other tutorial on requirements for WM6 development. You can use ".NET Compact Framework Version 2.0" for this project instead of 3.5. After everything is all set press OK.
You'll see the Form1.cs (Design) view. On the left you have your "Solution Explorer" which is how you will navigate through your project files as pictured below - I have highlighted all of the key areas that you will be working with most:
http://i5.photobucket.com/albums/y154/VenumX/stepThree.jpg
AssemblyInfo.cs is going to be your version info and copyrighting section. This holds the least importance to this project. But you can see the section pictured below:
http://i5.photobucket.com/albums/y154/VenumX/assemblyinfo.jpg
Form1.cs (Code) view is accessible by right clicking Form1.cs in the Solution Explorer and clicking the "View Code" option. Here is an example of what it should look like when you open it:
http://i5.photobucket.com/albums/y154/VenumX/form1code.jpg
Form1.Designer.cs is where you can set all of your initial variables for your components that you add later. This is a very important file in this project. When you first open this file it will look like this:
http://i5.photobucket.com/albums/y154/VenumX/form1designercode.jpg
Push the plus button that i highlighted in the image above and it will open all of the design code and variables that you will be able to change to whatever you want. It should now look something like this:
http://i5.photobucket.com/albums/y154/VenumX/form1designerGenCode.jpg
And you can see all of the code generated for the form1. You can change the name that shows up when you run the application here by editing the "this.Text = "Form1";" line of to "this.Text = "NAME OF PROGRAM";" and when you go back to design view you can see your change has been made:
http://i5.photobucket.com/albums/y154/VenumX/changemademyfirstprogram.jpg
Now that we have a general knowledge of the different files we can begin adding GUI elements to our project. To do this we will need the "Toolbox" to be open. You can do this one of two ways, through the menu you go View > Toolbox or you can use the keyboard shortcut ctrl+alt+x and it will bring the toolbox up on the right side of your screen as shown below:
http://i5.photobucket.com/albums/y154/VenumX/opentoolbox.jpg
We have the toolbox open now so lets start to add things to the project. We want to add a label so we know what we are supposed to input in the text field, then we should add 2 text fields one to input the other to output and finally a button to take the text from one text field and move it to the other. So here is what our project should look like:
http://i5.photobucket.com/albums/y154/VenumX/addguielements.jpg
Visual Studio 2008 has now generated a lot of code in the background of adding the elements so lets take a look at what it has generated in the Form1.Designer.cs file:
http://i5.photobucket.com/albums/y154/VenumX/editingelements.jpg
I have highlighted the key elements in the previous image, edit the text to say whatever you want. The name of the textbox's and the button are critical for the next step, so leave them the same for now.
We are now going to make it so when you push the button it takes whatever is in the textbox1 and puts it into textbox2 and erases the text that was in textbox1. So go back to the Form1.cs (Design) view and double click the button that you have created. It will take you to a page that looks similar to this without the code in between the { and }:
http://i5.photobucket.com/albums/y154/VenumX/buttonevent.jpg
now you want to insert the code that I have inserted between the { and } this is what will copy the code from textbox1 to textbox2 and erase the contents of textbox1. You can do this because both textbox1.Text and textbox2.Text are of type String. A String is basically any set of characters that is held withing a set of ". You could edit the code to say textbox2.Text = "hello" and it will make the text in textbox2 say hello when you push the button. Play around with this. The button push is called an EventHandler there are multiple types of event handlers for windows mobile devices MouseEventHandlers will allow you to read when the user pushes down on the screen. Here is where the eventhandler is implemented behind the scenes in the Form1.Designer.cs:
http://i5.photobucket.com/albums/y154/VenumX/eventhandlerbutton.jpg
Now that we have done everything we need to do we are ready to deploy our project! To do this make sure Windows Mobile 6 Professional Emulator is selected as shown here:
http://i5.photobucket.com/albums/y154/VenumX/wm6deviceemulator.jpg
Next just go to Build > Start Without Debugging and you will get a new box that looks like this:
http://i5.photobucket.com/albums/y154/VenumX/deploy.jpg
Select what I have selected and press Deploy. This could take a while for it to go through all the way but it will have to initialize Compact Framework 3.5 on the device and then it will install your app on the device. So just wait until it opens up on the device emulator. Once it comes up it should look something like this:
http://i5.photobucket.com/albums/y154/VenumX/actualprogram.jpg
And there you have it, your first WM6 program. Welcome to the Smartphone Junkie development community!
Your fellow programmer,
VenumX
PLEASE DO NOT HIT THE REP FOR ME INSTEAD SCROLL DOWN AND HIT THE REP FOR VENUMX WHEN HE REPLIES SINCE HE DID ALL THE WORK OF THE TUTORIAL AND I JUST WROTE THIS THINGY UP LMAO
WE WILL KEEP YOU INFORMED OF WHEN THIS WILL BE IMPLEMENTED IN THIS THREAD AND THIS THREAD ONLY!!
I was thinking a layout like this below:
1. Add a help desk area for coding support
2. Add a section under releases for the ppc for the applications. (add the developer name in the thread title along with the the phone/s it will work for) ( make sure to add if it needs the accelerometer or anything.) (same release style with description and pics)
3. A Wckediden developer link on the main page of the portal as well as a link under the mobile resource drop down below the banner.
Heres some great information that our Admin VenumX has dished out to the staff while we were discussing the topic of the new section.
Okay im glad to see a lot of interest in this section. There are a few things i can do for you guys to get you started.
First off a few C++ tutorials:
http://www.cprogramming.com/tutorial.html#c++tutorial
that is the best introduction to C++. You aren't going to need to know that much C++ because dealing with WM6 there is a lot of managed code (usually written in C#); however if you ever want to get deeper into the engine of things you'll want to know C++.
Here is a good C# tutorial
http://www.devhood.com/training_modules/dist-a/LearningCSharp/learningcsharp.htm#_Toc523316477
Goes over a lot of the basics which you are going to need to know how things work. Basically you want to get a feel for the program you are using. Which brings me to my next point...
You are going to want to choose a software to edit the cpp and cs files. Your best bet is to get Microsoft Visual Studio 2008.
Once you have everything and you are well versed in the C# and C++ languages your next step will be to download the WM6 SDK which contains all the files you will need for mobile development.
Windows Mobile 6 SDK:
If you wanna play with the sensors on the Diamond there is a great piece of managed code put out by kdutta that I have been working with a lot lately. It's written in C# and you can download it here:
http://blog.enterprisemobile.com/wp-content/uploads/2008/07/htcsensorsdk.zip
Good luck guys, like i said this will be enough to get you started at least. I will be providing support around here and I am still learning quite a bit myself so we can help each other I'm sure.
Thanks guys,
VenumX
And heres a tutorial on making your first program (wrote by VenumX)
Alright guys here is a VERY simple tutorial that I have come up with. It will show you how to:
- Create a new WM6 project
- Add different components
- Allow different components to interact with each other
- Use button eventhandlers
- Manipulate textfields
- Deploy your solution to a device emulator
I've dumbed it down to the point where you could know NOTHING about C# development and still be able to follow and understand this tutorial. So to all of you C# developers you may find this a bit redundant and may want to wait for my next tutorial.
*Warning* This tutorial assumes you have followed my previous tutorial on the requirements for WM6 development. *Warning*
Without further ado here is VenumX's Beginners Guide to WM6 Development:
Start by opening Visual Studio 2008 (Obviously)
Next we want to make a New Project so go to File > New > Project...
A window similar to this will pop up:
http://i5.photobucket.com/albums/y154/VenumX/stepOne.jpg
Make sure you have all the same options as the image has selected and replace NameOfProject with whatever you want the name of your program to be then press OK.
A new window will pop up similar to this one:
http://i5.photobucket.com/albums/y154/VenumX/stepTwo.jpg
Again, make sure you have all the same things that I have highlighted. If you don't see the "Windows Mobile 6 Professional SDK" or ".NET Compact Framework Version 3.5" you need to follow my other tutorial on requirements for WM6 development. You can use ".NET Compact Framework Version 2.0" for this project instead of 3.5. After everything is all set press OK.
You'll see the Form1.cs (Design) view. On the left you have your "Solution Explorer" which is how you will navigate through your project files as pictured below - I have highlighted all of the key areas that you will be working with most:
http://i5.photobucket.com/albums/y154/VenumX/stepThree.jpg
AssemblyInfo.cs is going to be your version info and copyrighting section. This holds the least importance to this project. But you can see the section pictured below:
http://i5.photobucket.com/albums/y154/VenumX/assemblyinfo.jpg
Form1.cs (Code) view is accessible by right clicking Form1.cs in the Solution Explorer and clicking the "View Code" option. Here is an example of what it should look like when you open it:
http://i5.photobucket.com/albums/y154/VenumX/form1code.jpg
Form1.Designer.cs is where you can set all of your initial variables for your components that you add later. This is a very important file in this project. When you first open this file it will look like this:
http://i5.photobucket.com/albums/y154/VenumX/form1designercode.jpg
Push the plus button that i highlighted in the image above and it will open all of the design code and variables that you will be able to change to whatever you want. It should now look something like this:
http://i5.photobucket.com/albums/y154/VenumX/form1designerGenCode.jpg
And you can see all of the code generated for the form1. You can change the name that shows up when you run the application here by editing the "this.Text = "Form1";" line of to "this.Text = "NAME OF PROGRAM";" and when you go back to design view you can see your change has been made:
http://i5.photobucket.com/albums/y154/VenumX/changemademyfirstprogram.jpg
Now that we have a general knowledge of the different files we can begin adding GUI elements to our project. To do this we will need the "Toolbox" to be open. You can do this one of two ways, through the menu you go View > Toolbox or you can use the keyboard shortcut ctrl+alt+x and it will bring the toolbox up on the right side of your screen as shown below:
http://i5.photobucket.com/albums/y154/VenumX/opentoolbox.jpg
We have the toolbox open now so lets start to add things to the project. We want to add a label so we know what we are supposed to input in the text field, then we should add 2 text fields one to input the other to output and finally a button to take the text from one text field and move it to the other. So here is what our project should look like:
http://i5.photobucket.com/albums/y154/VenumX/addguielements.jpg
Visual Studio 2008 has now generated a lot of code in the background of adding the elements so lets take a look at what it has generated in the Form1.Designer.cs file:
http://i5.photobucket.com/albums/y154/VenumX/editingelements.jpg
I have highlighted the key elements in the previous image, edit the text to say whatever you want. The name of the textbox's and the button are critical for the next step, so leave them the same for now.
We are now going to make it so when you push the button it takes whatever is in the textbox1 and puts it into textbox2 and erases the text that was in textbox1. So go back to the Form1.cs (Design) view and double click the button that you have created. It will take you to a page that looks similar to this without the code in between the { and }:
http://i5.photobucket.com/albums/y154/VenumX/buttonevent.jpg
now you want to insert the code that I have inserted between the { and } this is what will copy the code from textbox1 to textbox2 and erase the contents of textbox1. You can do this because both textbox1.Text and textbox2.Text are of type String. A String is basically any set of characters that is held withing a set of ". You could edit the code to say textbox2.Text = "hello" and it will make the text in textbox2 say hello when you push the button. Play around with this. The button push is called an EventHandler there are multiple types of event handlers for windows mobile devices MouseEventHandlers will allow you to read when the user pushes down on the screen. Here is where the eventhandler is implemented behind the scenes in the Form1.Designer.cs:
http://i5.photobucket.com/albums/y154/VenumX/eventhandlerbutton.jpg
Now that we have done everything we need to do we are ready to deploy our project! To do this make sure Windows Mobile 6 Professional Emulator is selected as shown here:
http://i5.photobucket.com/albums/y154/VenumX/wm6deviceemulator.jpg
Next just go to Build > Start Without Debugging and you will get a new box that looks like this:
http://i5.photobucket.com/albums/y154/VenumX/deploy.jpg
Select what I have selected and press Deploy. This could take a while for it to go through all the way but it will have to initialize Compact Framework 3.5 on the device and then it will install your app on the device. So just wait until it opens up on the device emulator. Once it comes up it should look something like this:
http://i5.photobucket.com/albums/y154/VenumX/actualprogram.jpg
And there you have it, your first WM6 program. Welcome to the Smartphone Junkie development community!
Your fellow programmer,
VenumX
PLEASE DO NOT HIT THE REP FOR ME INSTEAD SCROLL DOWN AND HIT THE REP FOR VENUMX WHEN HE REPLIES SINCE HE DID ALL THE WORK OF THE TUTORIAL AND I JUST WROTE THIS THINGY UP LMAO