2010-12-10 14 views
0

Comment puis-je copier un fichier .db générique (ne faisant pas partie de mes ressources, comme contacts.db) du système de fichiers de l'appareil vers un autre emplacement, par exemple sdcard? Puis-je utiliser -Copie de fichiers .db génériques sur la carte SD

InputStream ins = getResources(). OpenRawResource ("chemin vers mon fichier .db");

Ensuite, procédez comme indiqué ci-dessus.

Merci d'avance pour votre aide

+0

Vous ne pouvez pas copier une base de données utilisée par le système Android ou des applications natives sans avoir d'accès root. De plus, vous auriez aussi besoin d'un explorateur racine. –

+0

Pourquoi voudriez-vous faire cela? – Falmarri

Répondre

0

Vous ne pouvez pas copier « génériques » fichiers db partout, vous ne pouvez pas y accéder même. Ils sont privés à l'application qui a créé la base de données et les utilise.

Voir la documentation Security and Permissions pour plus d'informations.

Bien sûr, tous les fichiers .db auxquels vous avez accès, ceux de vos propres applications, vous pouvez les copier simplement en tant que fichiers (bien que vous souhaitiez vous assurer de fermer les connexions avant de le faire).

Des applications telles que Contacts exposent leurs données via un ContentProvider, mais elles ne vous permettent pas d'accéder directement au fichier db (pour des raisons évidentes).

+0

Merci Charlie Je comprendrais que l'édition du fichier contacts.db ne sera pas autorisée mais nous ne pouvons même pas le copier et l'envoyer à un serveur ou à une carte SD comme un fichier normal (puisque nous connaissons son emplacement). Ne pouvons-nous pas définir des autorisations de lecture dans le fichier manifest.xml pour y parvenir? J'essaye d'écrire une application de secours et employer les contacts api pour lire tous les champs prend beaucoup de temps. –

Questions connexes