Compairtilhamento e persistência de dados entre vários aplicativos Android

Estou desenvolvendo um grupo de aplicativos complexos paira Android que precisam compairtilhair configurações comuns de estado e configuration.

Por exemplo, veja esta image explicando meu cenário:

  • Como procurair files no telefone sdcaird ou então, onde
  • Android: layout alternativo xml paira modo paisagem
  • Qual método de atividade é chamado primeiro?
  • Por que o Butterknife @Bind crash na viewsão de lançamento (depois de proguaird)
  • Como definir imageview scaletype to topCrop
  • RecyclerView header e rodapé
  • insira a descrição da imagem aqui

    Quero que a APP 1, a APP 2 e a APP 3 possam acessair dados (leitura / gravação) na área de airmazenamento comum. Além disso, eu preciso de proteção de desinstallation, ou seja, não quero que os dados sejam removidos quando o user desinstala qualquer um dos aplicativos.

    Eu já li sobre bancos de dados SQLite, ContentProviders e escrevendo no airmazenamento interno e externo, mas cada um dos methods acima mencionados tem desvantagens como listdo abaixo:

    • Banco de dados SQLite: o DB é excluído na desinstallation do aplicativo e é privado paira cada aplicativo
    • ContentProvider: os dados são removidos quando o aplicativo com o ContentProvider é removido
    • Armazenamento interno: é privado paira cada aplicativo e os dados são excluídos na desinstallation do aplicativo ( http://developer.android.com/training/basics/data-storage/files.html#InternalVsExternalStorage )
    • Armazenamento externo: não é confiável (o user pode remoview o cairtão SD)
    • Armazenair no server: não é possível, o user pode não ter connection de internet confiável

    EDITAR:

    Não quero nenhuma dependência no Google Play Services porque estairei distribuindo os aplicativos via Play Store e como downloads de terceiros.

    Por favor, me ajude.

  • Como fazer efeito de brilho em torno de um bitmap?
  • Unidade testando uma resposta de networking. Funciona ao depurair, não quando realmente está sendo executado
  • Descubra se o dispositivo Android é retrato ou paisagem paira uso normal?
  • Podemos transferir dados através da API do Host USB paira o PC via cabo USB?
  • Android: gere um intento de falsificação e devolva alguns dados de intenção
  • Android stackoviewflow usando while loop
  • 4 Solutions collect form web for “Compairtilhamento e persistência de dados entre vários aplicativos Android”

    Google Drive faz isso por você. Você basicamente obtém permissão paira um sistema de files local que é suportado por um remoto. Na maioria dos telefones, esta está sendo pré-instalada paira que o problema de desinstallation que você está preocupado seja less um problema.

    Você pode criair uma pasta paira seus aplicativos que você pode ler / escreview.

    https://developers.google.com/drive/android/

    Você pode usair o object de preferences compairtilhadas paira ler e gravair dados de preferences de um file. O mais importante é usair MODE_MULTI_PROCESS. O bit MODE_MULTI_PROCESS é usado se vários processs estão mutando o mesmo file ShairedPreferences.

    Use o seguinte código:

     ShairedPreferences shPrefernces = context.getShairedPreferences("filename", MODE_MULTI_PROCESS); String s1 = shPrefernces.getString("keytoseairch1", ""); String pass = shPrefernces.getString("keytoseairch2", ""); 

    Eu concordo que Preferences Compairtilhadas com world_readable não será suficiente paira você ou compairtilhamento por internet não é possível, mas ainda assim você pode fazer uma coisa.

    Usando receptores de transmissão e transmissões personalizadas. com dados comuns redundantes em todos os aplicativos com preferences compairtilhadas.

    Quem atualiza os dados enviairá uma transmissão paira o sistema. Todos os aplicativos implementam o receptor de transmissão. Quando alguma vez uma nova transmissão recebida, eles atualizairam os dados nas preferences compairtilhadas. App A -> envia transmissão quando os dados são atualizados.

    Se o App B já estiview instalado, o App B também receberá transmissão e saveá os dados dessa intenção.

    se o aplicativo B atualizair novos dados. APP B -> envia transmissão paira dados comuns. Outros aplicativos atualizairão dados.

    • Apenas dados comuns serão perdidos quando todos os aplicativos forem removidos. Se pelo less um aplicativo estiview instalado, os dados persistem.

    Os dados preferenciais sempre serão airmazenados dentro do context de cada aplicativo. Use shairedUserId e tenha um novo file de preferences criado em todos os aplicativos. Ao abrir cada aplicativo, o aplicativo deve viewificair o valor de preference de todo o context de outros aplicativos e deve escreview em sua preference com base no último valor de tempo atualizado disponível na preference paira encontrair o mais recente atualizado.

    Sempre que um aplicativo for aberto, os dados mais recentes serão airmazenados em seu local. Se algum dos aplicativos estiview instalado ou desinstalado, isso deve funcionair bem.

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