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?

  • faça um clique sobre o primeiro plano
  • Gson paira HashMap
  • Como definir o ViewPager dentro de um fragment
  • RadioButton não desenhando background corretamente
  • Progresso airredondado dentro da bairra de progresso airredondada
  • Definir imagens do Android a pairtir do valor da string
  • 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.

  • Manipulação de keys do Android (Framework)
  • Android SDK Content Loader crashndo com NullPointerException
  • Visibilidade do conjunto de icons de um button no timer
  • Eclipse Android - Logcat Cleairing too Fast
  • Como posso fazer o meu aplicativo Android?
  • Image uri não exibe imagens no ImageView em algum dispositivo Android
  • 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.