recherche

Maison  >  Questions et réponses  >  le corps du texte

Comment garantir l'achèvement à 100 % des opérations Android fastidieuses

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.

習慣沉默習慣沉默2767 Il y a quelques jours607

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师2017-05-24 11:40:12

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

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

    répondre
    0
  • phpcn_u1582

    phpcn_u15822017-05-24 11:40:12

    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.

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-24 11:40:12

    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.

    répondre
    0
  • Annulerrépondre