отправлять результаты несколько раз с IntentService

input[8] == input[7]
input[7] == temp

вы, вероятно, имели в виду:

input[8] = input[7]
input[7] = temp

, не так ли?

Что, как указано в комментариях, не будет работать непосредственно над строкой, так как он неизменен в Python. Итак, в качестве первого шага вы можете составить список символов из этой строки:

input = list(input)

и в качестве последнего шага получить строку из измененного списка:

input = ''.join(input)

BTW, вам может понадобиться использовать распаковку кортежей Python, которая позволяет вам менять две переменные без необходимости вводить третий:

input[7], input[8] = input[8], input[7]
2
задан Neglected Sanity 13 July 2018 в 22:37
поделиться

1 ответ

он не займет ui, поэтому приложение все еще может функционировать

Для этого вам не нужен IntentService. Обычная фоновая нить (возможно, привязанная к LiveData), AsyncTask, цепочке RxJava и т. Д. Может справиться с этим.

Это означало бы, что IntentService должен быть способен rec. отправлять более одного раза. Возможно ли это

Конечно. Было бы более эффективно использовать обычный фоновый поток, AsyncTask, цепочку RxJava и т. Д. Но вы должны иметь возможность send() столько раз, сколько хотите. Результаты будут переданы onReceiveResult() по одному (т. Е. Вы назовете send() 6 раз, вы получите 6 onReceiveResult() звонков).

1
ответ дан CommonsWare 17 August 2018 в 12:06
поделиться
  • 1
    Красивый. Спасибо. Я думал об этом как о AsyncTask. Я использовал их в прошлом, но я думал, что IntentService также позволит моему приложению обновляться в будущем, чтобы включить такие вещи, как полномасштабные события MediaScanner и т. Д. Таким образом, мое приложение может автоматически обновляться, когда некоторые вещи происходят и вне моего приложения. – Neglected Sanity 13 July 2018 в 23:09
  • 2
    @NeglectedSanity: возможно, ваш предложенный сценарий лучше оправдывает IntentService, но я все еще скептически настроен. Независимо от того, вы можете заставить его работать с тем, что у вас есть, и вы можете рассмотреть возможные изменения в будущем, если ваш нынешний подход становится слишком сложным. – CommonsWare 13 July 2018 в 23:10
Другие вопросы по тегам:

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