- PVSM.RU - https://www.pvsm.ru -
На днях я выпустил свою первую программу под Android написанную на Titanium Appcelerator и хочу поделиться некоторыми ньюансами связанными с разработкой именно под Android.
Общий процесс вполне неплохо описан в официальной документации, поэтому его опущу.
1. Если ваша программа при запуске проявляет сетевую активность — под эмулятором она будет вылетать сразу после отображения splash screen. Лечится добавлением следующей строки в общий блок:
<property name="ti.android.fastdev" type="bool">false</property>
2. Manifest:
<android xmlns:android="http://schemas.android.com/apk/res/android">
<manifest android:versionCode="4" android:versionName="1.2" android:installLocation="preferExternal" package="com.company.appname">
....
</manifest>
</android>
Мне совершенно непонятна логика введение системы двух версий, но факт остается фактом — для Play Store нужно указывать две версии — одна т.е. версия бинарника versionCode (клиенты ее не видят, должна быть целым числом, в идеале incremental), вторая — официальная версия вашего приложения versionName (то что увидят клиенты).
Кроме того, тут же нужно дополнительно указать package который равен id проекта.
И есть опция installLocation. Для эмулятора надо ставить только internalOnly — иначе при попытке установки на эмулятор будет выдавать ошибку. Для релиза на PlayStore рекомендую поставить preferExternal, чтобы не засорять внутреннию память устройств пользователей.
1. Ширина обьектов на экране — лучше всего не пытаться привязываться к фиксированной ширине и вообще забыть про аттрибут width. Вместо этого ипользуйте left & right.
2. Цвета нужно указывать только в виде #rrggbb. Варианты типа #fff не работают! И естати если случайно дописать лишний символ — тоже работать не будет (на iOS с тем же кодом таких проблем нету).
3. При использовании стандартного модуля facebook следует учесть что конструкция
fb.addEventListener('login', function(e) {
// Some code...
});
при загрузке приложения на Android автоматически НЕ вызывается! (На iOS будет вызвана автоматически если приложение было авторизировано ранее).
1. Android SDK — тут все просто, собираем под 4.2 или 4.3 и все счастливы. Под 2.2 в моем случае все работает нормально.
2. Подполнительные модули для Titanium — если не хватает основного функционала, существует вполне приличная база модулей расширяющих возможности. Все они доступны на titanium marketplace. Кроме того, можно написать свой собственный.
Прошу любить и жаловать:
play.google.com/store/apps/details?id=com.sukharenko.bfriends [1]
P.S. Программе еще требует доработки, в частности в области интерфейса — я уже работаю над этим. Конструктивная критика приветствуется!
Автор: scorp_ca
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/vkontakte/40013
Ссылки в тексте:
[1] play.google.com/store/apps/details?id=com.sukharenko.bfriends: https://play.google.com/store/apps/details?id=com.sukharenko.bfriends
[2] Источник: http://habrahabr.ru/post/188676/
Нажмите здесь для печати.