Разработка Android с PhoneGap может быть сделана в Windows, OS X или Linux
Шаг 1. Настройка инструментов Android
ADT Bundle — всего лишь один шаг для настройки среды разработки Android
Шаг 2: Загрузка и установка PhoneGap
- Посетите страницу загрузки PhoneGap и нажмите оранжевую ссылку «Загрузить», чтобы начать процесс загрузки.
- Распакуйте архив в локальную файловую систему для последующего использования.
Теперь вы готовы создать свой первый проект PhoneGap для Android в Eclipse.
Шаг 3: Создание проекта в Eclipse
Выполните следующие действия, чтобы создать новый проект Android в Eclipse:
- Выберите New> Android Project
- На экране «Информация о приложении» введите имя пакета для вашего основного приложения Android. Это должно быть пространство имен, которое логически представляет структуру вашего пакета; например, com.yourcompany.yourproject .
- Создайте новый проект в рабочей области и нажмите «Далее».
- Настроить значок запуска и фон
- Создать активность
Настройте проект для использования PhoneGap
На данный момент Eclipse создал пустой проект Android. Тем не менее, он еще не настроен для использования PhoneGap. Вы сделаете это дальше.
- Создайте каталог assets / www и каталог libs внутри нового проекта Android. Все HTML и JavaScript для вашего интерфейса приложения PhoneGap будут находиться в папке assets / www
Чтобы скопировать необходимые файлы для PhoneGap в проект, сначала найдите каталог, в который вы скачали PhoneGap, и перейдите в подкаталог lib / android.
- Скопируйте cordova-2.7.0.js в каталог assets / www в вашем проекте Android.
- Скопируйте cordova-2.7.0.jar в каталог libs в вашем проекте Android.
- Скопируйте каталог xml в каталог res в вашем проекте Android
- Затем создайте файл с именем index.html в папке assets / www . Этот файл будет использоваться в качестве основной точки входа для интерфейса вашего приложения PhoneGap.
- В index.html добавьте следующий HTML-код в качестве отправной точки для разработки пользовательского интерфейса:
01
02
03
04
05
06
07
08
09
10
|
<! DOCTYPE HTML> < html > < head > < title >PhoneGap</ title > < script type = "text/javascript" charset = "utf-8" src = "cordova-2.7.0.js" ></ script > </ head > < body > < h1 >Hello PhoneGap</ h1 > </ body > </ html > |
- Вам нужно будет добавить библиотеку cordova-2.7.0.jar в путь сборки для проекта Android. Щелкните правой кнопкой мыши cordova-2.7.0.jar и выберите «Путь сборки»> «Добавить в путь сборки».
Обновите класс Activity
Теперь вы готовы обновить проект Android, чтобы начать использовать PhoneGap.
- Откройте файл активности вашего основного приложения. Он будет расположен в папке src в пакете проекта, который вы указали ранее в этом процессе.
Для моего проекта, который я назвал HelloPhoneGap, основной файл Android Activity называется MainActivity.java и находится в пакете com.maanavan.hellophonegap , который я указал в диалоговом окне «Новый проект Android».
- В основной класс Activity добавьте оператор импорта для
org.apache.cordova.DroidGap
:
1
|
import org.apache.cordova.DroidGap; |
- Измените базовый класс с
Activity
наDroidGap
; это в определении класса после словаextends
1
|
public class MainActivity extends DroidGap |
- Замените вызов
setContentView()
ссылкой на загрузку интерфейса PhoneGap из локального файла assets / www / index.html , который вы создали ранее.
1
|
super .loadUrl(Config.getStartUrl()); |
Примечание. В проектах PhoneGap вы можете ссылаться на файлы, расположенные в каталоге ресурсов, с помощью файла ссылки URL : /// android_asset , за которым следует путь к файлу. URI файла: /// android_asset сопоставляется с каталогом ресурсов .
Настройте метаданные проекта
Теперь вы настроили файлы в вашем проекте Android для использования PhoneGap. Последний шаг — настроить метаданные проекта для запуска PhoneGap.
- Начните с открытия файла AndroidManifest.xml в корневом каталоге вашего проекта. Используйте текстовый редактор Eclipse, щелкнув правой кнопкой мыши файл AndroidManifest.xml и выбрав «Открыть с помощью»> «Текстовый редактор».
- В AndroidManifest.xml добавьте следующий узел XML с
supports-screen
в качестве дочернего узла корневого узлаmanifest
:
1
2
3
4
5
6
|
< supports-screens android:largeScreens = "true" android:normalScreens = "true" android:smallScreens = "true" android:resizeable = "true" android:anyDensity = "true" /> |
XML-узел supports-screen
определяет размеры экрана, которые поддерживаются вашим приложением. Вы можете изменить поддержку экрана и форм-фактора, изменив содержимое этой записи. Чтобы узнать больше о <supports-screens>,
посетите раздел Android-разработчик в элементе Support-Screen .
Далее вам необходимо настроить разрешения для приложения PhoneGap.
Скопируйте следующие <uses-permission>
XML <uses-permission>
узлов XML и вставьте их в качестве дочерних элементов корневого узла <manifest>
в файле AndroidManifest.xml:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
|
< uses-permission android:name = "android.permission.CAMERA" /> < uses-permission android:name = "android.permission.VIBRATE" /> < uses-permission android:name = "android.permission.ACCESS_COARSE_LOCATION" /> < uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" /> < uses-permission android:name = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> < uses-permission android:name = "android.permission.INTERNET" /> < uses-permission android:name = "android.permission.RECEIVE_SMS" /> < uses-permission android:name = "android.permission.RECORD_AUDIO" /> < uses-permission android:name = "android.permission.RECORD_VIDEO" /> < uses-permission android:name = "android.permission.MODIFY_AUDIO_SETTINGS" /> < uses-permission android:name = "android.permission.READ_CONTACTS" /> < uses-permission android:name = "android.permission.WRITE_CONTACTS" /> < uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" /> < uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" /> < uses-permission android:name = "android.permission.GET_ACCOUNTS" /> < uses-permission android:name = "android.permission.BROADCAST_STICKY" /> |
Значения XML <uses-permission>
определяют функции, которые вы хотите включить для своего приложения. Вышеуказанные строки включают все разрешения, необходимые для работы всех функций PhoneGap. После того, как вы создали свое приложение, вы можете удалить любые разрешения, которые вы на самом деле не используете; это удалит предупреждения безопасности во время установки приложения. Чтобы узнать больше о разрешениях Android и элементе <uses-permission>
, посетите раздел для разработчиков Android по элементу использования-разрешения. ,
После того, как вы настроили разрешения приложения, вам нужно изменить существующий узел <activity>
.
- Найдите узел
<activity>
, который является дочерним по отношению к узлу<application>
XML. Добавьте следующий атрибут в узел<activity>
:
1
|
android:configChanges= "orientation|keyboardHidden|keyboard|screenSize|locale" > |
Android Manifest.xml
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
<? xml version = "1.0" encoding = "utf-8" ?> package = "com.maanavan.hellophonegap" android:versionCode = "1" android:versionName = "1.0" > < supports-screens android:largeScreens = "true" android:normalScreens = "true" android:smallScreens = "true" android:xlargeScreens = "true" android:resizeable = "true" android:anyDensity = "true" /> < uses-sdk android:minSdkVersion = "8" android:targetSdkVersion = "17" /> < uses-permission android:name = "android.permission.CAMERA" /> < uses-permission android:name = "android.permission.VIBRATE" /> < uses-permission android:name = "android.permission.ACCESS_COARSE_LOCATION" /> < uses-permission android:name = "android.permission.ACCESS_FINE_LOCATION" /> < uses-permission android:name = "android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" /> < uses-permission android:name = "android.permission.INTERNET" /> < uses-permission android:name = "android.permission.RECEIVE_SMS" /> < uses-permission android:name = "android.permission.RECORD_AUDIO" /> < uses-permission android:name = "android.permission.RECORD_VIDEO" /> < uses-permission android:name = "android.permission.MODIFY_AUDIO_SETTINGS" /> < uses-permission android:name = "android.permission.READ_CONTACTS" /> < uses-permission android:name = "android.permission.WRITE_CONTACTS" /> < uses-permission android:name = "android.permission.WRITE_EXTERNAL_STORAGE" /> < uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE" /> < uses-permission android:name = "android.permission.GET_ACCOUNTS" /> < uses-permission android:name = "android.permission.BROADCAST_STICKY" /> < application android:allowBackup = "true" android:icon = "@drawable/ic_launcher" android:label = "@string/app_name" android:theme = "@style/AppTheme" > < activity android:name = "com.maanavan.hellophonegap.MainActivity" android:label = "@string/app_name" > android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale"> < intent-filter > < action android:name = "android.intent.action.MAIN" /> < category android:name = "android.intent.category.LAUNCHER" /> </ intent-filter > </ activity > </ application > </ manifest > |
На этом этапе ваш проект настроен для запуска в качестве проекта PhoneGap для Android. Если вы столкнетесь с какими-либо проблемами, проверьте свою конфигурацию на примере, приведенном на начальном сайте PhoneGap для Android .
Запуск приложения
Чтобы запустить приложение PhoneGap в эмуляторе Android, щелкните правой кнопкой мыши корневой каталог проекта и выберите «Запуск от имени»> «Приложение Android».
Если у вас нет настроенных виртуальных устройств Android, вам будет предложено их настроить. Чтобы узнать больше о настройке виртуальных устройств эмулятора Android
Eclipse автоматически запустит экземпляр эмулятора Android (если он еще не запущен), развернет приложение в эмуляторе и запустит приложение.