アプリのサーバーからデータを取得しています。「getData」関数は、アプリのメイン アクティビティのスプラッシュ スレッドに含まれています。私が抱えている問題はこれです:
アプリをロードした後にニュースや説明をすばやく入力すると、すべての情報がロードされていないことに気付きます (保存する必要がある最後の 2 つまたは 3 つの文字列は null です)。ただし、メイン メニューを表示してから (スプラッシュ スレッドの完了後) 数秒間アプリを許可すると、問題は発生せず、すべての情報が電話に正しく保存されます。スプラッシュ スクリーンを数秒遅らせてみましたが、それは実際にはエレガントな解決策ではなく、常に機能するわけでもありません。
私の質問は、「最終的に」にジャンプする前に機能が完了していることを確認するにはどうすればよいかということです
別のクラスのパブリック静的文字列配列にデータを保存するだけで、どのデータベースにもデータを保存していません。
以下に私のコードがあります:
if(networkAvailable()){
Thread splashTread = new Thread() {
@Override
public void run() {
try {
getData.execute(description_Hyperlinks);
getNews.execute(new String[]{newsJSON_Hyperlink});
getOffers.execute(new String[]{offersJSON_Hyperlink});
for(int i = 0; i<3; i++)
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
finish();
startActivity(new Intent(FlexFormActivity.this, MainMenu.class));
stop();
}
}
};
splashTread.start();