初心者の Android 開発者は、開発プロセス中にいくつかの疑問に遭遇します。専門家がガイドしてくれることを願っています。
たとえば、私のアプリは最初にインストールするときに sqlite データベースを作成する必要があります。
私の解決策は、ランチャーがページを開始するときにこの作成メソッドを実行することです。
しかし、sqlite データベースを作成するのは難しいと思います。時間のかかる操作です。実行するにはサブスレッドに入れる必要があります。
次に疑問が生じます:
サブスレッドでのデータベースの作成が失敗した場合、どのようにしてデータベースの作成を確実に行うことができますか?後続のメソッドはスムーズに実行できますか?
データベースを作成すると、ランチャーが mainActivity にジャンプしたか、他のページに転送されたか、あるいはデータベースにデータを書き込む準備ができている可能性がありますが、この時点ではデータベースが存在するかどうかを判断できます。存在しない場合は再作成できますが、データベース操作が必要なすべての場所でデータベースを再作成することは不可能です。
では、操作の結果を確実にするにはどうすればよいですか?サブスレッドは 100% 完了していますか?
ランチャーには他にもいくつかの操作があり、それらはすべて子スレッドで完了する必要があります。 ###解決。
1. カプセル化します。
リーリー2. たとえば、DBUtils レイヤーをカプセル化します。
実行結果を確実にするために、強力なブロックロジックを使用し、キャンセル不可のロードボックスをポップアップ表示することをお勧めします。
モバイルQQを初めて起動すると、データの初期化などのプログレスバーが表示されるので参考にすることをお勧めします。