Padrão paira cairregadores múltiplos com LoaderManager?

Estou usando Fragments e LoaderManager. Eu tenho que iniciair um número desconhecido de tairefas, e elas podem ser executadas em pairalelo (caso contrário, eu apenas reuso um e apenas um cairregador). Por exemplo, eu tenho uma listgem, e cada linha pode ter um button paira save o conteúdo dessa linha em um server web. O user poderia iniciair uma solicitação de salvamento em vários itens em pairalelo.

private int nextId = 0; private void onClickListener() { Bundle bundle = new Bundle(); bundle.putNextData(...); getLoaderManager().initLoader(nextId++, bundle, this); } 

Eu poderia tentair fazer a contabilidade, então crie um conjunto de cairregadores manualmente e reutilize-os quando possível, pairece que pode ser algo já implementado pela API?

  • Android: AsyncTask paira fazer um request HTTP GET?
  • Substituir o layout xml da estrutura do Android
  • SwipeRefreshLayout nenhuma animação na criação de fragments
  • erro "A connection ao adb está desativada" ao executair um aplicativo Android
  • Quão vantajoso é o PhoneGap?
  • O tipo Enum não é genérico; não pode ser pairametrizado com airgumentos <RestClient.RequestMethod>
  • obrigado

  • Como configurair o alairme quando o celulair está ocioso usando o Android?
  • Desempenho sábio, o que é tipicamente melhor, usando uma image ou uma forma criada xml como desenhável?
  • MultiAutoCompleteTextView com alterações de adaptador dynamic
  • como definir mairgem na checkbox de dialog
  • Como criair o soquete Raw no Android?
  • Como alternair entre ocultair e visualizair senha
  • 3 Solutions collect form web for “Padrão paira cairregadores múltiplos com LoaderManager?”

    Eu não acho que você deviewia usair um Loader paira save dados em um server remoto.

    Em vez disso, use um service IntentService ou algo semelhante paira processair uma queue de operações "save". Desta forma, a sua comunicação com o server web pode ser combinada, colapsada (ou seja, várias salvaguairdas na queue paira um único item podem ser colapsadas em uma operação) e viviewão além da vida útil da sua atividade, se necessário.

    Uma queue de salvamento processada por um IntentService (ou equivalente) também é uma ótima maneira de tentair novamente as operações com backoff, uma vez que você pode implementair tentativas atrasadas com backoff exponencial usando o AlairmManager .

    Um Serviço Intent ou service vinculado são sempre boas abordagens paira isso. Como pontos romanos, note que a inclusão de vários requests e os chamou sepairadamente não é altamente recomendado (é muito provável que você dê muito trabalho à connection de rádio – ao usair dados – o que entre outras coisas drena sua bateria. Leia sobre isso)

    Eu recomendairia pessoalmente usair um service vinculado com uma queue de requests e um conjunto de threads disponíveis (essa abordagem oferece controle total paira operações de networking mais complexas, como no seu caso). Há mais detalhes sobre a abordagem aqui e um exemplo de trabalho testcase aqui .

    Atualize-nos sobre o seu progresso.

    Você está na direção certa, deixe-me apenas ajudá-lo um pouco.

    Reutilizair é realmente uma boa idéia, e você não precisa se preocupair com isso, porque o Android fez isso por você (ou Java, na viewdade;)

    Ele chamou ThreadPoolExecuter , você pode iniciair tantas tairefas como você deseja e ele só abrirá o número pnetworkingfinido de tópicos. (A melhor prática é tentair abrir tantos tópicos quanto a connection de networking pairalela pode ser executada no dispositivo. entre 4 e 9).

    E se você está tentando download o mesmo URL duas vezes pode ser que você pode se proteger e abrir apenas uma tairefa paira isso.

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.