Memorizzazione dei dati per l'utilizzo su applicazioni Android e Windows

4

Ho postato questa scorsa notte su StackOverflow e mi è stato consigliato di spostarlo su StackExchange, grazie per aver dedicato un momento alla mia domanda.

Sto sviluppando una proposta di progetto per il mio progetto per l'ultimo anno all'Università e, mentre cerco di usare linguaggi di programmazione che attualmente non conosco troppo, sto cercando delle indicazioni: non posso includere dettagli del mio progetto ma spero che capirai cosa sto cercando.

Creerò un'applicazione Android (in Java) e un'applicazione Windows (in C #) che idealmente accederanno, eseguiranno query e aggiorneranno un database ospitato in remoto o un set di file XML (questo molto probabilmente sarà Internet).

Ho dato un'occhiata a Internet e SQLite sembra una scommessa sicura per la manipolazione cross-platform del database; tuttavia vorrei mantenere il sistema il più leggero possibile e mi chiedo se i file XML possano fornire un'alternativa migliore? Qualcuno che ha esperienza nell'uso di SQLite e / o XML ospitato in remoto ai fini dello sviluppo di Android e / o C # che potrebbe indicarmi la giusta direzione?

Se esiste una soluzione alternativa oltre a quelle che ho menzionato, sarei interessato anche a parlarne.

Grazie per aver trovato il tempo di leggere la mia domanda.

Modifica: Lo scopo di questa applicazione è per un'azienda di piccole dimensioni, l'origine dei dati non dovrebbe essere aggiornata da più di una fonte, ma può essere vista da più fonti (cioè attraverso più telefoni e un PC desktop). Il database non aggiornerebbe le masse di dati alla volta (probabilmente solo singole righe di poche tabelle al massimo).

    
posta Andy Mepham 01.04.2012 - 16:34
fonte

2 risposte

1

Se hai intenzione di sviluppare un'applicazione in Android SQLite è l'unica strada da percorrere. Nel mio caso devo includere un database che è già popolato con le informazioni per riempire i dropdownlists (non ricordo il loro nome Android ma spero che tu abbia capito il significato). Quindi devo inserire i dati prima della distribuzione e devo includerlo. Inoltre, l'uso di SQLite consente di eseguire query sul database con la sintassi SQL, molto utile.

Windows Phone, d'altra parte, fornisce la piattaforma Azure oltre a SQLite, ma l'inconveniente è che non è gratuito e richiede un dispositivo sempre online.

Un avvertimento riguardante Android è la cartella delle risorse, il luogo in cui si inseriscono file aggiuntivi da includere con l'applicazione, ha un limite di 1,5 megabyte di file relativi a file diversi da MP3 o PNG. Devi rinominare il tuo file db in PNG o MP3 se superi il limite di filesize e copialo sull'applicazione (che devi fare se lo includi con la sua estensione db) con il tipo di file corretto.

    
risposta data 01.04.2012 - 17:08
fonte
1

Quando si tratta di dati e amp; dispositivi mobili, una delle prime domande è: "hai bisogno di mantenere un database locale (nel dispositivo) per l'uso offline o è giusto chiedere ad un server alcuni dati ogni volta che ne hai bisogno?"

Se devi memorizzare una copia del tuo database su ciascun dispositivo, avere un RDBMS (SQLite) comune sarà una buona cosa. Se l'app viene avviata per la prima volta, è sufficiente scaricare il file db localmente. Sarà facile scaricarlo nuovamente e aggiornarlo in modo incrementale con gli script di aggiornamento (condivisi tra server e client).

Tuttavia, non potrai utilizzare lo stesso codice per accedere al tuo database su entrambi i dispositivi. Forse puoi pensare a un modo per generare il codice di accesso ai dati in tutte le lingue che ti servono in base alla struttura del tuo database. Questo può (o non può) salvarti un po 'di tempo. Generare codice con codice è comunque sempre una buona esperienza (vedi Il programmatore pragmatico , regola 29 "Scrivi codice che scrive codice").

    
risposta data 04.05.2012 - 23:03
fonte

Leggi altre domande sui tag