Что такое context_object_name в представлениях django?

Я новичок в django. А теперь я изучаю общие представления на основе классов. Я пытался сделать это с помощью 32feet.net bluetooth api. На самом деле я еще не сделал ...

Я пытаюсь предоставить кому-то решение "щелкнуть для набора номера" для устройства Bluetooth, такого как мобильный телефон. Я пытался сделать это с помощью 32feet.net bluetooth api.

На самом деле я ничего не делал с bluetooth (со времен команд at через последовательный порт bluetooth), но я подключил рассматриваемое устройство, что поддерживает услугу громкой связи с компьютером. У меня есть следующий код, чтобы попытаться подключиться и отправить команду набора номера.

String deviceAddr = "11:11:11:11:11:11";
BluetoothAddress addr = BluetoothAddress.Parse(deviceAddr);
BluetoothEndPoint rep = new BluetoothEndPoint(addr, BluetoothService.Handsfree);
BluetoothClient cli = new BluetoothClient();
cli.Connect(rep);
Stream peerStream = cli.GetStream();

String dialCmd = "ATD 0000000000\r\n";
Byte[] dcB = System.Text.Encoding.ASCII.GetBytes(dialCmd);
peerStream.Write(dcB, 0, dcB.Length);

// Begin Edit ------------------------------------------------------------
Byte[] sResponse = new Byte[100];
peerStream.Read(sResponse, 0, 99);
TextBox1.Text = System.Text.Encoding.ASCII.GetString(sResponse);
// End Edit --------------------------------------------------------------

peerStream.Close();
cli.Close();
MessageBox.Show("Done");

Поскольку кажется, что он проходит через эти строки кода, требуется соответствующее время для подключения в соответствующем месте или происходит сбой, если адрес устройства неверен и он не могу подключиться. Очевидно, что AT-команда не подходит для ее отправки.

Может ли кто-нибудь объяснить мне, что мне может потребоваться отправить на устройство Bluetooth через профиль громкой связи, чтобы заставить его набирать номер?

Начать редактирование ---------------- ---------------------------

Я решил прочитать из потока и посмотреть, был ли какой-либо ответ после отправки По команде через. Поскольку я просто проверяю, смогу ли я заставить его работать, я просто выгружаю ответ в текстовое поле.

Ответ, который я прочитал из потока:

ERROR

Кажется, нет кодов ошибок или чего-то еще .

Конец редактирования -------------------------------------------- -

Редактировать --------------------------------------------- -----

Отправлена ​​команда: AT + CMER \ r

Результат: OK

, затем

Отправлена ​​команда: AT + CIND =? \ R

Результат: + CIND: ("сервис", (0-1)), ("вызов", (0-1)), ("callsetup", (0-3)), ("battchg", (0-5)) , ("сигнал", (0-5)), ("роуминг", (0-1)), ("callheld", (0-2))

затем

Отправить команду: ATD 0000000000 \ r

Результат: в порядке Думал, было то же самое? например, по идентификатору из companyDirector в ...

Может ли кто-нибудь объяснить, почему соединение по сущности, а не по идентификатору генерирует действительно некрасивый sql, хотя на самом деле концептуально он делает то, что вы думаете, было тем же самым? например,

По идентификатору

from companyDirector in CompanyDirectors
join contactAddress in ContactAddresses
  on companyDirector.ContactAddress.Id equals contactAddress.Id
select new {companyDirector, contactAddress}

Генерирует

FROM  [COMPANY] AS [Extent1]
    INNER JOIN [ADDRESS] AS [Extent2] ON [Extent1].[CONTACT_ADDRESS_ID] = [Extent2].[CONTACT_ADDRESS_ID]

По экземпляру

from companyDirector in CompanyDirectors
join contactAddress in ContactAddresses
  on companyDirector.ContactAddress equals contactAddress
select new {companyDirector, contactAddress}

генерирует

FROM  [COMPANY] AS [Extent1]
INNER JOIN [ADDRESS] AS [Extent2] ON  EXISTS (SELECT 
    1 AS [C1]
    FROM    ( SELECT 1 AS X ) AS [SingleRowTable1]
    LEFT OUTER JOIN  (SELECT 
        [Extent3].[CONTACT_ADDRESS_ID] AS [CONTACT_ADDRESS_ID]
        FROM [ADDRESS] AS [Extent3]
        WHERE [Extent1].[CONTACT_ADDRESS_ID] = [Extent3].[CONTACT_ADDRESS_ID] ) AS [Project1] ON 1 = 1
    LEFT OUTER JOIN  (SELECT 
        [Extent4].[CONTACT_ADDRESS_ID] AS [CONTACT_ADDRESS_ID]
        FROM [ADDRESS] AS [Extent4]
        WHERE [Extent1].[CONTACT_ADDRESS_ID] = [Extent4].[CONTACT_ADDRESS_ID] ) AS [Project2] ON 1 = 1
    WHERE [Project1].[CONTACT_ADDRESS_ID] = [Extent2].[CONTACT_ADDRESS_ID]
)

Это кажется мне довольно неэффективным, вынуждая вас использовать маршрут id. Почему он выполняет левое соединение дважды, не говоря уже об одном?

14
задан jenson-button-event 11 May 2011 в 08:22
поделиться