recording studio window

development of Windows Mobile applications

Mobile and compact cameras increasingly popular in our society. Each of us faces with them every day. While each of us has mobile phone, PDA or other hi-tech devices.

All these devices have different mobile platforms. There are platforms such as Windows MobileMe known, iPhone, BlackBerry, Symbian OS, Android, Maemo, OpenMoko etc. All have different histories and advantages and shortcomings.

Introduction

platforms like Windows Mobile, BlackBerry, iPhone are "closed" and is somewhat limited by their own means (Blackberry, iPhone) or the complexity of development. Other problems mentioned above platform API is limited. Even Java platform for mobile devices has some defects such as large number of limitations; API very different; code device dependent. Symbian and Windows Mobile platforms are better from this point insofar as they support wider range of devices and give them more Options API.

common problem here is that there is a lot of platforms. Speaking About Open Source solutions and cross-platform that we should say they are still developing at this time and are not yet widespread.

In this paper, we pay our attention to the platform Windows Mobile.

Microsoft has released its first enterprise platform for devices built at the end of the 90th. In 2002, the Windows platform CE.NET appeared. And at that time based on the Pocket PC platform, Windows CE 3.0 and higher have been released. development technologies of wireless communication has managed to combine phone and a personal computer. For example, Pocket PC 2002 Phone Edition appeared which supported GSM, GPRS, Bluetooth and wireless network access HS. At the same time another concept device has been developing was much more similar to the above mentioned, but was closer to the phone and the PC. This device has been appointed Smartphone 2002. Fundamental difference between the Smartphone and Pocket PC, Pocket PC is that while smartphone touch screen buttons for control only. They had also extended to different application and supported various standards and technologies.

The Windows Mobile platform for smartphones is Furthermore, communicators and small personal devices. Windows CE and Windows Embedded platforms are commonly used in various industrial equipment.

Now we have Windows Mobile 5 and Windows Mobile 6 generations and Windows Mobile 7 will be available soon. Modern devices based on Windows Mobile Pocket PC, if you have 500-600 MHz processors and 64-128 MB RAM that is not limited to such devices.

1. Development Tools

There are some models for developing applications for Windows Mobile:

  • Win32 API
  • MFC
  • . NET Compact Framework.

Microsoft offers developers all the tools necessary Co development of applications for PDA, Pocket PC and Smartphone.

Here are some tips on choosing a different type of code.

  • Use Native code to achieve burst performance, working directly with the material, and also to minimize the need for system resources.
  • Use managed code for developing applications-oriented GUI which the main focus is the development and Conditions market deployment. Managed code is also good for easy work with web-services.
  • Use server-side code work with different devices through a single code base, and also so wide communication channel with a permanent device is present.

Here are the comments of these development tools for PDAs, Pocket PCs and Smartphones.

eMbedded Visual C + + 4.0

Microsoft eMbedded Visual C + + 4.0 development environment designed to create applications for devices with Windows CE. 4.2 OS NET and also (with the package updates SP3) for PDA and Smartphones on the platform Windows Mobile 2003 Second Edition. The development environment eMbedded Visual C + + 4.0 is good for creating native code for mobile devices integrated with Windows CE. NET 4.2 OS. This allows for Developer Just-In-Time Debugging for diagnosing unhandled exceptions, attach to the debugging process extended processes, and also the interaction with an emulator.

Visual Studio functions. NET and SDP

SDP (Smart Device Programming) functions of the environment of Visual Studio. NET 2003 (2005, 2008) can create applications that uses the possibilities of Microsoft. NET Compact Framework platform. Thus, a developer can create the distributed mobile data processing systems, sites in both scenarios and connection without permanent connection. Extensive library of classes. NET Compact Framework platform allows development of applications much faster than with traditional development tools.

Visual Studio. NET to create applications for Pocket PC 2002 (with proper SDK) Pocket PC 2003, 2005 and Smartphone 2003, 2005, using the same tools used for developing applications for desktop PCs. Library. NET Compact Framework installed with Visual Studio. NET. This library is specifically designed for devices with limited resources. Developers can also use new languages C # and Visual Basic. NET applications for mobile and embedded devices. They are good in work with web services technology and ADO.NET.

The control elements of the ASP. NET Mobile Controls extend the functions and SDP. NET Compact Framework platform. They provide an opportunity use opportunities. NET Compact Framework and Visual Studio. NET for the development of mobile web applications for the delivery of data to various mobile devices using ASP.NET technology. This approach allows you to create unique mobile web application in Visual Studio. NET, which automatically data record for display on different devices: mobile phones, smartphones, PDAs, Pocket PC. The IDE makes it possible to create mobile web applications by simply dragging the control elements on the forms.

ASP.NET system does no components on a client machine. To adapt the shaping under concrete logical server browser is used. It generates information in the formats Wireless Markup Language (WML), HTML, Compact HTML (cHTML).

Microsoft SQL Server

Microsoft SQL Server Compact Edition (SQL Server CE) is a compact DBMS for rapid development of applications that extend opportunities to work with data Company due to the use of mobile devices. SQL Server CE is a tool to facilitate the development of mobile applications with the help of SQL syntax and use of the application and model of the API that is compatible with SQL Server.

SQL Server CE provides the basic set of functions of relational database, especially optimized query manager, support operations and types heterogeneous data – requirements unassuming system resources. Remote access to data and replication by the confluence provide reliable delivery of information from SQL Server databases, ability to work independently of the information and later synchronization with the server. SQL Server CE is good for systems with mobile devices and wireless networks.

DBMS SQL Server CE is developed for integration with. NET Compact Framework using Visual Studio. NET. It simplifies development of applications for working with databases on mobile devices and embedded applications. New data provider for SQL Server CE for the management of code in the common language runtime environment allows to develop distensible applications with self-employment opportunities of the information in the scenarios without permanent connection.

Microsoft. NET SqlClient API gives for work of two. NET Framework and. NET Compact Framework. For Microsoft Windows Common SqlClient with SQL Server are used, and for Microsoft SQL Server SqlServerCe Compact Edition for Compact Framework.

Name space SqlClient is in both versions. Thus, we can interact:

  • Using. NET Compact Framework SqlClient to have access to SQL Server from the device on the desktop.
  • Using. NET Compact Framework SqlServerCe to have access to SQL Server Compact Edition directly on a device.

Working with databases on a device is similar to the work on the desktop. To access SQL Server on the SQL Desktop system uses TCP / IP is in this case it can not have SQL Server Compact Edition is installed on a device.

All the models mentioned are implemented on desktop systems. Thus, experience their application can be made for the development of programs for Windows Mobile. Using the Win32 API we quickly get compact code, and can also use for the development of drivers and system components. Using MFC, we have extensions of API functions, and also designer for development of the interface. And by using Compact Framework, we have at our disposal a well-developed interface, automatic garbage collection, XML support and other options. Also, there is even a truncated version – Micro Framework, where there are fewer functions SDK.

After SDK for MS Visual Studio install new mounting configurations appear as well as new functions for the assembly under these platforms. Suit also contains Emularor for software development and testing, no physical connection between the camera and computer.

Regarding many aircraft are based on Windows Mobile has an ARM processor, it is also possible to compile using other compilers units: AVR32, ARM (RealView), GNUARM, IAR Systems.

2. Creating Windows Mobile application for Windows Mobile devices using MS Visual Studio. NET

Visual environment Studio with Compact Framework can develop applications with GUI large databases, archiving and encryption tools, USB, serial, Bluetooth and wireless network connections and telephony as well. All this is provided by SDK and the libraries and files position Platform Builder.

2.1 UI

Due to the presence of good designer in VS SDK and we can easily develop GUI applications moving the same as for desktop applications. The only difference is in the graphics chipsets for desktop systems and Windows Mobile. There also difference between the components of the Smartphone and Pocket PC versions caused by this Pocket PC has a touchscreen and no SmartPhone. Therefore, development interface for smartphone is more complex. It must be considered when developing software for both platforms.

Here, we must also indicate that software designed for Pocket PC does not start on the Smartphone platform while the reverse is possible – until the moment when certain Smartphone is called special.

It is natural that many widgets as well as most of the functions of frame size were taken from the Windows Mobile SDK to reduce the size of the SDK on the device side. Only items were most needed on the left. But productivity and volumes of memory are on the rise so that the number of functions included in the SDK becomes greater. So the difference between Compact Framework 1.0 and 2.0 is huge. Version 1.0 is very limited.

In general, the development of the graphical interface? Ompact the framework? # Is similar the development of the common Win32 application in C #.

It is also possible to develop a GUI using the mounting 3D-rendering engines. They are like GAPI (Game API), OpenGL ES (Embedded System), OpenVG (vector graphics), and other projects. While it is relatively abundant labor since it is very important to write optimal code because of the relatively low productivity of mobile devices.

2.2 Communications

So far mobile devices have a wide range of communication options. They have access to wireless network high speed WiFi connection using 802.11. They also use IrDA, Bluetooth and USB host / client functionality. Although the use of IrDA is little to just under protocols and standards of Bluetooth, WiFi, EDGE, GSM, and USB are used often leave.

Microsoft Corporation shall provide such APIs:

  • ActiveSync API provides functionality to work with Sync Services, file filters, etc.
  • Bluetooth API provides functionality to wireless access and mobile devices.
  • API Connection Manager is used for automation process of connecting, managing network connections. The devices are using the connection manager to connect and also to inform on the supposed connection (eg internet).
  • Object Exchange (OBEX) API provides functionality to work effectively, any compact binary protocol suitable for devices with limited possibilities.
  • Remote API (RAPI) provides management functions and call remote methods on the device side. These functions are available: access to the registry, files, databases and different device configurations from the desktop system. The most important option is Remote Procedure Call when we just call the method "CeRapiInvoke () "On the side office to forward the name of the DLL on the device side and the name of the function in this DLL and then call this method.
  • Pocket Outlook Object Model API provides functions for working with objects of Pocket Outlook. It provides interfaces for synchronization and access to objects: Tasks, Calendar, Contacts.
  • Telephony API (TAPI) comprises:
    • Aided API
    • Extended API
    • Phone API
    • SIM Manager API
    • Short Message Service (SMS) API
    • Telephony Service Provider (TSP) API
    • Wireless Application Protocol (WAP) API.

As mobile have the opportunity to work with serial (USB) ports. There are some in-COM ports for multiple devices. Usually, the first 3-5 of them are reserved to IrDA, Bluetooth, and other SerialPort. The other ports are available to the user. Some devices have features USB-Host to say they are USB On-The-Go (OTG) devices that can serve both USB client and USB host. To this end, the device should need hardware and software (Device drivers).

Device Driver is a driver that is an intermediate layer between the driver of the HOST and the application level. The driver provides "" Stream Interface Driver and should contain functions such as:

  • Xxx_init
  • XXX_Open
  • XXX_Close
  • XXX_Write
  • XXX_Read
  • XXX_IOControl

Here, "XXX" is replaced by "" prefix (Eg "COM", "DSK").

This prefix registers in the register during the registration driver in the system. More information about the device driver interface can be obtained from MSDN.

So a developer can use APIs not on those Communication:

  • Device Configuration API
  • File and Application Management API
  • Game API
  • Home Screen API
  • HTML Control API
  • MIDI API
  • Shell API
  • Recognition API Voice
  • Vibra API
  • Voice Recorder Control API.

2.3 P / Invoke Interop and native

Regarding Compact Framework includes basic functions and methods of complete

Framework, we have features such as:

  • Serialization XML
  • Cryptography
  • Security
  • Reflection
  • Interop Services et al.

Surely Platform Invoke calls are accessible. To that end – and in completing the course – we use the functions and attributes System.Runtime.InteropServices, namespace and attribute DllImport for the description of functions to be called from unmanaged code.

However, the functionality of these methods is limited. Then the Marshal class PtrToStructure, GetComInterfaceForObject, Copy () and Read () functions, but, for example, there is no function as GetDelegateForFunctionPointer () in him. It is therefore impossible to do with marshaling the delegate. The function is available only GetFunctionPointerForDelegate. If we want to send a pointer to function from managed code we should get her FunctionPointer and only after the transmission is unmanaged code for further appeal of it from there. So we can not pass because some objects Compact Framework can not count sizeof () for some objects. This is why we often have to transmit data only Blitable types and arrays of these types (int, byte, char, but not bool), and transmit and receive classes and structures through IntPtr. Admittedly, it is explained by the desire to increase performance. It is therefore recommended to use the main type marshaling and "GCHandle class for storing objects in memory process and make this memory" visible "for unmanaged code

While the performance of P / Invoke calls from C # application in C + + DLL is almost twice less than the performance of method calls between C + + DLL. However, performance devices grows and it becomes possible to use such calls.

2.4 Debugging

MS Visual Studio allows you to debug applications under

Windows Mobile still only for desktop applications. We have the emulator, the Device Emulator Manager and other features such as breakpoints, threads, panel watches etc.

However, for debugging using native code and managed is at once impossible. It is therefore possible to start, or C + + or managed projects. This is also for "Attach to process". It is possible to attach to processes on the device side (or emulator side.) ActiveSync is required for communication between a device and the system it is installed with the SDK. An emulator can also be connected to the computer via ActiveSync. We get the emulation almost complete Windows Mobile devices. Two Smartphone and Pocket PC (or Pocket PC Phone Edition) emulators. However one Windows Mobile device can be connected to the computer at the same time. Therefore Debug on two devices simultaneously and interact such a way is quite difficult. Admittedly, we speak only of debugging applications developed by us, but not on applications and system services. For debugging example we need to complete construction of the system put in place through the Platform Builder (the latest versions of Platform Builder is included in Visual Studio). We can also create our own SDK for Visual Studio and Windows CE Platform.

An emulator can also emulate part of the GSM network and GPS support. It can test and develop wide range of applications without having a physical in their hands.

Speaking of debugging with IDA It is worth mentioning that version 5.1 has the ability to perform debugging using this interactive disassembler with the use of their plug-in that is installed on a device.

With optional SDK appearance as "Deploy" appears in the Visual Studio. Now, there is "Deploy" menu item in the project in addition to "build", "Clean", "Debug". After choosing this point of DLL or EXE built by the current configuration is transmitted to the device. So the new column appears in the configuration manager, which not only "Build" in some configuration options are available, but also "deploy". NET deployment project. Transmits not only the unity but also those generations who are dependent (Dependencies).

3. Deployment and Installation

Developing Applications for Windows Mobile mounting, and also requires the creation of the installation package. To this end, it is this concept? AbiNet (. Cab) in Windows Mobile. It is a common archive, but it is also an installation package (a kind of MSI package). It is assembled using the Wizard cab (Cabwiz.exe) from MS VisualStudio (or from a command line). This utility creates a "processor dependent". Cab file. CAB WinCEApplicationManager forward and starts on a device, then the user can install the application following the instructions on the screen device. It is also possible to create the project MSI installation which includes a CAB file using Visual Studio. This package will be launched constructed on the user's computer, then send? Installation AB on a device to continue the installation process.

It is special Uninstall Manager on the device side. Must attach configuration INI-file to CAB file. This INI file contains settings to manage the installation process as a way to create shortcut name, minimal version of the OS to install the application and other writings in special syntax. It is also can include your own DLLs in the CAB file to expand the installation options. This DLL contains functions such as "Installer_AfterInstall" "Installer_BeforeInstall", "Installer_AfterUnInstall", "Installer_BeforeUnInstall" code of these functions will run on the device side certain times of the installation or uninstallation.

When preparing to install CAB, it is possible to attach files, different resources, building units, add information in the registry. They are designated as "project output. Therefore there is no need to reset anything after the CAB-file creation: it will collect all the projects and included files and assemble in an archive.

4. Security Model for Windows Mobile 5 and Windows Mobile 6

Windows Mobile-based devices to receive, send and analyze information potentially important to be protected from dangerous applications. To protect the device from unknown applications is disabled, access to certain API is limited and some parts of the registry change is prohibited. The units can be marked as trusted and untrusted and the system uses this information to prevent unauthorized starting applications and limit their access to the system. Also access system via RAPI (Remote API) via ActiveSync may be restricted. Security Certificates of human security are used for units executable (EXE, DLL) and CAB files.

Protection against threats and risks

The following options to help protect the devices:

  • Strict password protection.
  • PIN protection.
  • Features information deleted to prevent corrupt access (WM 6).
  • Information devices deleted corrupted memory cards to prevent access to the (WM 6).
  • storage encryption and Advanced Encryption Standard for SSL (WM 6).
  • Own certificates of use.
  • Detection Bluetooth device can be protected (Smartphone WM 6).
  • 2 System application layer starting (monist and dualist access).
  • No support for macros, so viruses can do much harm.

The early applications is based on permissions. Windows devices Mobile use of these models:

  • Privileged
  • Normal
  • Blocked

applications preferred have the broadest access. They can access any API, write to protected areas of registration and have access full system.

Most applications have the Normal template. They do not have access to the API of confidence and do not have control complete system.

Application can be started at all if it has "blocked" state. This means that it is not signed with the appropriate certificate or the user has banned the correct departure warning system.

analogue situation with Cab-files. Executable units with the normal state can begin privileged DLL but then they will work as usual. However preferred units executable can not start units with a normal status.

Written by Eugene Kordina specialist Apriori.

Learn more about the development process of Apriori here .

About the Author

Basic Tips & Techniques for Soundproofing : How to Install a Window in a Recording Studio

eBay Logo 

AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


$3.67


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


$4.59


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


$3.67


Digital CD Recording Studio II for Windows 95 98 NT4.0


Digital CD Recording Studio II for Windows 95 98 NT4.0


$4.95


DIGITAL CD RECORDING STUDIO-Windows 95/98/Me


DIGITAL CD RECORDING STUDIO-Windows 95/98/Me


$5.49


Mixcraft 5 Home Studio Recording Software Windows New


Mixcraft 5 Home Studio Recording Software Windows New


$69.95


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


$3.67


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


AUDIO RECORDING EDITING MANIPULATION STUDIO WINDOWS -CD


$3.67



The Best of Hitchcock - Volume 1 (Psycho, Rear Window, The Man Who Knew Too Much, Topaz, Rope, Shadow of a Doubt, Family Plot, Alfred Hitchcock Presents #1) [VHS]


The Best of Hitchcock – Volume 1 (Psycho, Rear Window, The Man Who Knew Too Much, Topaz, Rope, Shadow of a Doubt, Family Plot, Alfred Hitchcock Presents #1) [VHS]


$58.51



Windows for Genealogists


Windows for Genealogists



Writer of the Complete Idiot’s Guide to Geneology, walks you through the process…


Essential Hitchcock (Rear Window, The Birds, Psycho) [VHS]


Essential Hitchcock (Rear Window, The Birds, Psycho) [VHS]


$39.98



Fearless Love (+2 Bonus Tracks)


Fearless Love (+2 Bonus Tracks)


$14.70


Special edition includes two bonus tracks: “The Heart Of A Woman” and “Away”.
Track listing:
1. Fearless Love
2. The Wanting Of You
3. Company
4. Miss California
5. Drag Me Away
6. Indiana
7. Nervous
8. Heaven On Earth
9. We Are The Ones
10. Only Love
11. To Be Loved
12. Gently We Row
Bonus tracks
13. The Heart Of A Woman
14. Away…


Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogplay