2011-12-07 2 views
0

작업이 시작될 때 비동기 작업을 어떻게 실행할 수 있습니까? 약 7 개의 액티비티가 있으며, 비동기 태스크를 실행할 때마다 시작해야하며, 액티비티가 종료 될 때 취소해야합니다.작업이 시작될 때 작업 실행

public MyApp extends Application{ 
    public void onCreate(){super.onCreate();} 
} 

하나의 분명한 방법은 모든 활동을 onCreate에 넣는 것이지만별로 건조하지는 않습니다. 다른 방법이 있습니까? Application onCreate에 넣으면 Toast.makeText를 실행할 수 없습니다. 아무런 활동도 없기 때문에 ...

답변

1

우선 귀하의 코드는 onCreate-Application Class의 방법을 사용합니다. 일반적으로 여기에서는 작업을하지 말고 Activity 클래스를 사용해야합니다. 애플리케이션과 활동의 차이점을 알고 있어야하며 Android 기본 요소이므로 활동주기를 잘 이해하고 있어야합니다.

모든 활동의 일반적인 작업의 경우 추상적 인 BaseActivity를 직접 만들고 공용/공유 자료를 구현하고이 클래스에서 상속해야합니다. 하지만 여러 액티비티가 동시에 인스턴스화 될 수 있으므로 사용하려는 핸들러는 실제로 어떤 종류의 동작을 수행 할 것인지에 따라 달라집니다. 다시 : 안드로이드 라이프 사이클이 어떻게 작동하는지, 어떻게 활동을 관리하는지 또는 어떤 문제가 생길 수 있는지 이해하십시오.

0

작업을 호스팅하고 각각을 바인딩하는 서비스를 고려한 적이 있습니까? 당신의 활동 중 'OnCreate?

+0

나는 그 방법에 대해서도 읽었지만 솔루션을 찾기 위해 노력했다. 애플의 인생에서 한 번만 작업을 시작해야한다. – Amit

+0

이것은 각 액티비티의 메소드를 구현하는 것과 동일하다. 'OnCreate'. – Ramseys

+0

또한 각각의 액티비티에 대해 메소드가 동일하다면 액티비티를 상속받은 자신 만의 클래스를 생성하고 태스크로 'OnCreate'를 오버라이드 한 다음이 클래스의 각 액티비티를 상속받을 수 있습니다. – Ramseys

관련 문제