주 활동의 버튼 누르기에 대한 응답으로 데이터를 가져 오는 클래스가 있습니다. 불행히도이 클래스는 활동이나 서비스가 아니기 때문에 문제가 계속 발생합니다. 예를 들어, 문맥없이 나는 문자열에 자원 ID를 변환 할 수 없습니다 :이 닫힐 때안드로이드에서 서비스를 사용하는 경우
getString(R.string.example_string); // Doesn't work
나는 클래스를 중지 서비스에이 클래스를 확인하고 주요 활동을해야 하는가? 이 컨텍스트를 Activity에서이 클래스로 전달해야합니까?
MyClass c = new MyClass(this);
또는이 문제를 해결할 더 좋은 방법이 있습니까?
이 문제는이 수업에서 토스트를 보내려고 할 때도 나타납니다.
업데이트 : Erich와 Janusz는 새로운 스레드를 생성하고 그 스레드를 죽이지 않는다는 점을 제외하면 완벽하게 작동하는 AsyncTask
클래스의 방향으로 나를 지적했습니다. 이것은 사용자가 버튼을 누를 때마다 다른 스레드가 추가되고 이전 스레드가 바로 거기에 앉아 있음을 의미합니다.
대단히 감사합니다! AsyncTask 정확히 내가 무엇을 찾고 있었다. 유일한 문제는 onPostExecute()가 호출 된 후에도 AsyncTask 스레드가 계속 실행된다는 것입니다. AsyncTask의 새로운 인스턴스를 만들어야하기 때문에 남용 스레드가 많이 생길 수 있습니다. 스레드가 죽는 것을 어떻게 확인할 수 있습니까? – Computerish