Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

  //==========================================

  //ОБНОВЛЕНИЕ СОСТОЯНИЯ

  //==========================================

  setStatus(ReceiveStatus.NotDone_Receiving);


  //-------------------------

  //Открыть принимающий поток

  //-------------------------

  try {

   irStreamIn = irdaClient.GetStream;

  } catch (System.Exception exGetInputStream) {

   m_errorDuringTransfer = "Error getting input stream - " + exGetInputStream.Message;

   goto exit_sub_with_error;

  }


  //Приготовиться к получению данных!

  const int BUFFER_SIZE = 1024;

  byte[] inBuffer = new byte[BUFFER_SIZE];

  int bytesRead = 0;

  do {

   //Считать байты из порта IR

   bytesRead = irStreamIn.Read(inBuffer, 0, BUFFER_SIZE);


   //Записать байты в наш выходной поток

   if (bytesRead > 0) {

    outputStream.Write(inBuffer, 0, bytesRead);

   }

  } while (bytesRead > 0);

  outputStream.Flush; //Закончить запись любых выходных данных


  //==========================================

  //ОБНОВЛЕНИЕ СОСТОЯНИЯ: УСПЕШНО ВЫПОЛНЕНО

  //==========================================

  setStatus(ReceiveStatus.Done_Success);

  return; //Ошибки отсутствуют

  //==========================================

  //ОШИБКА...

  //==========================================

exit_sub_with_abort:

  //ОБНОВЛЕНИЕ СОСТОЯНИЯ: Отменено (но не из-за ошибки)

  setStatus(ReceiveStatus.Done_Aborted);

  return;

exit_sub_with_error:

  //ОБНОВЛЕНИЕ СОСТОЯНИЯ: ОШИБКА!!!!

  setStatus(ReceiveStatus.Done_ErrorOccured);

 }

} //конец класса

Карты памяти

Прежде чем появились недорогие широко развертываемые сетевые технологии, существовало понятие "сетей доставки ‘на своих двоих’" ("sneakernet"). Именно так шутливо называли перенос данных с одного компьютера на другой путем их сохранения на физических носителях, например магнитных дисках; роль сетевых транспортных средств играли люди, а роль пакетов — физические носители информации. При наличии замечательных сетевых технологий, доступных сегодня, легко забыть о том, насколько полезными могут быть физически перемещаемые хранилища информации. Во многих случаях наиболее быстрым практическим способом переноса больших объемов данных с одного компьютера или мобильного устройства на другой компьютер/устройство является запись данных в памяти карты и физический перенос карты на другое устройство.

Современные съемные карты памяти обладают ошеломляющей емкостью; 256 Мбайт — обычное явление, 512 Мбайт — не столь уж большая редкость, а карты памяти емкостью 1 Гбайт доступны по вполне разумной цене. Емкость карт памяти продолжает расти по экспоненциальному закону. На рынок поступают карты памяти в самом различном исполнении, в том числе ключи памяти, присоединяемые к разъемам USB, карты Compact Flash, которые без труда подключаются к разъемам PCMCIA лэптопов через недорогие переходники, и карты Secure Digital Большинство этих средств хранения данных после вставки их в мобильное устройство или компьютер ведут себя просто как съемный жесткий диск.

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

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

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

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