Статьи

Уменьшение загрузки с помощью Phone Gap для Windows Phone

Это   серия учебных пособий Phone Gap, в которой я создам приложение для определения разрыва телефона для каждой из поддерживаемых платформ. Это в основном мое собственное путешествие, за которым вы можете следовать. Я начну с Windows Phone, а затем преобразую его в IPhone, IPad, Android, Blackberry, Symbian. Мы обсудим советы и рекомендации по пути.

В последнем посте Phone Gap Tutorial # 2 мы рассмотрели все, что было создано для нас, когда вы запускали проект Phone Gap для Windows Phone с нуля. Как я сказал в этом посте:

Первая папка, которую вы заметите, это папка GapLib. Это содержит телефонный разрыв, который специфичен для Windows Phone. Этот .dll имеет некоторые интересные побочные эффекты, когда дело доходит до отправки на рынок.

В этом посте мы обсудим эти проблемы и покажем, что вы хотите, чтобы их обойти.

Если мы посмотрим на обозреватель решений, то увидим, что есть папка с WP7GapClassLib.dll, которая представляет собой код пробела телефона . Мы также можем видеть, что есть ссылка на это.

Обычно это было бы хорошо, но с Windows Phone и торговой площадкой Windows Phone исходный код из телефонного лагеря содержит информацию обо ВСЕХ возможностях. (Так как это то, что делает телефонный пробел , он соединяет ваш HTML с собственными возможностями). Обычно это было бы замечательно, но поскольку в процессе проверки на Marketplace он обнаружит возможности и перечислит их пользователям, которые будут загружать ваше приложение, мы этого не хотим.

Почему ты не хочешь этого? Что ж, это просто, если вы пишете приложение, в котором НЕ используются контакты, телефонный номер, камера и т.д. тянуть к большей части своих данных.

Так как же это исправить? Это просто. Сначала мы удаляем ссылку на WP7GapClassLib (щелкните правой кнопкой мыши -> Удалить) и удаляем папку GabLib.

Далее мы хотим добавить еще один проект в это решение. (Щелкните правой кнопкой мыши Solution в Solution Explorer -> Add Existing Project) и перейдите туда, где вы скачали разрыв телефона в папке \ lib \ windows \ framework. Вы заметите, что здесь есть 2 проекта

 

Затем добавьте ссылку на этот проект из вашего проекта (щелкните правой кнопкой мыши по ссылкам -> Добавить ссылку -> вкладка «Проекты»). Если вы создаете и запускаете проект, все должно работать нормально. НО на данный момент у вас нет доступа к каким-либо возможностям родного телефона из вашего HTML.

Чтобы показать вам это просто, мы попробуем использовать камеру из нашего HTML 5 (пример заимствован из Phone Gap )

Сначала добавьте вызов getPicture в метод onDeviceReady ().

navigator.camera.getPicture(onSuccess, onFail, { quality: 50 }); 

Затем добавьте методы onSuccess и onFail, на которые мы указывали в методе getPicture.

function onSuccess(imageData) {
            var image = document.getElementById('myImage');
            image.src = "data:image/jpeg;base64," + imageData;
        }
        function onFail(message) {
            navigator.notification.alert('Failed because: ' + message);
         }

Далее в том же документе (в разделе body) мы добавим ссылку, которая вызовет функцию showAlert ().  

Если вы попытаетесь запустить этот проект сейчас, он не будет работать. И если вы посмотрите в окно вывода, оно покажет следующее.

И вы также должны получить предупреждение в эмуляторе (из функции onFail).

Это связано с тем, что, поскольку мы используем только проект WP7ClassLibBare, нам нужно добавить эту функцию, если мы хотим ее использовать. (Это то, что мы хотим, добавьте ТОЛЬКО те возможности, которые нам нужны)

Щелкните правой кнопкой мыши папку плагинов и выберите «Добавить существующий элемент».

Перейдите туда, куда вы не загрузили телефонную пробку, и перейдите в папку \ lib \ windows \ framework \ PhoneGap \ Commands. Выберите камеру и выберите Добавить как ссылку.

Теперь запустите код, и вы увидите, что у вас есть доступ к камере. 

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

В следующем уроке мы начнем создавать страницы в нашем приложении и поговорим о том, как сделать его METRO.

Phone Gap Tutorial # 1 — Getting Started
Phone Gap Tutorial # 2 — Более глубокий взгляд
 

Источник: http://thesociablegeek.com/phone-gap-tutorial/phone-gap-tutorial-3-reduc-the-load/