Первая программа на Java ME

👁 192 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Цикл статей «Учебник Java ME и LWUIT»

В прошлых постах мы рассматривали общий обзор того, что из себя представляет Java ME, рассмотрели конфигурации и профили платформы и прошлись по инструментам разработки и отладки. В данном посте продолжим и создадим начальный пример Hello World и запустим на виртуальном эмуляторе, входящий в Java ME SDK 3.2.

Требуемые инструменты

Для того, чтобы написать код и запустить пример нам необходимо установить следующий набор инструментов:

  • установленный JDK 7 или выше с виртуальной машиной Java;
  • Java ME SDK 3.4 — набор средств для разработки на Java ME, включающий в себя и эмуляторы;
  • Java ME SDK 3.4 Plugins for NetBeans — набор плагинов для NetBeans, скачиваются на официальном сайте, на той же странице и месте, где и Java ME SDK 3.4
  • IDE NetBeans — интегрированная среда разработки на Java. Причем, скачивать c поддержкой PHP. Не будем захламлять NetBeans ненужными, нужные мы сами дальше установим;
  • Плагины Java ME для NetBeans — дополнительно устанавливается через интерфейс NetBeans;

После того, как JDK 7 установлен, Java ME SDK 3.2 установлен и NetBeans установлен неободимо установить на NetBeans дополнительные плагины Java ME для создания проектов Java ME. Установка плагинов осуществляется через интерфейс NetBeans в меню «Сервис»->»Подключаемые модули»

netbeans-modules

Во вкладке «Доступные модули» через поиск вбиваем ключевое слово «Java ME» и устанавливаем все доступные модули, а те, что мы скачали в архиве Java ME SDK 3.4 Plugins for NetBeans(oracle-jmesdk-3-4-rr-nb-plugins.zip) добавляем через то же диалоговое окно, но со вкладки «Загружено», предварительно разархивировав содержимое архива.

Дальше нам настроить среду NetBeans, чтобы она нашла наш Java ME платформу на этапе создания проекта Java ME. Для этого опять заходим в меню «Сервис»->»Платформы Java»

netbeans-java-platforms

Нажимаем  появившемся окне на кнопку «Добавить платформу»

java-me-platform-set-netbeansВыбираем «Эмулятор платформы CLDC Java ME» , жмем далее и выйдет окно выбора папки домашней директории Java ME SDK

select-java-me-sdk-platform-netbeansПосле выбора платформы необходимо поставить галочку на обнаруженную платформу и нажать на кнопку «Готово». Все, настройка завершена, теперь приступим к созданию проекта.

Создание проекта Java ME

После установки всех плагинов и настройки платформы у нас будет возможность создавать проекты Java ME стандартным способом. Для этого переходим «Файл»->»Создать проект…»

create-java-me-cldc-project-netbeans

Выбираем шаблон проекта «Java ME» в категории и «Mobile Application» в проекте, жмем «Далее >»

type-name-and-next

Вводим название нашего проекта и выбираем место хранения, жмем «Далее >»

select-conf-and-profile-and-nextВыбираем платформу эмулятора, конфигурацию и профиль, жмем «Далее >» и «Готово»

our-java-me-project

На данный момент у нас есть пустой проект. Добавим класс «HelloWorld.java» в папку исходного кода, который будет содержать код запуска приложения с выводом на экран записи приветствия «Hello World»:

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.*;

/**
 * @author WebSofter
 */
//Создаем основной класс мидлета(Java ME приложения)
//через наследование класса MIDlet и реализацию интерфейса 
//обработчика команд CommandListener
public class HelloWorld extends MIDlet implements CommandListener{
    private Command cmdExit;//Объект комманды для меню
    private Display dispMainDisplay;//Объект дисплея для вывода
    public HelloWorld(){
        dispMainDisplay = Display.getDisplay(this);//Получаем текущий дисплей устройства
        cmdExit = new Command("Выход", Command.SCREEN, 2);//Создаем команду выхода     
}
    public void startApp() {
        //Создаем новый текст
        TextBox txtHello = new TextBox("Hello World", "Hello World!", 256, 0);
        //Добавляем нашу команду
        txtHello.addCommand(cmdExit);
        //Добавляем слушатель событий
        txtHello.setCommandListener((CommandListener) this);
        //Выводим текст на дисплей
        dispMainDisplay.setCurrent(txtHello);
        
    }
    //Стандартный метод паузы мидлета
    public void pauseApp() {
    }
    //Стандартный метод выхода из текущего окна класса
    public void destroyApp(boolean unconditional) {
    }
    //Обработчик событий, реализованый из интерфейса CommandListener
    public void commandAction(Command c, Displayable s){
        if(c == cmdExit){
            destroyApp(false);//Выходим из мидлета
            notifyDestroyed();//Уведомляем о выходе
        }
    }
}

Необходимо отметить, что в Java название класса должно соответствовать названию файла класса иначе выйдет ошибка. Данный класс содержит основной минимальный код для запуска приложения Java ME, иначе говоря мидлета(MIDlet), так называются программы для Java ME в среде Java.

После того, как класс есть и код для него написан необходимо зарегистрировать данный, главный, класс в свойствах проекта. Для этого нажимаем ПКМ на проекте и выйдет диалоговое окно с настройками проекта

project-properties-winВ разделе «Application Descriptor» во вкладке MIDlets записываем название главного класса, которого мы добавили в проект. Жмем «OK» и запускаем наш проект b мы увидим как запуститься эммулятор и установится в него наш мидлет и запустится автоматически

run-our-midlet-jar

После сборки проекта в директории проекта dist появятся файлы Hello_World.jad и Hello_World.jar.

Актуальность написания приложений под Java ME

👁 156 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Цикл статей «Учебник Java ME и LWUIT»

Технология запуска приложений на Java не встроена в такие телефоны, где установлены ОС, как Android, iOS, WinPhone, но есть в BlackBerry и Symbian(мертв, чем жив). Отсутствие Java в этих устройствах вызвано лишь коммерцией, а не какими-то техническими трудностями реализации. Но для этого есть сторонние программы и утилиты, которые позволяют запускать поверх ОС Java-приложения, что, не особо впечатляет ни скоростью и ни производительностью. Но, во всяком случае, есть еще миллионы телефонов, на которых, кроме Java, ничего не работает и это, как никак, тоже рынок и сфера разработки, где еще актуальны приложения на Java ME и эта нища будет существовать, так как еще есть потребность в обычных телефонах без выкрутасов.

Для тех, кто хочет перейти на новый уровень разработки на Java для современных мобильных систем можно посоветовать Oracle ADF Mobile.

Oracle Mobile Application Framework (Oracle MAF) — это гибридный мобильный фреймворк, который позволяет  разработчикам быстро построить, с простым кодом, приложения и развертывать их на обеих, на iOS и Android, операционных системах.

Oracle MAF использует для достижения своей цели такие языки и технологии, как Java, HTML5 и JavaScript, предоставляя законченный MVC фреймворк с декларативным пользовательским интерфейсом. Oracle MAF предоставляет, как визуальный, так и декларативный способы разработки для быстрого построения интерфейса.

Возвращаясь к теме можно сказать, что Java ME можно запускать на современных устройствах с ОС Android, iOS, WinPhone через сторонние эмуляторы, но лучше будет, если этого не делать, так как стабильный эмулятор вы вряд ли найдете, а возможность использовать Java ME приложение на этих ОС стремится к нулю и поэтому, лучше, если использовать инструмент по назначению, проектируя приложения именно для телефонов, которые ориентированы на приложения на Java ME, которые сейчас выпускаются еще в немалом количестве.

Статистика актуальности разработки на Java ME для телефонов

На данный момент, по данным портала NetMarketShare на сентябрь 2015 года, подавляющее большинство смартфонов идут с ОС Android — 57,29 мирового рынка, за Android идет iOS — с 35,43% , далее идет WinPhone с количеством в 2,58% доли мирового рынка мобильных ОС, далее идет наш Java ME  с количеством в 1,85% доли рынка.

img-statistic-of-mobile-apps

Находясь, даже, на 4-ом месте, платформа Java ME имеет уже какой-то смысл разработки, так как в рабочей обстановке любой человек пользуется обычным телефоном, который имеет кнопочную клавиатуру для удобства пользования и в ней же есть платформа Java ME — в обязательном порядке.

 

Технология Java ME в 2016

👁 107 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Цикл статей «Учебник Java ME и LWUIT»

Java — платформа серии Micro Edition(Java ME) предоставляет надежную, гибкую среду для запуска программ на встраиваемых и мобильных устройствах, способных обмениваться в среде Интернет: микроконтроллеры, сенсоры, шлюзы, мобильные телефоны, PDA, телевизоры, принтеры и многое другое. Java ME включает гибкий пользовательский интерфейс, надежную безопасность, протокол построения через сеть и возможность обновлять ПО через сеть динамически. Приложения, написанные для платформы Java ME портируются для многих устройств, где стоит Java -машина и используют только те возможности, которые предлагает данное устройство.

Прежде, чем приступать к изучению платформы Java ME полезно знать место этой технологии в общей базе языка программирования Java. Как было сказано выше, Java ME делится на подклассы устройств, которые имеют свои специфичные функции, поэтому такое разделение — это логичный подход. Основные разделения данной платформы это:

  • конфигурации;
  • профили.

java-me-platform-ralization-scheme

Конфигурации Java ME

Java ME специфицирует две базовые конфигурации, которые определяют требования к виртуальной машине (ограничение набора допустимых инструкций и др.), а также минимальный набор базовых классов: CLDC (Connected Limited Device Configuration — конфигурация устройства с ограниченными ресурсами и коммуникационными возможностями) и CDC (Connected Device Configuration — конфигурация устройства с нормальными ресурсами и коммуникационными возможностями).

Конфигурация CLDC успешно используется в обычных мобильных телефонах и портативных органайзерах, в которых встроена Java — машина KVM(Java Kilobyte Virtual Machine).

Профили Java ME

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

В настоящее время самой распространённой конфигурацией является CLDC, для которого разработан профиль MIDP (Mobile Information Device Profile — профиль для мобильного устройства с информационными функциями). Приложения, написанные для этого профиля, называются мидлетами (англ. MIDlet). Другим популярным профилем для CLDC является DoJa, разработанный фирмой NTT DoCoMo для её собственного сервиса iMode. iMode весьма распространён в Японии, и в меньшей степени в Европе.

MIDP (англ. mobile information device profile) — профиль для мобильного телефона с информационными функциями (платформа JME). MIDP располагает понятием мидлет — компактное приложение на языке Java, имеющий небольшой размер, что делает его пригодным для передачи по сети и установки на мобильном устройстве с ограниченным ресурсом.

Простыми словами можно утверждать, что CLDC определяет характеристики самого устройства: память, дисплей, процессор…, а MIDP определяет характеристику приложения, которая работает поверх характеристик CLDC. Помимо MIDP существует IMP, который считается устаревшим. Последней версией MIDP является версия 2.1.

Java ME и LWUIT. Введение в Java ME

👁 137 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Цикл статей «Учебник Java ME и LWUIT»

Компактная версия платформы Java (Java ME) представляет собой надежную и настраиваемую среду для приложений, работающих на мобильных и встраиваемых устройствах: мобильных телефонах, цифровых приемниках, проигрывателях дисков Blu-ray, цифровых устройствах хранения данных, модулях M2M, принтерах и других устройствах

java-me-appas-for-mobile-phones-article-step-by-step

Технология Java ME изначально разрабатывалась для преодоления ограничений, связанных с созданием приложений для компактных устройств. С этой целью компания Sun Microsystems(купленная ныне Oracle) разработала технологию Java ME, которая способна соответствовать подобным техническим ограничениям и позволяет создавать Java- приложения, работающие на компактных устройствах с ограниченным объемом памяти, диагональю экрана и зарядом аккумулятора.

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

Учебник Java ME и LWUIT

👁 126 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

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

Глава 1. Введение

1.1. Введение в Java ME

1.1.1. Технология Java ME в 2016

1.1.2. Актуальность написания приложений под Java ME

1.1.3. Инструменты разработки и отладки для Java ME

1.1.4. Первая программа на Java ME

1.2. Введение в LWUIT

1.2.1. Включение библиотеки LWUIT к проекту

1.2.2. Первая программа на LWUIT для Java ME

Глава 2. Использование виджетов LWUIT в приложениях

2.1. Основные понятия LWUIT. Компонент, контайнер и форма.

2.2. Форма. Класс Form

2.3. Кнопка. Класс Button

2.4. Радиокнопка. Класс RadioButton

2.5. Группировка кнопок. Класс ButtonGroup

2.6. Поле галочки. Класс CheckBox

2.7. Поле выборки. Класс ComboBox

2.8. Вкладки. Класс Tabs

2.9. Мультистрочный текст. Класс TextArea

2.10. Текстовое поле. Класс TextField

2.11. Календарь. Класс Calendar

2.12. Бегущая строка. Класс Tickering

2.13. Двунаправленное чтение текста. Класс Bidi

Глава 3. Виртуальная клавиатура в Java ME

3.1. Настройка виртуальной клавиатуры

3.2. Смена виртуальной клавиатуры

3.3. Добавление языков

3.4. Режим ввода для ближневосточных языков

3.5. Связка виртуальной клавиатуры с текстовым полем класса TextField

3.6. Добавление собственной кнопки на виртуальную клавиатуру

Глава 4. Использование списков

4.1. Инициализация списка

4.2. Создание модели. Классы ListModel и DefaultListModel

4.2. Прорисовка ячеек списка. Классы ListCellRenderer и DefaultListCellRenderer

4.2. Добавление и удаление элементов списка

4.3. События списка

4.4. Бегущие строки в списке

4.5. Общий подход вывода ячеек

4.5.1. Отображение компонентов в Hashtable — сущностях

4.5.2. Фокусировка

4.5.3. Пример с Hashtable

Глава 5. Таблицы и деревья

5.1. Таблицы

5.2. Дерево

5.3. Настройка дерева

Глава 6. Использование диалогов

6.1. Типы диалогов

6.2. Создание диалога

6.2.1. Возвращаемые типы методов показа

6.2.2. Методы нестатического показа

6.2.3. Использование метода dispose()

6.2.4. Получение пользовательского ввода из диалога

Глава 7. Использование менеджеров схем

7.1. Схема BorderLayout

7.2. Схема BoxLayout

7.3. Схема FlowLayout

7.4. Схема GridLayout

7.5. Схема GroupLayout

7.6. Схема Coordinat Layout

7.7. Схема Table Layout

8. Использование стилевых объектов CSS

8.1. Цвет

8.2. Шрифт

8.3. Прозрачность

8.4. Отступы

8.5. Картинки

8.6. Бордюры

8.7. Слушатели стилей

8.8. Маляры

Глава 9. Тематизация

9.1. Базовая тематизация

9.2. Смотри и чувствуй

Глава 10. Ресурсы

10.1. Элементы ресурсов

10.1.1. Построение пакетов

10.1.1.1. Создание ресурсов

10.1.1.2. Загрузка ресурсов

10.1. 2. Ресурсы изображений

10.1.3. Шрифты

10.1.4. Локализация (L10N)

10.1.5. Темы

10.2. Редактор ресурсов LWUIT

10.2.1. Изображения и анимации

10.2.2. Шрифты

10.2.3. Локализация

10.2.4. Темы

11. Красители Painters

11.1. Использование красителя

11.2. Цепочка красителя (Painter)

11.3. Зеркальная панель

12. Реализация LWUIT

12.1. Класс LWUIT

13. Работа с гипертекстом. Класс HTMLComponent

13.1. Случаи использования HTMLComponent

13.1. 1. Вывод Rich Text

13.1.2. Чтение HTML  разрешение внешних ресурсов

13.2. Функция HTMLCallBack

14. Использование переходов и анимаций. Классы Transition и Animation

14.1. Анимации

14.2. Перемещения

14.3. Переходы

15. Авторские компоненты

15.1. Рисование

15.2. Размеры схем

15.3. Обработка событий

15.4. Фокусировка

15.5. Рисование трубопровода

15.6. Стилизация

15.7. Задняя поверхность

15.8. Анимации компонентов

15.9. Пользовательские компоненты

16. Мобильность и производительность

16.1. Введение

16.2. Производительность

16.2.1. Память

16.2.2. Скорость

16.3. Баги устройства и ограничения

16.4. Зависимости и разрешения

16.5. Особенности ввода и вывода. Кнопки и тачскрины

16.6. Специфика работы приложений Java ME на различных моделях устройств

Часть 2. Java EE. Развертывание проекта Tomcat 8 на OpenShift

👁 158 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

В первой части данной статьи рассматривалась тема про интеграцию и запуск первого проекта на Tomacat 8 с IDE Netbeans 8.2. В данной части рассмотрим пример развертывания, или, иначе говоря,загрузка готового релиза проекта на удаленный сервер, где он будет уже использоваться клиентами. В роли сервера можно использовать люубую платформу, где стоит ОС Windows, Ubuntu, Mint, CentOS, Red Hat и т.д., для которых есть релизы сервера Tomcat. В данном примере рассмотрим пример развертки нашего проекта на бесплатном облачном хостинге OpenShift, который предлагает сервер на Red Hat. По сути дела, OpenShift — это отдельный проект от той же Red Hat для масштабируемых проектов в облачной вычислительной системе, которая работает на ОС Red Hat. OpenShift предлагает сервер c характеристиками:

512 MB RAM
100 MB swap
1 GB disk space

чего очень даже предостаточно для мелких проектов.

Система OpenShift представляет из себя сервис из рода PaaS. Platform as a Service (PaaS, «платформа как услуга») — модель предоставления облачных вычислений, при которой потребитель получает доступ к использованию информационно-технологических платформ: операционных систем, систем управления базами данных, связующему программному обеспечению, средствам разработки и тестирования, размещённым у облачного провайдера.

 

Доступ клиентов к проекту

Перед тем, как создать проект нужно создать доменное имя третьего уровня для проектов в доменной зоне второго уровня rhcloud.com. Это логично, потому что мы делаем наш проект доступным для клиентов, а клиенты могут увидеть наш проект через браузер и через доменную часть проекта. Делается это бесплатно в самой системе OpenShift. На самом деле, это будет частью доменного имени для нескольких проектов, а другая часть будет добавляться в зависимости от того, как вы назовете часть доменного имени конкретного проекта. К примеру, вы создали доменную зону projectsdomain.rhcloud.com, где projectsdomain — общее , уникальное в пределах OpenShift и доменная зона под ваши проекты. А остальная часть будет добавляться через дефис. К примеру, вы сделали чат на Tomcat и назвали домен данного чата, как chatproject, то полноценная ссылка, по которой будет доступен ваш чат на OpenShift будет выглядеть, как chatproject-projectsdomain.rhcloud.com. На самом -то деле, такое длинное название для ссылки на проект — это не приговор, а необходимость OpenShift и это ограничение окупается бесплатностью облачной системы и возможностью дополнить название домена уникальным образом. Вариантом решения данной проблемы является регистрация домена проекта на стороннем регистраторе доменов и указание в панели управления данного домена ссылки на projectchat-projectsdomain.rhcloud.com и делается это через поля CNAME, указав в роли параметра новый домен, а в роли значения — ссылку  chat-mydomain.rhcloud.com на наш проект на OpenShift

overview-platform-features-14

Подробнее об этом можно почитать по ссылке официальной документации.

 

Установка необходимого ПО на сервер

Вся структура управления проектом производится, в основном из командной строки Red Hat, а начальную установку необходимого ПО можно произвести и из панели управления через аккаунт консоли OpenShift. Весь набор ПО, которую можно «юзать» представлен на странице, через кнопку «Add application…». На странице добавления программы в проект есть множество ПО, начиная от БД и заканчивая интерпретаторами Python.

openshift-tomcat-dep-app-page

Из всего этого разнообразия, исходя из темы данной статьи, нам нужен сервер на основе Tomcat 8. На момент написания статьи Tomcat 8 не предоставлен на сервисе OpenShift и это можно решить выбором Tomcat 7 и принципиальных отличий не будет, если проект не использует специфичные для Tomcat 8 функций.

create-tomca-tcatridge-on-openshift-png-of-article

На следующем шаге, после создания проекта мы попадем на панель, где будут все наши проекты и наш проект chatproject

created-tomcat-catridge-on-openshift

Нажав на данный проект мы попадем в панель управления данным проектом, где можно дополнительно поднастроить или дополнить наш проект. Особое внимание требует панель «Source Code», где находиться ссылка для доступа к коду проекта.

 

created-tomcat-catridge-on-openshift-info-on-panel

OpenShift не располагает какой-то панелью для редактирования и загрузки релиза проекта на сервер, но вместо этого он выдает ссылки для аутентификации и ссылку для доступа к исходному коду. Как этими ссылками пользоваться рассмотрим далее

Аутентификация и доступ к серверу Red Hat через канал SSH

Для того, чтобы управлять севером Red Hat будем пользоваться программой PuTTY, которая позволит нам осуществить связь с удаленным сервером из нашего компьютера через консоль и выполнять различные команды для настройки системы.

Принцип RSA — аутентификации заключается в генерации 2-х ключей: публичного и приватного. Приватный ключ должен быть у нас на компьютере для нашего PuTTY, а публичный — на сервере для OpenShift, далее.

Вместе с PuTTY загрузим и PuTTYgen для генерации RSA ключей, посредством которых мы можем связаться и аутентифицироваться на удаленном сервере через SSH протокол.

Для генерации ключей открываем программу PuTTYgen, жмем на кнопку «Generate» и проводим мышкой по области под процесс-баром

puttygen-create-private-and-public-keys-for-openshift-proj

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

puttygen-create-private-and-public-keys-for-openshift-proj-2

Далее, для подключения к удаленному серверу нам достаточно иметь под рукой:

  1. Приватный и публичны ключи, сгенерированные при помощи PuTTYgen;
  2. Логин к Red Hat серверу нашего проекта;
  3. Программа PuTTY для аутентификции и выполнения команд через консоль.

Логин к серверу проекта генерируется OpenShift и можно узнать, нажав на ссылку «Remote Access» на панели проекта

login-catridge-on-openshift-panel

А для того, чтобы OpenShift знал наш публичный ключ, то его надо прописать в поле регистрации SSH -ключей на панели «Settings», нажав на кнопку «Add a new key»

add-new-ssh-public-key-openshift-settings-panel

При добавлении нового ключа задаем имя и копируем текст публичного ключа, который был сгенерирован у нас программой PuTTYgen жмем create

process-add-new-ssh-public-key-openshift-settings-panel

И все, теперь нам нужно все нужные данные в PuTTY и соединиться с удаленным сервером на OpenShift, где царит мир команд Red Hat. Для этого открываем PuTTY

puttygen-create-new-session-of-openshift-connection

После ввода всех данных и нажатия кнопки «Open»мы попадаем в командную консоль Red Hat, где потребуется ввести ключевую фразу, которую мы вводили при регистрации приватного ключа и где уже можем творить что угодно с сервером, включая установку и удаление программ и файлов

puttygen-command-console-of-openshift-connection

Загрузка проекта на удаленный сервер OpenShift

После того, как выбрали и установили нужное ПО на наш сервер с определенным публичным доменном и настроили проект, необходимо подготовить инструменты для загрузки проекта из нашего компьютера на сервер Red Hat под нашим аккаунтом OpenShift.

Для этого есть несколько способов, но мы воспользуемся одним из них — загрузка через инструмента контроля версий GIT TortoiseGIT. После загрузки и установки данного инструмента нам необходимо настроить локальный GIT репозиторий. Для этого создаем папку на нашем компьютере, где будет репозиторий загружаемого проекта и внутри этой папки жмем левой кнопкой мыши на пустую область и выбираем пункт «Git Clone…»

git-clone-in-git-repositoriy

Далее выйдет окно предварительной настройки проекта, где вводим ссылку на исходники нашего проекта, скопировав его из OpenShift панели проекта и указав на файл приватных ключей, которую мы ранее сгенерировали

git-clone-in-git-repositoriy-settings-panel

После этого жмем «Ок» и исходники с сервера проекта скопируются в наш локальный Git — репозиторий. В данной папке заходим в папку webapps и копируем туда наш проект с раширением .war из папки дистрибутива, где его построил IDE NetBeans переименовав его в ROOT.war. Далее заходим в корневую папку скачанных исходников в репозитории и из меню ЛКМ выбираем пункт «Git commit -> «master» …»

commit-master-git-repo-proj

После нажатия выйдет окно настройки коммта. Коммит(commit) — это сеанс загрузки проекта на сервера из локального репозитория с комментарием об изменениях. В окне весь список того, чего нет на сервере или того, что не синхронизировано в соответствии с содержимым на сервере. Т.е., всякое изменение в локальной репозитории должно быть отражено в репозитории на сервере, поэтому, Git — инструмент и предназначен для управления всей этой «кашей»

commit-master-do-process-commiting

Далее нажимаем на кнопку «ОК» и выйдет окно с процессом и с кнопкой «Push…»

process-commit-master-do-process-commiting

на которую нажмем и выйдет окно с преднастройками

process-commit-master-do-process-commiting-width-presettings

Нажимаем «ОК» и вводим ключевую фразу для наших ключей, которую мы создали при генерации в PuTTY в появившемся окошке

process-commit-master-do-process-commiting-width-presettings-keyphrase

далее, жмем «ОК» и пойдет процесс переброски обновленных файлов из локального репозитория на репозиторий проекта на сервере OpenShift

process-commit-master-do-process-commiting-succes

Теперь, после удачной переброски, закрываем это окно и переходим по ссылке нашего проекта projectchat-projects.domain.rhcloud.com, где мы и увидим его в задеплоенном или, иначе говоря, в развернутом виде на нашем сервере.

 

LWUIT. Формы. Установка заднего фона формы

👁 103 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Формы в Java ME — это верхнеуровневые компоненты, которые служат корневым элементом в интерфейсе LWUIT — библиотеки. Часто требует разметить фото на заднем фоне формы и подогнать сразу под размеры экрана. Для установки и масштабирования, под скрин, заднего фона в виде картинки в форме можно воспользоваться следующим кодом:

Image iMBanner;
try {
    iMBanner = Image.createImage("/res/main-banner.png");
    fLBanner.setLayout(new BorderLayout());
    fLBanner.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
    fLBanner.setLayout(new BoxLayout(BoxLayout.X_AXIS));
    fLBanner.getStyle().setBgImage(iMBanner);
    fLBanner.getStyle().setBackgroundType(Style.BACKGROUND_IMAGE_SCALED);
} catch (IOException ex) {
    ex.printStackTrace();
    System.out.print("Error\n\n"+ex.getMessage());
    fLBanner.addComponent(new Label(ex.getMessage()));
}
fLBanner.show();

Часть 3. Python/Django и Hello World. Настройка быстрого запуска проектов в виртуальных средах через обертки разделения под OS Windows.

👁 203 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Цикл статей «Django шаг за шагом»

После того, когда мы уже создали и запустили тестовый проект Python/Django под ОС Windows, то нам необходимо сделать несколько операций по упрощению управления и переключения между проектами через командную строку, чтобы не писать лишний раз однотипные команды. И тут мы подходим к стадию изучения оберток виртуальной среды для разделения проектов и быстрого их запуска.

Установка инструмента обертки виртуальной среды

Для установки инструмента виртуальной обертки заходим в папку пользователя, у меня это C:/Users/WebSofter, и запускаем команду установки:

pip install virtualenvwrapper-win

Далее проследует процесс установки и после установки надо создать новую переменную в переменных средах пользователя в виде WORKON со значением пути %USERPROFILE%\Envs, где Envs — это папка хранения для всех, создаваемых виртуальных сред
python-create-virt-param-wrapper-WORKON

Отныне, для создания виртуальной среды достаточно из любого места набрать команду:

mkvirtualenv MyEnv

где MyEnv — это название новой среды. При создании виртуальной среды они автоматически создаются в папке C:\WebSofter\Envs. А для деактивации текущей виртуальной среды достаточно набрать из любого места команду:

deactivate

А для переключения активации той или иной среды достаточно набрать команду:

WORKON MyEnv

где MyEnv — активируемая среда.
На этом установка и настройка оберток виртуальной среды окончено.

Часть 2. Python/Django и Hello World. Настройка администрирования тестового проекта Python/Django под OS Windows.

👁 215 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Цикл статей «Django шаг за шагом»

Для того, чтобы полноценно понимать как устроена модель MVC/MTV -модель фреймворка Django для нас будет очень полезно понимать как создаются модели, виды и шаблоны. Чтобы сделать такую тестовую страницу, где есть и модель и вид и контроллер в фреймворке Django есть встроенная система создания администраторов системы, по простому счету, это обычная панель администратора сайта. В данной статье проведем операции создания нового администратора и создадим базу данных для хранения администраторов. По умолчанию, Django работает с локальной БД SQLite, этого достаточно для мелких проектов, но если требует создавать большую базу данных с большим количеством запросов, то потребуется установить MySQL или PostgreSQL или что-то еще посерьезнее. При установке Django — исходников проекта БД SQLite создается автоматически и нам остается только создать суперпользователя через командную строку и войти через панель управления сайта

Создание суперпользователя

Для создания суперпользователя, останавливаем работу сервера, заходим в корневую папку нашего проекта(в прошлой части мы создали тестовый проект mathzilla,  с ним и будем работать) и выполняем следующие команды:

python manage.py migrate
python manage.py createsuperuser

Заполняем регистрационные данные и далее запустим наш сервер:

python manage.py runserver

python-create-django-site-superuser

Далее переходим по ссылке

http://127.0.0.1:8000/admin/

и заполняем данные, которые мы установили в настройках суперпользователя на этапе создания суперпользователя — логин и пароль и увидим панель управления
python-page-of-admin-panelНа этом настройка и создание суперпользователя сайта на Python/Django под Windows закончено.

Часть 1. Python/Django и Hello World. Запуск тестового сайта на Python/Django под OS Windows.

👁 634 просмотров
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (1 оценок, среднее: 5,00 из 5)
Загрузка...

Цикл статей «Django шаг за шагом»

Django — это MVC/MTV — фреймворк, написанный на языке Python,  а Python — высокоуровневый язык для всех повседневных задач на любой платформе и имеет интерпретаторы для всех известных ОС, есть даже реализация для запуска поверх Java — машины, которая именуется , как Jython.

О чем будет статья?

В статье затронем моменты установки интерпретатора Python 3.x и Django на Windows, в целях запуска тестового сайта на Python на ОС Windows. Обычно, при разработке проекта приходиться писать код на десктопе, чем и служит для нас Windows, а конечный вариант грузить на сервер, где правит только командная строка Linux — системы.

Установка Python и PIP на Windows

Для установки переходим на официальный сайт разработчика. Наводим курсором на раздел «Downloads» и видим всплывающее табло

get-python-version-3

На момент написания данной статьи поддерживаются 2 версии языка — 2.x и 3.x. Так как на версии 2.x написано очень много проектов и версии языка отличаются друг от друга кардинально, то поддерживаются обе версии, но в новых проектах предпочтительнее использовать последнюю версию языка — 3.x. Загружаем и кликаем для установки. Установка Python 3.x идет стандартным образом

install-py-step-1

На начальном этапе установки необходимо указать, что мы хотим добавить нашу программу в переменную среду Windows, чтобы выполнять команды Python через командную строку. Если данный пункт отсутствует на интсалляторе, то придется добавить вручную через панель настроек Windows, прописав через «;» путь установки Python для переменной PATH. Инсталлятор предлагает по умолчанию установить Python в папку пользователя системы. Нажмем пользовательский режим, оставляем все, как есть и принимаем во внимание, что pip устанавливается в процессе инсталляции Python и если в инсталляторе его нет, придется установить после установки Python.

pip — это один из инструментов Python, который предназначен для загрузки и установки дополнительных пакетов Python. В дальнейщем он нам нужен будет для загрузки и запуска Django

install-py-step-2

Жмем «Next» и меняем место установки. Можно установить в любое удобное место — все на вкус и удобство пользователя. Жмем «Install» и заканчиваем установку.

install-py-step-3

Если в командной строке выскакивает сообщение, что есть более новая версия pip и, вместе с инсталлятором установилась старая версия, то проблему решит апгрейд pip через команду:

python -m pip install -U pip

Если pip не установлен при инсталляции, то давайте разберем другой способ установки pip. Другой способ установки инструмента pip — скачиваем этот инструмент get-pip.py с официального сайта и запускаем этот файл через командную строку

python get-pip.py

После установки надо добавить переменную C:\PythonServer\Lib\site-packages\django\bin в PATH к уже имеющимся переменным Python, которые были добавлены автоматически инсталлятором

django-bin-in-path

Установка Django в виртуальной среде Windows

После того, как Python и pip установлены и настроены переменные среды, необходимо установить пакеты Django. Есть несколько способов установки Django. В данной статье будем пользоваться рекомендованным методом установки официального релиза Django.

Ниже показан рекомендованный метод установки Django от разработчиков этого фреймворка:

  1. Установка через pip. Так как pip был установлен через автономный инсталлятор, то необходимо проверить на то, что он имеет последнюю, актуальную версию, иначе это может быть причиной сбоя установки.
  2. Использование virtualenv и virtualenvwrapper. Эти инструменты предоставляют изолированные среды Python, которые являются более практичными, чем устанавливаемые пакеты в системе. Они , также, позволяют устанавливать пакеты без привилегий администратора. Здесь дополнительная информация по созданию и использованию virtualenv на Python 3.
  3. После создания и активации виртуальной среды, нужно установить Django через команду
pip install Django

Теперь необходимо выполнить каждый из вышеизложенных шагов последовательно.

  1. Так как pip был у нас установлен в процессе инсталляции, то пропускаем этот шаг.
  2. Устанавливаем виртуальную среду через установщик pip при помощи последовательности команд:
    pip freeze
    pip install virtualenv

    и проверяем версию установленного virtualenv:

    pip freeze

    python-inst-virt-env

  3. Итак, в предыдущем шаге мы установили инструмент для создания виртуальных сред Python. Настал момент создания виртуальной среды. Виртуальную среду можно создать в любом месте. Для нашего примера создадим в корневой папке Python C:\PythonServer\  новую папку Environments, в которой будут создаваться наши новые среды. Теперь в этой папке создадим новую виртуальную среду под названием «sites» и для этого, через командную строку заходим в папку C:\PythonServer\Environments и выполняем команду:
    virtualenv sites

    И после того, когда виртуальная среда создана, через командную строку заходим в папку созданной виртуальной среды:

    cd sites

    и активируем эту среду при помощи команды:

    .\Scripts\activate

    и выполняем команду:

    pip freeze

    которая вернет версию скрипта
    python-create-virt-env
    Для деактивации текущей среды или выхода из текущей среды необходимо, из папки текущей среды, выполнить команду:

    .\Scripts\deactivate

     

  4. После того, как создали виртуальную среду и активировали нам необходимо установить в эту виртуальную среду фреймворк Django:
    pip install django

    Далее заходим в папку нашей среды и устанавливаем через .\Scripts\django-admin.py исходники нашего проекта через команду:

    pip freeze
    python .\Scripts\django-admin.py

    или то же самое можно сделать через команду, которая работает через виртуальную среду:

    django-admin startproject mathzilla

    где mathzilla — это название моего проекта. После выполнения этой команды в корневой папке нашей среды sites будет создана новая папка mathzilla с исходниками нашего начального проекта и осталось его запустить.
    В Django, внутри проекта может содержаться приложения и по сути дела, любой проект Django — это сборка мелких отдельных приложений, которые, как кирпичики служат для всей работоспособной системы. Для создания приложения внутри проекта необходимо зайти внутрь папки проекта и запустить команду:

    pip freeze
    python .\Scripts\django-admin.py

    или, то же самое можно сделать командой:

    django-admin startapp myapp

    Для запуска проекта переходим в папку нашего проекта выполняем команду запуска сервера при помощи файла manage.py:

    cd mathzilla
    python manage.py runserver

    python-inst-django-run-server
    и пойдет процесс запуска сервера с указанием локальной ссылки и порта, по которому у нас доступен наш тестовый сайт на Django. В моем случае сервер запустился по ссылке:

    http://127.0.0.1:8000/

    python-runned-django-project

На этом установка Python и тестового сервера с Django завершена.