Начиная с Java 5 вы можете использовать Arrays.toString(arr)
или Arrays.deepToString(arr)
для массивов внутри массивов. Обратите внимание, что версия Object[]
вызывает .toString()
для каждого объекта в массиве.
Примеры:
String[] array = new String[] {"John", "Mary", "Bob"};
System.out.println(Arrays.toString(array));
Выход:
[John, Mary, Bob]
String[][] deepArray = new String[][] {{"John", "Mary"}, {"Alice", "Bob"}};
System.out.println(Arrays.toString(deepArray));
//output: [[Ljava.lang.String;@106d69c, [Ljava.lang.String;@52e922]
System.out.println(Arrays.deepToString(deepArray));
Выход:
[[John, Mary], [Alice, Bob]]
double
Массив: double[] doubleArray = { 7.0, 9.0, 5.0, 1.0, 3.0 };
System.out.println(Arrays.toString(doubleArray));
Выход:
[7.0, 9.0, 5.0, 1.0, 3.0 ]
int
Массив: int[] intArray = { 7, 9, 5, 1, 3 };
System.out.println(Arrays.toString(intArray));
Выход:
[7, 9, 5, 1, 3 ]
Ответ зависит от того, на каких платформах вы разрабатываете приложение phongap, и если вы следуете стандартной структуре каталогов.
Если ваша структура каталогов проекта стандартная, вы можете начать с этого gitignore и изменить его для ваших нужд.
На эмпирическом правиле вы должны исключить все сгенерированные файлы, такие как каталоги bin/
и gen/
. Если вы разрабатываете версию Android для вашего приложения, вы также должны исключать файлы сборки, например *.apk
.
Все сгенерированные файлы в подкаталоге android
также должны быть исключены:
Android/bin/
Android/gen/
Android/assets/
Хотя это несколько личное предпочтение, я пошел с этим (для проекта только для андроида). Удаление большинства, но сохранение того, что принято
ToonPlane/platforms/android/*
!ToonPlane/platforms/android/AndroidManifest.xml
ToonPlane/plugins/*
!ToonPlane/plugins/android.json
!ToonPlane/plugins/fetch.json
Итак, я просто понял это через пробную версию и ошибку. Каталог platforms
может быть опущен, если вы используете локальную или удаленную сборку phonegap, поскольку она генерируется «на лету». Все остальные папки, включая скрытую папку .cordova
, требуются.
Многие из этих вещей старые и на самом деле не относятся к последней версии Apache Cordova. Я использую Apache Cordova 5.1.1, и этот .gitignore позволяет мне настраивать пользовательские значки и т. Д., Блокируя все, что нам не нужно для версии для Android и IOS. Да .gradle используется, поэтому не удаляйте его!
www/
.gradle/
build/
.tmp/
.temp/
coverage/
*.log
node_modules/
bower_components/
Расширение на @Jake Moshenko answer:
Мне нравится идея опустить каталог platforms
. Фактически, я могу исключить как каталоги plugins
, так и platforms
. Хорошей отправной точкой для .gitignore
:
platforms/
plugins/
Проблема заключается в том, что чистая копия репо должна быть инициализирована, прежде чем вы сможете с ней работать. Может возникнуть смысл создать сценарий инициализации, такой как:
#!/bin/bash
textReset=$(tput sgr0)
textGreen=$(tput setaf 2)
message_info () {
echo "${textGreen}[my-app]${textReset} $1"
}
message_info "Creating necessary directories..."
mkdir plugins
mkdir platforms
message_info "Adding platforms..."
# If using cordova, change to: cordova platform add android
phonegap build android
phonegap build ios
message_info "Adding plugins..."
# If using cordova, change to: cordova plugin add
phonegap local plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git
. Предостережение к этому подходу состоит в том, что он делает несколько сложнее настраивать специфический для платформы код приложения / конфигурацию за пределами того, что поддерживается phonegap / cordova (т.е. поддержка ориентации экрана).
Этот gist содержит более полный скрипт для обработки проекта, который не фиксирует plugins
и platforms
. Он предоставляет механизм для копирования значков и изображений с заставками из www в каталоги платформы (для iOS и Android), установки плагинов и обработки конкретных файлов платформы, которые должны быть добавлены в управление версиями.
Вот еще один gist , который является портом Grunt вышеупомянутого сценария bash. (Спасибо @obie за подсказку)
Я просто хотел оставить здесь свой опыт работы с этой проблемой и подход, который мы, в конце концов, выполнили.
В нашем проекте телефонных разговоров мы начали фиксировать все файлы, не содержащие папку / платформу, используя файл .gitignore. Мы думали так, когда разработчик клонировал репозиторий, единственное, что осталось сделать, это выполнить:
phonegap / cordova добавить платформу
Но это не так. После того, как платформа была добавлена, и мы попытались скомпилировать ее, появилась ошибка, и приложение не установило ее на устройстве.
Глядя на журналы, мы получили некоторые хиты, которые эта ошибка возникла из-за плагинов. Таким образом, мы решили переустановить все плагины, которые мы использовали в проекте, и правильно выполнили приложение.
Итак, мой совет - сохранить в репозитории весь контент, а не платформу и плагины папок. Создайте и загрузите в репозиторий файл README со списком плагинов, используемых в проекте.
Таким образом, когда разработчик клонирует репозиторий, ему придется:
1 .- Добавить платформы: phonegap / cordova добавить платформу «платформа»
2.- Добавить плагины: плагин phonegap / cordova добавить «плагин»
Надеюсь, это поможет!
С уважением.