webservice.UpdateAllNews();
この関数は、オンライン データベースからローカル データベースにデータをダウンロードします。
私が欲しいのは、関数がすべてのデータをダウンロードしたことを検出した後、次のアクティビティを起動したいということです。
P/S データが大きい
これが私の現状です
webservice.UpdateAllNews();
int secondsDelayed = 17;
new Handler().postDelayed(new Runnable() {
public void run() {
startActivity(new Intent(Main_Launcher.this,
Main_AllLatestNews.class));
finish();
}
}, secondsDelayed * 1000);
これは別のクラス関数です
public void UpdateAllNews() {
try {
List<List_CategoryNews> newsCat = dbhelper.getAllNewsCategories();
for (List_CategoryNews nwCat : newsCat) {
int CatNewsID = nwCat.getCatID();
if (CatNewsID != 0) {
dbhelper.DeleteNews(CatNewsID);
GetNews(CatNewsID, datetemp1, datetemp2);
}
String log = " NewsCatID- " + nwCat.getCatID()
+ " category Name- " + nwCat.getNewCatName();
System.out.println(log);
}
} catch (Exception ex) {
AlertDialog.Builder b = new AlertDialog.Builder(mContext);
b.setMessage(ex.toString());
b.show();
}
}
これは17秒後に一定の起動です。17秒の遅延ではなく、オンラインデータベースからのデータのダウンロードが完了した後に自動開始アクティビティが必要です。
なにか提案を?