2010-09-26 3 views
0

J'aime vraiment this approche pour gérer la base de données sqlite lors du développement pour Android, mais j'ai une question quand il s'agit de mettre à jour la base de données lors d'une mise à niveau de l'application. Cette méthode est-elle recommandée ou est-ce tellement plus sûr de faire la procédure standard (comme il semble l'être) avec drop table/create table/insert dans une transaction pour pouvoir revenir en arrière en cas d'échec?OnUpgrade ne pas utiliser drop table/create table/insérer

Répondre

0

Cette méthode est recommandée

Y at-il une méthode particulière dont vous parlez?
Ce lien semble montrer l'utilisation simple d'un SQLiteOpenHelper qui, dans le cadre de l'API standard, je dirais est recommandé.

Vous pouvez faire ce que vous voulez dans la méthode onUpgrade, qu'il s'agisse de DROP tables ping, ALTER ou d'autres.

Si vous voulez les emballer dans une transaction, c'est à vous de décider.

+0

La méthode à laquelle je faisais référence consiste à copier la base de données à partir du dossier des actifs si la base de données n'a pas encore été créée sur le périphérique/émulateur. Regardez copyDataBase() où le travail est fait. –

+0

Ha, désolé. Oui, c'est aussi une bonne solution lorsque vous devez importer une base de données pré-remplie. Il y a beaucoup d'autres questions sur ce site à ce sujet. –

+0

Bon, bon à savoir cette solution est une bonne alternative, même lors de la mise à jour de l'application. J'ai essayé de chercher mais je n'ai trouvé aucune autre bonne question/réponse sur stackoverflow. Je suppose que je dois faire un autre tour de recherche pour voir ce qui est dit sur le sujet. –