J'ai une base de données sur mon espace web. Maintenant, je veux télécharger cette base de données et le copier dans mon dossier/databases. Il copie certaines parties de la base de données mais je ne peux pas y accéder. Avec « Root Explorer », il dit « Erreur -. Une erreur est survenue lors de l'ouverture de la base de données ne peut pas ouvrir le fichier de base de données »Copier la base de données du serveur vers Android
private final static String DB_NAME = "werweisswasquiz";
private final static String DB_PATH = "data/data/my-package-name/databases/";
try {
// Log.d(TAG, "downloading database");
URL url = new URL("http://unnediger.bplaced.net/Files/mydbfile");
URLConnection ucon = url.openConnection();
InputStream is = ucon.getInputStream();
BufferedInputStream bis = new BufferedInputStream(is);
ByteArrayBuffer baf = new ByteArrayBuffer(1024);
int current = 0;
while ((current = bis.read()) != -1) {
baf.append((byte) current);
}
/* Convert the Bytes read to a String. */
OutputStream myOutput = new FileOutputStream(DB_PATH+DB_NAME);
myOutput.write(baf.toByteArray());
myOutput.flush();
myOutput.close();
bis.close();
is.close();
} catch (Exception e) {
Log.e("DOWNLOAD", "downloadDatabase Error: ", e);
return false;
}
Le fichier est-il chiffré? – Rajesh
oui certaines colonnes sont cryptées. mais pas toute la base de données. – androiddevjedi
La base de données n'a pas pu être ouverte à partir de SQLite Manager. Donc je suppose que vous devrez déchiffrer la base de données ou utiliser les mêmes méthodes de déchiffrement, que vous avez utilisées pour chiffrer le contenu, pour y accéder dans Android. – Rajesh