Working with Data Read and write to the file system This objective may include but is not limited to: XmlDocument, StreamWriter/StreamReader, serialized DataSet, reading and writing data in an XML format, System.IO, navigating the file system programmatically, creating and updating files programmatically, storing in special folders vs. hard coding, creating a well-formed path that will be valid across platforms and languages Synchronize the mobile application's local data with a server This objective may include but is not limited to: Web services, merge replication, remote data access, Microsoft ADO.NET Synch Services for Devices, monitor and respond to connection changes and updates Create a SQL Server Compact Edition database This objective may include but is not limited to: create a database by using Visual Studio, programmatically using DDL, dynamically using merge replication, create a database in advance using ADO.NET Sync Services and deployed along with your mobile application Manage data in a SQL Server Compact Edition database This objective may include but is not limited to: query a database, insert and update data in a database, delete data from a database, SqlCeCommand, SqlCeResultSet, SqlCeDataReader, SqlCeDataAdapter, SqlCeResultSet Write code to maintain a SQL Server Compact Edition database This objective may include but is not limited to: SqlCeEngine.Verify, SqlCeEngine.Repair, SqlCeEngine.Compact
Packaging and Deploying Applications for Windows Mobile Devices Create a Setup Project (Desktop Installer) This objective may include but is not limited to: registry settings, shortcuts, manufacturer settings, version, icon, PostBuild and PreBuild events Create a Smart Device CAB project This objective may include but is not limited to: cabwiz.exe, CAB signing, registry settings, shortcuts, manufacturer settings, version, icon Specify the runtime version of the .NET Compact Framework This objective may include but is not limited to: create and deploy a device .config file, assembly remapping Sign an assembly with a strong name This objective may include but is not limited to: Smart Device Project properties, signing tab, certificate store, signing a manifest, selecting a strong key name file
Creating an Effective User Interface Create forms that are resolution, DPI, and orientation aware This objective may include but is not limited to: query a device’s display capability, docking, anchoring, AutoScale, AutoScroll, Form_SizeChanged event, res2.exe, hidpi.exe Create custom controls This objective may include but is not limited to: creating a class that extends an existing control, creating a new control by extending a control or scrollable control, overriding OnPaint and OnPaintBackground, double buffering Write code to control user input This objective may include but is not limited to: show or hide the InputPanel, SelectNextControl, set the tab order of controls on a form, InputPanel events, OnTextChanged event Bind data to controls and collections This objective may include but is not limited to: setting data source on controls (DataMember, ValueMember, DisplayMember), LINQ, genericsWrite thread-safe user interface code This objective may include but is not limited to: Control.Invoke, Control.BeginInvoke, Control.EndInvoke, System.Threading, System.Threading.Timer, System.Windows.Forms.Timer Implement a message notification window This objective may include but is not limited to: Microsoft.WindowsCE.Forms.Notification class; customizing notification messages; configuring message timeoutImplement a widget on Windows Mobile 6.5 This objective may include but is not limited to: developing, packaging, and deploying a widget
Optimizing the Application Optimize memory and performance characteristics This objective may include but is not limited to: determining free device memory, runtime statistics, logging options, eliminating unnecessary boxing and unboxing, minimizing reflection, keeping startup assembly small, array vs. list, System.Diagnostics.Stopwatch Write code to minimize power consumption This objective may include but is not limited to: state notifications, GPS polling, screen backlight, disable unnecessary device peripherals Test applications by using the device tools This objective may include but is not limited to: Cellular emulator, FakeGPS, Device Emulator Manager, Device Security ManagerMake an application configurable at run time This objective may include but is not limited to: create and read a configuration file for a .NET Compact Framework application, System.Xml, System.IO, System.ReflectionImplement debugging and logging techniques This objective may include but is not limited to: create a runtime tracing class, device emulators, attaching the debugger to a running process
Implementing Core Mobile Programming Techniques Implement exception handling This objective may include but is not limited to: AppDomain.CurrentDomain.UnhandledExceptions, avoiding exceptions for program flow control, catching specific exceptions, using the Finally clause Implement file download from a server This objective may include but is not limited to: HttpWebRequest, application updates, downloading a data file for use on the device, using a background thread Integrate with serial peripherals This objective may include but is not limited to: SerialPort class, Dispose pattern, power notification events, SerialPort.DataReceived event Call native functions by using platform invoke (P/Invoke) This objective may include but is not limited to: P/Invoke to custom native DLL or Windows API, creating managed wrapper, implementing the Dispose pattern on objects in the .NET Compact Framework, platform invocation, passing a delegate to a native function Write code to consume .NET Web Service This objective may include but is not limited to: adding a Web reference, caching Web Service, invoking a Web method, handling exceptions, providing credentials, securing HttpWebRequest, synch vs. asynch invocation Protect sensitive data on a device by using encryption This objective may include but is not limited to: encrypting a SQL Server Compact Edition database, System.Security.Cryptography, file encryption, encrypting registry keys/values
Programming with the Windows Mobile SDK Add location awareness by integrating the GPS Intermediate Driver This objective may include but is not limited to: using MapPoint Web Service, System.Threading, P/Invoke gpsapi.dll Respond to device state changes by using the State and Notifications Broker This objective may include but is not limited to: capture and respond to notifications of state changes , power consumption, GPS, Bluetooth, handle connected and disconnected statesWrite code to integrate with Pocket Outlook This objective may include but is not limited to: contacts, appointment, tasks, text messaging, e-mail messagesInteroperate with device hardware This objective may include but is not limited to: CameraCaptureDialog, query and monitor network connections, battery, System Properties, System States Intercept SMS messages This objective may include but is not limited to: MessageInterceptor, MessageCondition
|