1). Vérifiez votre Logcat
que vous n'avez aucune erreur.
2). Activez la journalisation pour voir toutes les instructions SQL, ce que vous faites :
https://gist.github.com/davetrux/9741432
adb shell setprop log.tag.SQLiteLog V
adb shell setprop log.tag.SQLiteStatements V
adb shell stop
adb shell start
Ou lisez ceci :https://stackoverflow.com/a/19152852/1796309
Ou ceci :https://stackoverflow.com/a/6057886/1796309
Quoi qu'il en soit, vous devez vérifier que vous effectuez une requête SQL correcte.
3). Si votre requête est bonne, mais que vous ne pouvez toujours pas mettre à jour votre ligne, vous devez faire ceci :
3.1) Accédez à <android-sdk-dir>/platform-tools
3.2). Assurez-vous que votre build actuel est Debug
(pas Release
, ou vous obtiendrez le message adbd cannot run as root in production builds
).
Je veux dire que vous devriez exécuter votre application via ce bouton :
Et exécutez les commandes suivantes :
./adb root
./adb shell
run-as com.mycompany.app //<----------- your applicationId from build.gradle
ls -l
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:44 cache
drwx------ u0_a88 u0_a88 2016-01-25 15:25 code_cache
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:44 databases //<----
drwxrwx--x u0_a88 u0_a88 2016-01-25 15:26 files
cd databases/
ls -l
-rw-rw---- u0_a88 u0_a88 172032 2016-01-25 15:45 <your-app>.db
-rw------- u0_a88 u0_a88 33344 2016-01-25 15:45 <your-app>.db-journal
chmod 777 -R <your-app>.db
exit
exit
./adb pull /data/data/<your applicationId from build.gradle>/databases/<your-app>.db ~/projects/
Après cela, vous aurez une copie de votre base de données SQLite dans ~/projects/
répertoire.
Ouvrez-le en utilisant, par exemple ceci :http://sqlitebrowser.org/
Essayez d'exécuter la requête de mise à jour, que vous pouvez obtenir à partir de Logcat
.
Vous verrez toutes les erreurs SQL et vous pourrez les corriger très rapidement.
Bonne chance !