Android: utiliser une base de données SQLite sur Carte SD (non à l'aide d'Android Magasin de Données)
Quelqu'un peut-il me donner quelques liens ou des tutoriels pour utiliser SQLite fichier qui est stocké sur une carte SD? Ne pas mettre en œuvre la OpenHandler.
/CARTE SD//info.db
Je veux utiliser un externe base de données SQlite fichier (ne pas utiliser Android banque de données interne) parce que je veux fréquemment mettre à jour le fichier de base de données pour fournir plus d'informations à jour sur info.db.
Merci.
OriginalL'auteur rvpals | 2010-12-13
Vous devez vous connecter pour publier un commentaire.
Avez-vous essayé d'utiliser
SQLiteDatabase.openOrCreateDatabase(String, SQLiteDatabase.CursorFactory)
? Vous pouvez tout simplement passer à"/sdcard/info.db"
comme la première et lanull
comme second paramètre.Je vous remercie. J'ai essayer.
Oh, bon point! J'ai totalement oublié de mentionner que la carte SD est peut-être indisponible. Parfait que vous avez noté parce que mon projet actuel doit également mettre en cache des données dans une DB SQLite sur la carte SD (si disponible).
Je l'ai fait mais toujours ma lors de l'installation de l'application, elle crée la base de données sur la mémoire de stockage interne, j'ai aussi utilisé le contexte.getExternalFilesDir(null).getAbsolutePath() + "/" + DATABASE_NAME au lieu de coder en dur la sdcard chemin, mais ne fonctionne pas
OriginalL'auteur mreichelt
Je vous recommande de ne PAS placer la base de données sur la carte SD, en raison en partie des problèmes de sécurité (tout le monde qui a un accès physique à l'appareil et la carte SD, y compris toutes les applications en cours d'exécution sur l'appareil, auront également plus ou moins de droits d'accès complet vers le fichier de base de données), mais aussi en raison de problèmes de matériel (une carte SD a une durée de vie limitée comme le nombre total d'opérations d'écriture, on peut effectuer sur elle).
Ces questions sont également abordées ici: La base de données SQLite sur carte SD
Il devrait être possible (techniquement) depuis une base de données SQLite est une base de données de fichier. En fonction de la mise en œuvre, cela pourrait nuire à la performance (par exemple, si pour une raison quelconque besoin de déchiffrer la base de données pour chaque opération de lecture).
c'est ce que la messagerie instantanée à l'aide de github.com/sqlcipher/android-database-sqlcipher
OriginalL'auteur dbm