

Contents
Introduction
I started off with my project in Pocket PC knowing nothing. But many articles in The Code Project and other URLs I have given below gave me a quick start. But dynamic URL was the biggest pain of all. So I wanted to share my piece of experience with everyone.
Software Requirement
Software requirement for the Pocket PC are:
- Microsoft ActiveSync
This is the tool connecting the workstation and the Pocket PC, the first tool to be installed to work with the Pocket PC.
- MDAC 2.7
- Microsoft Compact Framework.
This framework will be used to put all the libraries required for the Pocket PC to support a .NET application.
Hardware considerations:
- The Pocket PC will require a serial port to connect to the workstation.
Sample Code Analysis
The application I have done here will create an XML string and transfer that XML string to a web service, the web service takes care of opening the XML string and displaying it in the next screen. This application with get the strings from the textbox provided and combine that to an XML formatted data. These XML data are received from the web service side and shown in the textbox.
private void btnTransfer_Click(object sender, System.EventArgs e)
{
try
{
StringBuilder sText = new StringBuilder();
sText.Append("<DATA>");
if(txtstr1.Text != "")
{
sText.Append("<string1>");
sText.Append(txtstr1.Text);
sText.Append("</string1>");
}
else if(txtstr2.Text != "")
{
sText.Append("<string2>");
sText.Append(txtstr2.Text);
sText.Append("</string2>");
}
sText.Append("</DATA>");
Homer.dataTransfer xmlTransfer = new Homer.dataTransfer();
xmlTransfer.Url = GetWebServiceUrl() ;
string strResponse = xmlTransfer.DataTransfer(sText.ToString());
MessageBox.Show("the message was " + strResponse);
}
catch(Exception exc)
{
lblResponse.Text = exc.Message;
}
}
Following is the code for calling the dynamic URL. The way to call the web service dynamically is by creating an INI file, for e.g., webserviceUrl.ini as in my example. The content of the file is as follows. This file should be placed in the application folder in the Pocket PC. This application cannot be tried with the simulator. You can always work with the static Web service URL in the simulator.
//content of the webservice ini file
="1.0" ="utf-8"
<appConfig>
<webServiceUrl>
http://your_server_name_goes_here/SampleService/Service1.asmx
</webServiceUrl>
</appConfig>
The web service INI file is opened from the function below and the web reference is taken from the INI file.
Dynamic XML Web Service
Using a web service is simpler in the mobile application, but to make it dynamic was one of a task. Since the Pocket PC has to be tested in various scenarios and then modified for the live server, the dynamic web service is not the same for the mobile application as the web application. The code below will help you in setting up the dynamic web service URL for the application.
private string GetWebServiceUrl()
{
string Apppath = null;
Apppath = System.IO.Path.GetDirectoryName(
System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase );
string iniFile = Apppath + @"\WebServiceUrl.ini";
FileStream xmlStream = new FileStream(iniFile, FileMode.Open);
XmlTextReader xmlReader = new XmlTextReader(xmlStream);
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(xmlReader);
xmlReader = null;
xmlStream.Close();
XmlNode xmlRoot = xmlDoc.DocumentElement;
string Url = xmlRoot.ChildNodes.Item(0).ChildNodes.Item(0).Value;
xmlDoc = null;
return Url;
}
Points of Interest
The above should help anyone start off smoothly with the Pocket PC application. Some final words of caution and things that I faced while working with Pocket PC:
- When we work with the Pocket PC application forms, the instance will still run even when we close the form. So to eliminate the problem, I had to make the minimize button to false, so when we close the form in the Pocket PC, it removes the instance of the application.
- When a developer is not able to run the application due to an error message like the application is already running an instance, the following links can help you eliminate the issue.
Other Useful Links on Pocket PC
History
Created date -22 March, 2005.