У меня есть класс, который извлекает данные в ответ на нажатия кнопок в основном действии. К сожалению, я все время сталкиваюсь с проблемами, потому что этот класс не является Activity или службой. Например, без контекста я не могу перевести идентификатор ресурса в строку:Когда использовать услугу в Android
getString(R.string.example_string); // Doesn't work
Должен ли я сделать этот класс в службу и имею основную активность остановить класс, когда он закрыт? Должен ли я передать Контекст из Activity в этот класс следующим образом?
MyClass c = new MyClass(this);
Или есть лучший способ справиться с этой проблемой?
Эта проблема также возникает, когда я пытаюсь отправить Тост из этого класса.
Update: Эрих и Януш указал мне в направлении AsyncTask
класса, который прекрасно работает, за исключением того, что он создает новый поток и никогда не убивает эту нить. Это означает, что когда пользователь нажимает кнопку, добавляется еще один поток, и старые сидят там.
спасибо! AsyncTask был именно тем, что я искал. Единственная проблема в том, что поток AsyncTask продолжает работать, даже после вызова onPostExecute(). Поскольку я должен сделать новый экземпляр моего AsyncTask когда-либо, мне нужно его использовать, это приведет к созданию большого количества оставшихся потоков. Как я могу убедиться, что нити умирают? – Computerish