0
내가 UI를 업데이트 할 수있는 서비스 및 배경 스레드를 배우려고 노력하고 제대로 작동하지, 여기,이 서비스가 MainActivity
에서 startService()
메소드를 호출하여 시작, 문제는 다음과 같습니다 루프는i
의 더 큰 값을 실행할 때 토스트는 모든 값에 대해 표시되지 않습니다 (흥미롭게도 루프가 표시되지 않은 토스트). 그러나 이번에는 10/20 등으로 테스트하고 완벽하게 작업했습니다. 여기 서비스
MyService.java
의, 코드입니다 : 안드로이드 서비스, 배경 작업, 방송 수신기에 매우 초보자를위한 몇 가지 정말 유용한 리소스에 대한 public class MyService extends IntentService {
Handler mhandler;
public MyService() {
super("Hello");
}
@Override
public void onCreate() {
Toast.makeText(this, "Service Starting!", Toast.LENGTH_SHORT).show();
super.onCreate();
mhandler = new Handler();
}
@Override
protected void onHandleIntent(@Nullable Intent intent) {
mhandler.post(new Runnable() {
@Override
public void run() {
int i;
for (i = 0; i < 100; i++) {
Toast.makeText(MyService.this, "i is: " + i, Toast.LENGTH_SHORT).show();
}
Toast.makeText(MyService.this, "finally i is: "+i, Toast.LENGTH_SHORT).show();
}
});
}
}
요청. 나는 developer.android.com (초보자에게 도움이되지 않음), www.vogella.com 등을 가지고 있습니다. 미리 감사드립니다.
내 첫 번째 본능에서 토스트에 과부하가 걸렸다 고합니다. (내가 틀렸을 수도있다). 'Log.v ("MY_SERVICE", "i is :"+ String.valueOf (i))'를 대신 사용해보십시오. 코드가 작동하는지 확인하려면 실행하고 logcat – Pythogen
을 확인하십시오. 모든 값은 로그 cat에 표시됩니다! 하지만 왜 축배에!? –
토스트는 디버깅 목적으로 신뢰할 수 없습니다. –