Niveau supérieur couche de base de données pour Android?
Sont at-il une bonne base de données des couches d'abstraction/objet /relationnel mappeurs/ActiveRecord implémentations/ce qu'ils sont appelés pour Android? Je suis conscient que db4o est officiellement pris en charge, mais il a une grande empreinte et je préfère utiliser une base de données conventionnelle (SQLite
).
- Je vais vous encourager à rester près de la "metal" que possible. La plupart de ces appareils ne sont pas comme les serveurs, où vous pouvez jeter puissance à ces innombrables couches d'abstraction. Ces appareils ne sont pas puissants et chaque appel de méthode, vous ne le possède à la fois une performance et d'une batterie de frapper. Vous devez être en train de penser sur la façon d'accomplir le plus avec le moins d'étapes à franchir. L'ajout d'une couche d'abstraction ne va pas faire quelque chose, mais ralentir votre application vers le bas et se contenter de brûler plus d'énergie que la même chose à certains SQL de base permettrait de réaliser.
- +1 pour MattC. Avec un pouvoir limité et la vie de la batterie de garder à l'esprit, je pense vraiment que vous voulez rester à l'écart à partir d'outils ORM sur Android.
- db4o ne serait pas en permanence de soutien Android si l'empreinte est inacceptable...
- double possible de Tout bon ORM outils de développement Android?
Vous devez vous connecter pour publier un commentaire.
Je suis l'auteur principal de ORMLite qui a été conçu pour être petit[ish], mais encore d'assurer un haut niveau de fonctionnalité. ORMLite fait des appels à la native Android OS Api de base de données à l'appui de son ORM fonctionnalité. Consultez la rubrique suivante pour des informations générales
Voici quelques Android exemples d'applications:
J'ai essayé le Sucre ORM, qui est très basique (et facile à utiliser), mais cela a fonctionné pour mes besoins.
Sucre de site web
Il y a un 'android-active record" du projet qui fournit ActiveRecord d'abstraction pour l'accès à Android de base de données SQLite.
Il est disponible ici: http://code.google.com/p/android-active-record
Il permet d'éliminer la plupart des standard de codage lors de l'exécution des opérations CRUD sur les entités de base de données et également de minimiser les efforts pour la création et le maintien d'une structure de base de données
Essayer ActiveAndroid. Il est libre et open source (Apache Version 2.0).
À partir du site web:
Si la taille et les performances de la matière, vous devriez jeter un oeil à notre open source outil ORM greenDAO. On écrit parce que nous ne voulons pas faire de compromis sur la vitesse. D'autres outils s'appuient largement sur la réflexion, ce qui est très lent sur Android. Malgré la taille minuscule (<100), il prend en charge des relations, des générateurs de requêtes, etc.
Plug sans vergogne, mais j'ai travaillé sur un nouvel open source Android cadre appelé À l'infini. Une de ses caractéristiques principales est un ORM qui a une API des critères similaires à Hiberner et quelques autres fonctionnalités intéressantes (associations, le chargement paresseux, etc.). Il est encore à ses premiers stades, mais je pense que ça se passe très bien.
J'ai écrit une nouvelle ORM, pour android, c'est le but et aussi facile que possible à mettre en œuvre. Elle les listes prise en charge et SQL de migration gratuit un couple de choses que j'ai toujours trouvée avait une surcharge dans d'autres bibliothèques.
http://www.rushorm.com/
J'ai connu le même problème et regarda à la fois android-active-enregistrement et ActiveAndroid. J'ai trouvé android-active-record n'a pas de poignée de choses que j'souciait (relations par exemple), et ActiveAndroid n'est pas gratuit. Par conséquent, j'ai décidé d'écrire ma propre bibliothèque. Il est appelé AndroidRecord et c'est hébergé sur GitHub et vous êtes libre d'en faire ce que vous voulez (je pense que je vais aller avec la licence MIT). J'utilise tous les jours et j'en suis content, mais j'aimerais obtenir de la rétroaction.
Si vous avez besoin de savoir comment l'utiliser, je suis en train de travailler sur la documentation. Si vous en avez besoin tout de suite, vous pouvez consulter cette lame exemple de projet qui devrait être assez pour tremper vos orteils dans. Vous pouvez également m'envoyer un email bien sûr.
Il y a aussi Neodatis et Perst (Lite).
J'ai joué avec Perst il y a un an et a conclu qu'il n'est pas la peine.
Après tout, un) Android fonctionne sur un assez restreinte de l'appareil avec ~16 mo de mémoire dans l'espace par application et b), vos clients serait vraiment apprécier les performances et faible consommation d'énergie.
Donc, mon conseil est d'aller avec SQLite et écrit à la main SQL. Il n'est pas difficile du tout et les emballages fournis par le SDK Android sont vraiment sympa.
EDIT: En 2012, le conseil serait d'utiliser l'ORM composant de DroidParts (ce qui est mon projet).
J'étais en comparant les bases de ormlite et greendao il y a quelques temps. Vous voudrez peut-être jeter un coup d'oeil il y. J'ai l'intention d'écrire un suivi avec des choses plus avancées dans le proche avenir, mais pour l'instant c'est uniquement un truc de base. Dans mon projet, je suis en utilisant GreenDAO.
Ont un coup d'oeil à Androrm. Il est open source et bien documenté (voir ici). Si vous avez jamais travaillé avec de django, vous remarquerez que la syntaxe est très similaire.
Androrm prend également en charge des classes d'abstraction pour la plupart des types de champ, plus relationnelle champs. De cette façon, il vous permet de requête pour vos données dans une manière très facile, avec seulement très peu d'effort de votre côté.
SQLite est explicitement partie de Android:
http://developer.android.com/reference/android/database/sqlite/SQLiteDatabase.html
Cependant, vous devrez créer votre propre couche d'abstraction (générateur de requêtes pour les requêtes simples), ou de traiter autrement avec SQL.
Peut-être http://developer.android.com/reference/android/database/sqlite/SQLiteQueryBuilder.html est ce que vous avez besoin?