Comment garantir l'achèvement à 100 % des opérations Android fastidieuses
習慣沉默
習慣沉默 2017-05-24 11:38:12
0
3
612

Les nouveaux développeurs Android rencontrent des doutes au cours du processus de développement. J'espère que les experts pourront m'aider à me guider.
Par exemple, mon application doit créer une base de données SQLite lors de sa première installation
Ma solution est d'exécuter cette méthode de création lorsque le lanceur démarre la page
Mais je pense que créer une base de données SQLite est une opération qui prend du temps, et je dois le mettre en exécution dans le sous-thread
Ensuite, la question se pose :
Si la création de la base de données dans le sous-thread échoue, comment puis-je m'assurer que les méthodes suivantes peuvent être exécutées sans problème ?
Lorsque je crée la base de données, le lanceur est peut-être passé à mainActivity, ou a été transféré vers d'autres pages, ou est même prêt à écrire des données dans la base de données, mais à ce stade, je peux déterminer si la base de données existe. Sinon, oui. , je peux le recréer, mais il m'est impossible de recréer la base de données à tous les endroits où des opérations de base de données sont requises. Alors, comment puis-je m'assurer que les résultats de l'opération dans le thread enfant sont terminés à 100 % ?
Et il existe plusieurs autres opérations dans le lanceur, qui doivent toutes être effectuées dans des threads enfants.
Solution.

習慣沉默
習慣沉默

répondre à tous(3)
Peter_Zhu

1. Encapsulez-le
2 Par exemple, encapsulez une couche DBUtils.

bool checkDB(){
    return ..;
}
Beans DBUtils.query(callback){
    if(checkDb){
     callback(data);
    }
}
phpcn_u1582

Il est recommandé d'utiliser une logique de blocage forte et d'afficher la boîte de chargement non annulable pour garantir le résultat de l'exécution.

Peter_Zhu

Il est recommandé de se référer au fait que lorsque QQ mobile est démarré pour la première fois, il existe une barre de progression telle que l'initialisation des données.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal