Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

Но и тут не обошлось без ложки дегтя в бочке меда. Во-первых, существует два различных подхода к реализации Bluetooth-соединений, которые не совместимы друг с другом. Во-вторых, пока не существует поддержки этой технологии в управляемом коде .NET Compact Framework. Примеры с Bluetooth-связью мы будем приводить для устройств под управлением Windows Mobile 5.0, так как они гарантированно используют одну и ту же реализацию Bluetooth-технологии. Так как библиотека .NET Compact Framework не имеет в своем составе классов, работающих с Bluetooth, то придется воспользоваться вызовами функций Windows API, как показано в листинге 12.6.

Листинг 12.6

public enum RadioMode {

 Off = 0,

 Connectable = 1,

 Discoverable = 2

}

///

/// Получает текущий статус bluetooth

///

/// флаги

///

[DllImport("BthUtil.dll")]

public static extern int BthGetMode(out RadioMode dwMode);

///

/// Устанавливает новый режим bluetooth

///

/// флаги для установки режима

///

[DllImport("BthUtil.dll")]

public static extern int BthSetMode(RadioMode dwMode);

private void mnuOn_Click(object sender, EventArgs e) {

 BthSetMode(RadioMode.Connectable);

 lblStatus.Text = RadioMode.Connectable.ToString();

}

private void Form1_Load(object sender, EventArgs e) {

 RadioMode mode;

 int ret = BthGetMode(out mode);

 lblStatus.Text = mode.ToString();

}

private void mnuOff_Click(object sender, EventArgs e) {

 ВthSetMode(RadioMode.Off);

 lblStatus.Text = RadioMode.Off.ToString();

}

В этом примере после запуска приложения текущий режим Bluetooth определяется при помощи функции BthGetMode, а с помощью команд меню пользователь может включать или выключать Bluetooth-соединение, используя функцию BthSetMode.

<p>Несколько слов о связи</p>

Несомненно, маленькие мобильные устройства, будь то смартфон или КПК, идеально подходят на роль коммуникационных устройств. В этой главе были приведены только самые простые примеры использования связи между устройствами. В последнее время набирают обороты такие виды связи, как Wi-Fi, GPS и GPRS. Кроме того, мобильные устройства имеют в своем составе браузеры для путешествия по Всемирной паутине. Таким образом, серьезному разработчику необходимо освоить весь спектр технологий, связанных с обменом данными между устройствами.

<p>Глава 13</p><p>Использование неуправляемого кода</p>

Несмотря на то что библиотека .NET Compact Framework имеет множество классов для выполнения самых разных задач, во многих случаях приходится прибегать к вызовам функций Windows API. А в некоторых случаях использование функций Windows API даже предпочтительнее, чем использование аналогичных методов управляемого кода, так как они позволяют оптимизировать и повысить производительность приложения.

Тема применения функций Windows API в .NET Compact Framework практически неисчерпаема. В некоторых случаях использование этих функций оправданно, так как других вариантов для выполнения тех или иных задач просто не существует. В то же время библиотека .NET Compact Framework постоянно развивается, и часть задач с успехом решается с помощью встроенных классов, добавляемых в каждой новой версии .NET Compact Framework. Поэтому разработчику придется постоянно проводить ревизию своих программ, заменяя в случае необходимости трудный код с использованием Windows API на код с использованием безопасного управляемого кода .NET Compact Framework.

<p>Вызов функций Windows API</p>

Для вызовов функций Windows API используется механизм P/Invoke. Большинство часто вызываемых функций находится в библиотеке coredll.dll.

Разработчики, которые пользовались функциями API в настольной версии Windows, наверняка обратят внимание на то, что эта библиотека coredll.dll содержит множество знакомых функций из библиотек kernel32.dll, gdi32.dll и user32.dll. Поэтому во многих случаях довольно легко будет перенести свои наработки из программ для настольного компьютера в приложения для мобильных устройств.

<p>Определение платформы</p>

Если нужно определить, на какой платформе запущено ваше приложение, то здесь вам не обойтись без вызова функции Windows API SystemParametersInfo.

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных