Обновить
69
0
Sergey Solovyev@serso

Пользователь

Отправить сообщение
Реквистирую фишек по моей библиотеки: github.com/serso/android-common, можно ответить здесь: habrahabr.ru/qa/25939
Спорный вопрос, я думаю это дело опыта. Например, создание Андроид проекта из архитипа — дело двух минут, ещё пару минут на добавление зависимостей.
Тьфу, в *RoboguiceActivity конечно.
Хаха, можно конечно =) Не думал, что кто-то может контрибьютить больше автора =)
Можно просто посмотреть, что происходит в *SherlockActivity.

onCreate():
RoboGuice.getInjector(this).injectMembersWithoutViews(this);

onContentChanged():
RoboGuice.getInjector(this).injectViewMembers(this);

Предполагаю, что также как с Sherlock Actionbar — тянуть ещё одну зависиомость: RoboguiceSherlock. Не заботятся разработчики о дизайне своих библиотек. Кстати, как выход — Roboguice можно использовать напрямую (без наследования от активитей ихних).
А с чего вы взяли, что он местный? Автор — Christophe Versieux.
6. Параметры для подписи можно хранить в properties файле не под системой контроля версий, а в момента билда считывать (см. здесь)
                    <plugin>
                        <groupId>org.codehaus.mojo</groupId>
                        <artifactId>properties-maven-plugin</artifactId>
                        <version>1.0-alpha-2</version>
                        <executions>
                            <execution>
                                <phase>initialize</phase>
                                <goals>
                                    <goal>read-project-properties</goal>
                                </goals>
                                <configuration>
                                    <files>
                                        <file>${project.basedir}/misc/env/jarsigner.properties</file>
                                    </files>
                                </configuration>
                            </execution>
                        </executions>
                    </plugin>
Идея, например, по умолчанию инструментирует байт-код вставляя в него проверки в местах использования NotNull/@Nullable аннотаций. Естественно, при сборке Maven такой инструментации не происходит. Отсюда, наличие в байткоде дополнительных проверок.
Проект открытый? Если да, то киньте ссылкой — я посмотрю.
Сочетание Action Bar Sherlock и View Page Indicator я использовал в одном закрытом проекте — идея без проблем собирала.
Какаие отличия есть, а главное — в чём? В байт коде? Идеевские инструментации выключили? Параметры javac такие же как и при сборке Maven?

У android-maven-plugin точно есть проблема с запуском тестов на эмуляторе (странно, что вы не столкнулись), когда приложение зависит от apklib модуля: описание в багтрекере
Нет, мевен полностью устраивает
Сказано просто про автоматизацию тестирования: В данной заметке будут рассмотрены средства реализации автоматического тестирования.
Собственно, Robotium тоже не чистое UI тестирование.
1. Правильно, что нельзя получить property от парета (любой модуль — отдельный проект, версия которого может меняться)
2. Я бы добавил ещё модуль core (который не зависит от Android), тогда это всё дело можно было бы прогнать, например, j2objc или написать GUI для десктопа
3. Про apklib и ИДЕЮ — не понял. Вот у меня проект с несколькими apklib зависимостями (пока что не в master): github.com/serso/android-calculatorpp/blob/dev/calculatorpp/pom.xml
4. Чтобы не копировать шаблон maven проекта можно использовать архетипы
5. Для запуска разных тестов можно использовать профили мевена (они, кстати, не взаимоисключающее, т.е. можно написать mvn clean install -p test-small, test-medium, где test-small, test-medium — профили)
А как же Robolectric? Чистый jUnit для Андроид классов.
Честно говоря, не очень понятно, что за ограничение про долларовый счёт — они же просто перевод сделают в долларах, а банк счёта переведёт по своему по курсу, не так ли?
Выделите лучше в отдельный класс и используйте как поле уже в клиентском Activity:
interface ThemeHelper {

    void onCreate(@NotNull Activity activity);

    @NotNull
    Resources getResources(@NotNull Activity activity);

}


Использование:

class MyActivity extends RoboSherlockActivity {

    @NotNull
    private final ThemeHelper themeHelper = new ThemeHelper();

    @Override
    void onCreate(Bundle savedInstanceState) {
        themeHelper.onCreate(this);

        super.onCreate(savedInstanceState);

        // ...
    }

}

ThemeManager, строка 22
Там же, строка 114
Кстати, я бы не назвал хорошей практикой ловлю NullPointerException (там действительно в недрах Андроида выкидывается? Или вы просто поленились добавить проверку?)

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность