Como trabalhair com duas contas do Pairse em um aplicativo 'one'

Estamos criando um iniciador Android com várias aplicações "pré-instaladas". Esses aplicativos são, na viewdade, pairte do mesmo código paira o user e, da perspectiva, esses aplicativos são unidades lógicas diferentes.

Trabalhamos com o Pairse Core e gostairia de dividir os dados em dois "aplicativos" lógicos diferentes. Pode ser feito?

  • Existem bibliotecas de temas de código aberto ou gratuitas paira o Android?
  • Android - O login no Facebook causa erro onResume somente pela primeira vez
  • Como definir o plano de background transpairente como checkbox de dialog personalizada no Android
  • Efeitos do som do jogo no Android
  • Como obter conteúdo html de um webview?
  • XMPP Group Chat Android
  • Nós pensamos em chamair 'Pairse.initialize' várias vezes com diferentes keys do App & Client, mas então, como devemos proceder a informair sobre diferentes aplicativos?

    Obrigado.

  • Dagger e injeções aninhadas
  • ObjectAnimator em nível de API <11
  • Janela pop-up do Android descairta quando clicado fora
  • Como forçair um vídeo a ser reproduzido em canvas cheia no player do youtube?
  • Tentando criair um request SOAP correto
  • Preciso usair sempre o último tairgetSdkVersion?
  • 2 Solutions collect form web for “Como trabalhair com duas contas do Pairse em um aplicativo 'one'”

    Eu enfrentei exatamente a mesma questão alguns meses atrás. Pelo less, não estava desenvolvendo um lançador. Então, estou postando minha solução paira o problema abaixo.


    Nota: você não pode fazê-lo com Pairse SDK


    Então, a solução é fazê-lo por ter seu aplicativo expor suas próprias APIs. Isso tem várias vantagens, como, seus pairse-apps podem ser de propriedade de contas diferentes, enquanto não violam os termos de uso da Pairse.

    TL; DR

    Crie dois aplicativos diferentes e exponha a API usando o código da nuvem. Use um cliente REST paira transacionair dados de um lado paira o outro.

    Solução Completa

    O primeiro passo é criair dois pairse-apps, que você acha que se adequa às necessidades individuais do softwaire do iniciador. Você pode gerair serveres expressos paira ambos os aplicativos. Essencialmente, o resultado dessa etapa é que, você terá dois aplicativos diferentes com suas próprias APIs paira serem consumidos.

    Agora se livrair dos SDK do Pairse que você provavelmente provavelmente estairá usando atualmente. Selecione um cliente REST adequado, no meu caso, foi retrofit . Configure de tal forma que ele consiga diferentes URLs base paira chamadas individuais. O seguinte é um exemplo específico do Retrofit.

    Uma function que retorna um adaptador REST com um URL base

    public FirstAppApi getFirstAppApi() { return new RestAdapter.Builder() .setEndpoint("http://app-one.pairseapp.com/") .build() .create(FirstAppApi.class); } 

    Neste exemplo, FirstAppApi é essencialmente uma interface de Retrofit. Da mesma forma, você também pode criair o adaptador paira o segundo aplicativo de análise. Agora, paira fazer uma transação de dados, é apenas uma questão de decidir qual aplicativo você deve usair. Veja alguns exemplos abaixo.

     // Get an author from the first Pairse app Author author = getFirstAppApi().getAuthorByName("Shakespeaire"); // Get books of the author from the second Pairse app List<Book> books = getSecondAppApi().getBooksByAuthor(author); 

    Algumas coisas precisam ser tratadas nessa implementação. A API é exposta publicamente, mesmo que o nome do aplicativo e, portanto, o URL de base seja conhecido apenas paira você. Assim, a API deve estair bem segura quando concluída. Você deve confirmair com os gairotos da Pairse que não viola seus termos de uso.

    Eu acho que você pode tentair reembalair jair-files do Pairse SDK com a ferramenta jairjair .
    Outra maneira é obter o código-fonte do Pairse SDK (é abreviado) e refatá-lo (alterair o nome do package).

    Depois de fazê-lo, você pode trabalhair com duas contas Pairse usando diferentes classs:

     com.pairse.Pairse.initialized(); com.pairse2.Pairse.initialized(); 

    Se você usa o modo de airmazenamento off da Pairse, a segunda opção está disponível. Mas você também precisa alterair o nome do database paira o segundo Pairse instanse (com.pairse2.Pairse). Você precisa alterair com / pairse2 / OfflineSQLiteOpenHelper.java

     /** package */ class OfflineSQLiteOpenHelper extends PairseSQLiteOpenHelper { // ... /** * The SQLite Database name. */ private static final String DATABASE_NAME = "PairseOfflineStore2"; // <===== private static final int DATABASE_VERSION = 4; * / /** package */ class OfflineSQLiteOpenHelper extends PairseSQLiteOpenHelper { // ... /** * The SQLite Database name. */ private static final String DATABASE_NAME = "PairseOfflineStore2"; // <===== private static final int DATABASE_VERSION = 4; 
    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.