2011-08-30 3 views
0

Il y a 3+ applications qui collectent des paramètres sous la forme d'une chaîne, comme "Peter", "Jane", "Mary", etc. Pour l'instant je garde ces paramètres dans String[] tableau. Cependant, les données doivent être changées beaucoup de sorte que tous les quelques jours je dois modifier les chaînes, recompiler les fichiers APK et le publier. Juste la taille du temps.Meilleure façon d'obtenir des données à distance qui changent beaucoup

Quelle devrait être la manière la plus simple de garder ces données dans un fichier distant (PAS de base de données), peut-être un fichier texte, afin que les applications puissent télécharger la liste des paramètres en cas de besoin? Mon idée est de changer ce fichier une seule fois, de le télécharger sur un serveur distant, puis de télécharger les paramètres automatiquement. De cette façon, je n'aurais pas à recompiler et republier les APK.

Si le fichier texte est la solution la plus simple, quelle devrait en être la forme? Par exemple, dois-je écrire des paramètres comme celui-ci

Peter, Jane, Mary, ...

ou sous une autre forme?

Existe-t-il un besoin de couche entre ce fichier texte et l'application Android, comme lorsque nous faisons une couche sur le serveur distant pour récupérer des données de la base de données? Ou je peux simplement saisir des données directement à partir de ce fichier texte distant ?!

Répondre

2

Eh bien le mécanisme de livraison pourrait être un simple HTTP GET votre application effectue à un serveur Web que vous contrôlez. Il pourrait être aussi simple que http://myhost/names.txt.

Le format de données dépend de ce que vous voulez faire. La solution super simple serait un fichier texte avec un nom différent sur chaque ligne:

Peter 
Jane 
Mary 

Ou, vous pouvez servir jusqu'à JSON du serveur et l'analyser sur votre client.

{ "names": [ "Peter", "Jane", "Mary" ] } 

La solution JSON serait plus extensible, si vous souhaitez ajouter d'autres valeurs à l'avenir, par exemple:

dépend vraiment entièrement
{ "names": [ "Peter", "Jane", "Mary" ], 
    "lastnames": [ "Smith", "Johnston", "Cumberbatch" ] } 

sur ce que vous êtes à l'aise avec et ce que votre situation appelle .

+0

Vous pouvez également avoir un service Web avec une méthode supplémentaire pour la version de vos données afin que votre application ne téléchargerait ce fichier que lorsqu'il est mis à jour. Vous pouvez également implémenter [C2DM] (http://code.google.com/android/c2dm/) et ainsi informer vos clients de la mise à jour des données provenant d'une source distante. – Audrius

Questions connexes