Bagaimana untuk memastikan 100% selesai operasi Android yang memakan masa
習慣沉默
習慣沉默 2017-05-24 11:38:12
0
3
613

Pembangun Android baharu menghadapi beberapa keraguan semasa proses pembangunan saya harap pakar dapat membantu membimbing saya.
Sebagai contoh, apl saya perlu mencipta pangkalan data sqlite apabila ia dipasang buat kali pertama
Penyelesaian saya adalah untuk melaksanakan kaedah penciptaan ini apabila pelancar memulakan halaman
Tetapi saya fikir mencipta pangkalan data sqlite adalah operasi yang memakan masa, dan saya perlu memasukkannya ke dalam Execution dalam sub-thread
Kemudian persoalannya datang:
Jika penciptaan pangkalan data dalam sub-thread gagal, bagaimana saya boleh memastikan kaedah seterusnya dapat dilaksanakan dengan lancar?
Apabila saya mencipta pangkalan data, pelancar mungkin telah melompat ke mainActivity, atau telah dipindahkan ke halaman lain, atau bersedia untuk menulis data ke dalam pangkalan data, tetapi pada masa ini saya boleh menentukan sama ada pangkalan data itu wujud Jika tidak Ya , saya boleh menciptanya semula, tetapi adalah mustahil untuk saya mencipta semula pangkalan data di semua tempat di mana operasi pangkalan data diperlukan Jadi, bagaimana saya boleh memastikan bahawa hasil operasi dalam utas kanak-kanak itu 100% selesai?
Dan terdapat beberapa operasi lain dalam pelancar, semuanya perlu diselesaikan dalam rangkaian kanak-kanak.
Penyelesaian.

習慣沉默
習慣沉默

membalas semua(3)
Peter_Zhu

1. Bungkusnya
2.

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

Adalah disyorkan untuk menggunakan logik sekatan yang kuat dan muncul kotak pemuatan yang tidak boleh dibatalkan untuk memastikan hasil pelaksanaan.

Peter_Zhu

Adalah disyorkan untuk merujuk kepada fakta bahawa apabila QQ mudah alih dimulakan buat kali pertama, terdapat bar kemajuan seperti permulaan data.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan