2012-07-05 12 views
6

Esistono applicazioni che funzionano sia su iOS che su Android (sia su telefono che su tablet) e riescono a sincronizzare i dati su dispositivi diversi.Sincronizza i dati dell'applicazione tra iOS e Android

  1. Esistono framework o librerie che forniscono questa funzionalità di sincronizzazione?
  2. In caso contrario, quali sono le diverse opzioni per l'implementazione?
  3. È possibile utilizzare iCloud per sincronizzare i dati delle applicazioni su dispositivi Android e iOS?

risposta

2

Ci sono quadri o librerie che forniscono questa funzionalità di sincronizzazione?

No. Non ci sono framework o librerie che forniscono il tipo di sincronizzazione multipiattaforma che iCloud fornisce per i dispositivi Apple.

In caso contrario, quali sono le diverse opzioni per l'implementazione?

  1. Non utilizzare il meccanismo di sincronizzazione a tutti, e utilizzare servizi web, invece. Questa potrebbe essere una buona soluzione per alcuni casi.
  2. Utilizzare il database SQLite nelle applicazioni iOS e Android e implementare una soluzione di sincronizzazione per conto proprio.Alcune delle sfide che affronterai se si sceglie di implementare una soluzione di sincronizzazione personalizzato stanno seguendo:
    • fornire un meccanismo di registrazione, di utilizzare i servizi di cloud laterali/server
    • leggere e scrivere dati da/verso il server/cloud
    • Rilevamento e risoluzione dei conflitti (cioè unire conflitti)
    • Offline accesso ai dati, e la gestione delle situazioni quando il dispositivo non è collegato a qualsiasi rete
    • In iOS, non sarà in grado di utilizzare Core- Dati (che rendono lo sviluppo relativamente molto facile), quindi dovrai occuparti di visualizzare i dati in modo efficiente, ottimizzandoli l'accesso ai dati, ecc

Può essere usato iCloud per sincronizzare i dati delle applicazioni attraverso dispositivi Android e iOS?

No. iCloud è solo per dispositivi Apple (ad oggi, luglio 2012).

+0

Informazioni fuorvianti/non aggiornate. Guarda altre risposte. –

0

Non so su iOS, ma con Android è possibile sincronizzare i dati da/verso il cloud (il proprio server) con un adattatore di sincronizzazione. Esempio:

http://developer.android.com/training/cloudsync/index.html

Quindi, se si ottiene alcuni dati da iPhone app per il vostro server, si può semplicemente sincronizzare l'app Android come bene e viceversa.

-1

il c2dm è stato deprecato:

Importante: C2DM è stato ufficialmente deprecato a partire dal 26 giugno 2012. Questo significa che C2DM ha smesso di accettare nuovi utenti e le richieste di quote. Nessuna nuova funzionalità verrà aggiunta a C2DM. Tuttavia, le app che utilizzano C2DM continueranno a funzionare. Gli sviluppatori C2DM esistenti sono incoraggiati a migrare alla nuova versione di C2DM, chiamata Google Cloud Messaging per Android (GCM). Vedere il documento Migrazione da C2DM a GCM per ulteriori informazioni. Gli sviluppatori devono utilizzare GCM per un nuovo sviluppo.

Utilizzare il GCM: Link

4

Esistono framework o librerie che forniscono questa funzionalità di sincronizzazione?

È possibile controllare OpenMobster Cloud Platform. Il servizio di sincronizzazione consente la replica sicura dei dati tra dispositivi Android e iOS. Tutto ciò che devi fare è sviluppare il Java Sync Channel sul lato Cloud e utilizzare l'API del dispositivo sul lato del dispositivo per accedere ai tuoi dati. Ecco un link al progetto: http://openmobster.googlecode.com

Full Disclosure: Io sono l'ingegnere capo della piattaforma OpenMobster

+0

Grazie. Lo controllerò quando ne avrò la possibilità. – Mustafa

+0

Posso utilizzare OpenMobster per la sincronizzazione dei dati tra Android e iOS e anche Java Desktop o Web App? Se posso, quanto è scalabile questa soluzione? Quanti utenti possono usarlo contemporaneamente? Grazie in anticipo. –

0

EnduroSync da Orando Labs è un nuovo prodotto che fa esattamente quello che stai chiedendo. Ci sono client per iOS e Android, con altri in arrivo.

Full Disclosure: Lavoro presso Orando Labs.

I client EnduroSync consentono di creare archivi dati oggetto sui dispositivi locali. I client sono abbastanza sofisticati: i dati vengono modellati come oggetti nativi per ogni client che supportiamo (iOS e Android ora, altri in arrivo). I clienti lavorano offline e online. I dati vengono salvati in un database SQLite localmente.

Come si cambiano gli oggetti nel modello, i delta vengono registrati sul dispositivo. A un certo punto, è possibile "sincronizzare" l'archivio dati dell'oggetto. La sincronizzazione utilizza un processo di commit/push/pull (come git), ma questo è invisibile per te. La sincronizzazione porta la tua copia locale aggiornata con qualsiasi cosa sia presente sul server e invia tutte le modifiche apportate. I conflitti vengono risolti utilizzando un'unione basata su data/ora, quindi i dati più recenti non vengono sovrascritti dai dati precedenti.

EnduroSync è un servizio online, quindi non c'è alcuna configurazione del server da parte vostra.

Esiste anche un sistema di autorizzazione flessibile che consente di condividere gli archivi di dati degli oggetti in vari modi. Ad esempio, la maggior parte delle applicazioni avrà uno o più archivi dati oggetto per ciascun utente, per preferenze, note, tag, ecc. È inoltre possibile condividere gli archivi dati oggetto per app, per tipo di utente e con caratteri jolly, in molti altri modi.

Quindi in pratica si utilizzano i nostri client SDK per modellare i dati sul dispositivo. La modellazione è con oggetti semplici nel linguaggio di programmazione nativo del dispositivo. Se si firma per il servizio di sincronizzazione, si ottiene anche la sincronizzazione.

+2

Puoi fornire un po 'di background tecnico? In questo modo, non è un semplice collegamento a una risorsa esterna. Le risposte dovrebbero essere in grado di reggersi da sole; per favore, controlla [rispondi]. – brasofilo

Problemi correlati