나는 3 개의 회 전자를 가진 활동이있다. 이 스피너는 약 1 분이 걸리는 방법으로 웹 서비스에서 데이터를 가져옵니다.활동을 표시 한 후 코드를 어떻게 실행합니까?
먼저 Activity를로드하고 가시화 된 후 해당 웹 서비스 메소드를 호출하고 데이터를로드하려고합니다. 다음 코드는 별도로 테스트했지만 어느 누구도 내 문제를 해결하지 못했습니다. 이 샘플에서는 애플리케이션이 검은 색 화면으로 이동하고 웹 서비스 작업이 완료되면이를 볼 수 있습니다.
@Override
protected void onCreate() {
//.........
final Runnable r = new Runnable()
{
public void run()
{
loadMyData();
}
};
Utilities.performOnBackgroundThread(r);
}
@Override
protected void onResume() {
new Thread() {
@Override
public void run() {
loadMyData();
}
}.start();
super.onResume();
}
@Override
protected void onStart() {
if (comesFromOnCreateMethod)
{
final Runnable r = new Runnable()
{
public void run()
{
loadMyData();
}
};
Utilities.performOnBackgroundThread(r);
}
comesFromOnCreateMethod = false;
super.onStart();
}
@Override
protected void onResume() {
if (comesFromOnCreateMethod)
{
final Runnable r = new Runnable()
{
public void run()
{
loadMyData();
}
};
Utilities.performOnBackgroundThread(r);
}
comesFromOnCreateMethod = false;
}
내 언급 된 코드는 스레드입니다. 왜 내 코드가 작동하지 않지만 AsyncTask가 작동 했나요? : - ?? – breceivemail
코드의 일부가 UI 스레드로 유출되어 정지하게됩니다. – Mimminito