субота, 15 лютого 2014 р.

PhoneGap. Как собрать свое приложение? Часть 2

В данном уроке, мы создадим приложение для Андроида используя PhoneGap.Изначально создадим структуру проекта, запрограммируем дизайн, соберем и отправим на устройство.

Шаг 0. Введение

Данный урок предполагает что у вас уже есть настроенная среда для разработки. Детально, как настроить свою ОС описано в первой части урока PhoneGap. Установка и конфигурация. Часть 1. Нашей основной задачей будет разобраться как работать с данной технологией для создания приложения на примере. Напоминаю, что внутри у нас будет локальный сайт.

 

Шаг 1. Постановка цели

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

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

На данном шаге, мы создадим наше приложение,  его каркас, сделаем вывод погоды и навигацию. После чего построим приложение и отправим его на устройство.

 

Шаг 2. Проектирование приложения

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

Screenshot_6

 

Шаг 3. Создание View

В этом шаге, создадим скелет нашего приложения, а также попробуем осуществить придуманный мною дизайн.

И так, идем с консоль, переходим в корень директории в которой будем строить наше приложение и даем команды на построение структуры.

phonegap create WeatherChecker

Дальше, открываем в этом месте проводник, там должна появиться директория WeatherChecker. Заходим в нее и открываем папку /www. Внутри именно и находиться наш сайт. Здесь мы и будем заниматься тем, чтобы построить вид и добавить нужный функционал.

Открываем index.html и начинаем создавать нашу главную страничку. Тут я уже не буду вдаваться в подробности. Здесь используется обычная HTML разметка, без использования дополнительных библиотек.



    
        
        
        
        
        
        Погода
    
    
        
Температура 20
Влажность 80%
Давление 1400
Направление ветра ЮГ
Скорость ветра 6м/с
Николаев

Дальше, модифицируем стили, которые были созданы по умолчанию, а также, добавляем необходимые для работы. Меняем цвет фона и отключаем градиент для странички. Убираем лишнее. Я оставил только стиль для body и  описал только нужные стили:

{
    -webkit-tap-highlight-color: rgba(0,0,0,0); /* make transparent link selection, adjust last value opacity 0 to 1.0 */
}
 
body {
    -webkit-touch-callout: none;                /* prevent callout to copy image, etc when tap to hold */
    -webkit-text-size-adjust: none;             /* prevent webkit from resizing text to fit */
    -webkit-user-select: none;                  /* prevent copy paste, to allow, change 'none' to 'text' */
    background: #626465;   
    background-attachment:fixed;
    font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;
    font-size:12px;
    height:100%;
    margin:0px;
    padding:0px;
    text-transform:uppercase;
    width:100%;
}
 
.weather-clock {
    height: 50px;
    font-size: 70px;
    font-weight: bold;
    color: #d5d5d5;
    text-align: center;
    margin-top: 30px;
}
 
#weather-icon{
    margin-top: 44px;
    background: url(../weather-icons/sunny.png) no-repeat center;
    background-size: 256px;
    height: 256px;
    transparent: none
}
 
.weather-info {
    margin-top: 40px;
    font-size: 25px;
    color: #d5d5d5;
    text-transform: none;
}
 
.weather-city {
    margin-top: 30px;
    font-size: 40px;
    text-align: center;
    color: #9c9c9c;
    text-transform: none;  
}
 
.weather-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px;
}

background: url(../weather-icons/sunny.png) no-repeat center; - здесь мы подключаем нашу иконку, для погоды. Так что копируем внутрь нашего приложения, по указанному пути наши графические файлы.

Удаляем папку img. Она нам не понадобиться. У ней находиться лого для приложения по умолчанию.

Изначально, сделаем наше приложение только портретным. Так что идем по пути /platforms/android/ и открываем AndroidManifest.xml. В нем, в теге activity добавляем android:screenOrientation="portrait".

Подпишем наше приложение по своему. Заходим в папку www и открываем там файл config.xml. Будем менять только пару слов в начальных строчках. Название нашего приложения внутри тега: <name>WeatherChecker</name>



    WeatherChecker
    
        Hello World sample application that responds to the deviceready event.
    
    
        Author
    
...

И как завершение в работе с графической частью, предлагаю поменять иконку на свою. Для этого идем по пути platforms/android/res/ и в директориях drawable меняем icon.png на свой. Внимательно смотрите за разрешением.

 

Шаг 4. Создание оффлайн функционала

У нас в приложении, по задумке, есть часы. Так что стоит написать маленький скрипт, который будет отображать часы. Наши скрипты, для приложения, будут находиться в файле core.js.

function startTime() {
    var today=new Date();
    var h=today.getHours();
    var m=today.getMinutes();
    var s=today.getSeconds();
 
    m=checkTime(m);
    s=checkTime(s);
    document.getElementById('clock').innerHTML=h+":"+m+":"+s;
    t=setTimeout(function(){startTime()},500);
};
 
function checkTime(i){
    if (i<10){
        i="0" + i;
    }
    return i;
};

 

Шаг 5. Строим наше приложение

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

phonegap run android

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

screenshot-1392406946752

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

Ресурс: www.devcolibri.com
Скачать src

Немає коментарів:

Дописати коментар

HyperComments for Blogger

comments powered by HyperComments