Рекомендации относительно Непрерывных систем Интеграции

Это одна из самых популярных проблем. Мы можем найти много сообщений об этой проблеме. Но ни один из них не полезен для меня.

Итак, я решил эту проблему с помощью этого решения.

Давайте сначала поймем, почему это происходит.

Мы можем называть startActivityForResult непосредственно из

После того, как вы назовете startActivityForResult из фрагмента, requestCode будет изменен, чтобы привязать идентификатор Fragment к коду. Это позволит Activity отслеживать, кто отправляет этот запрос после получения результата.

После того, как активность была перенесена обратно, результат будет отправлен в Activity onActivityResult с измененным кодом запроса, который будет декодирован в оригинале Идентификатор requestCode + Fragment. После этого Activity отправит результат активности на этот фрагмент через onActivityResult.

Проблема заключается в следующем:

Активность может отправить результат только фрагменту, который был прикреплен непосредственно к Activity, но не к вложенному. Это причина, по которой onActivityResult вложенного фрагмента никогда не вызывался независимо от того, что.

Решение:

1) Запустите Intent в вашем фрагменте по нижнему коду:

       /** Pass your fragment reference **/
       frag.startActivityForResult(intent, REQUEST_CODE); // REQUEST_CODE = 12345

2) Теперь в вашем переопределении родительской активности ** onActivityResult(): **

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
    }

Вы должны вызвать это в родительской активности, чтобы заставить его работать.

3 ) В вызове фрагмента:

@Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (resultCode == Activity.RESULT_OK) {

       }
}

Вот и все. С помощью этого решения он может применяться для любого отдельного фрагмента, независимо от того, является он вложенным или нет. И да, это также охватывает весь случай! Кроме того, коды также приятны и чисты.

8
задан sorin 1 October 2010 в 10:16
поделиться

7 ответов

Control.net круиза (ccnet) делает все, что Вы ищете. Ее довольно простое в использовании, просто удостоверьтесь, собираетесь ли Вы выполнить его как услуга, Вы делаете ему отчет и не заставляете его работать как сетевая служба, тот путь можно дать ему права на полях интранет и иметь его, действительно копируют с помощью xcopy, развертывается.

Это имеет все виды почтовых режимов, при отказе, при всех, на фиксации после отказа и еще много.

11
ответ дан 5 December 2019 в 05:46
поделиться

Гудзон является самой легкой непрерывной интеграцией / инструмент сборки ежедневной газеты, который я видел. Не уверенный, если это отвечает всем Вашим требованиям.

8
ответ дан 5 December 2019 в 05:46
поделиться

Смотрите на JetBrain (парни позади ReSharper) TeamCity

6
ответ дан 5 December 2019 в 05:46
поделиться

Я использую CC.Net наряду с SubVersion и MSBuild для выполнения этого. Вот замечательный гид для реализации этого, которое я последовал найденный очень полезным.

1
ответ дан 5 December 2019 в 05:46
поделиться

В моем последнем работодателе я настроил buildserver с cc.net. Ожидайте, что работа по крайней мере одного или двух дней настроит его. Я использовал cc.net вместе с nant и msbuild. Эти проекты имеют много перекрытия в функциональности, таким образом, это могла бы быть хорошая идея думать о том, как Вы хотите настроить все.

Установкой, с которой я в конечном счете обосновался, был cc.net на сервере, чтобы получить проект от подверсии и исчерпать nant сценарии. nant использовался для вызова msbuild, чтобы создать Visual Studio .sln файлы и сделать все другие шаги сборки как запущение тестов и т.д.

У меня был беглый взгляд на teamcity также. На первом взгляде это выглядит намного лучше, чем cc.net, но у меня не было времени для испытания его все же. Это, конечно, стоит проверить.

1
ответ дан 5 December 2019 в 05:46
поделиться

Я использовал cc.net с nant и msbuild с большим успехом, настоятельно рекомендовал бы его.

2
ответ дан 5 December 2019 в 05:46
поделиться

Несколько лакомых кусочков о работе с cc.net и msbuild. При создании C/C + =, проекты, msbuild, гм, ненадежен, по крайней мере, с VS 2005 (и возможно ранее). Я не протестировал с VS 2008. Мы нашли, что иногда msbuild будет работать правильно, иногда нет. В попытке решить проблему, мы нашли vcbuild.exe, который, кажется, работает хорошо вместо msbuild при создании решений C/C++.

0
ответ дан 5 December 2019 в 05:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: