활동에 열린 소켓 연결이있는 스레드가 있습니다. 다른 활동의 스레드에서 데이터를 가져올 수 있도록 스레드를 globaly로 사용하고 싶습니다. 백그라운드에서 뛰는 것과 같은 생각 ...어떻게 안드로이드에서 백그라운드에서 실행되는 스레드를 만들 수 있습니까?
나에게 맞는 솔루션이나 예제가 있습니까?
감사합니다. 당신은 소켓을 열고 심지어 다른 한편 경우에 활동 가까이 사용 Service
후 열어 확인하려면
:
활동에 열린 소켓 연결이있는 스레드가 있습니다. 다른 활동의 스레드에서 데이터를 가져올 수 있도록 스레드를 globaly로 사용하고 싶습니다. 백그라운드에서 뛰는 것과 같은 생각 ...어떻게 안드로이드에서 백그라운드에서 실행되는 스레드를 만들 수 있습니까?
나에게 맞는 솔루션이나 예제가 있습니까?
감사합니다. 당신은 소켓을 열고 심지어 다른 한편 경우에 활동 가까이 사용 Service
후 열어 확인하려면
:
여러 활동이에 액세스 할 수 있도록하려면 당신은 비동기 Task-- Understanding AsyncTask
당신은 두 가지 옵션이 있습니다 액티비티가 실행 중일 때 소켓을 열고 닫으려면 액티비티를 닫은 다음 AsyncTask
을 사용하십시오.
당신은 문서에서 AsyncTask
here
사용하는 방법을 예를 찾을 수 있습니다
네트워크 작업은 예상치 못한 지연을 포함 할 수있다. 이로 인해 사용자 경험이 저하되지 않도록하려면 UI의 별도 스레드에서 항상 네트워크 작업을 수행하십시오. AsyncTask 클래스는 UI 스레드에서 새 작업을 시작하는 가장 간단한 방법 중 하나를 제공합니다.
를 사용하여이 코드
void runInBackground() {
new Thread(new Runnable() {
@Override
public void run() {
// DO your work here
// get the data
if (activity_is_not_in_background) {
runOnUiThread(new Runnable() {
@Override
public void run() {
//uddate UI
}
});
}
runInBackground();
}
});
}
그리고 세 번째 방법을 Service
찾고 또는 시도된다 스레드를 누른 다음 스레드를 실행 Vaibs_cool의 샘플 (그것은 단지 일반 스레드, 그것에 대해 아무것도 안드로이드 고유의) 결합하고 다음 ...
Application (매니페스트에 항목을 입력하십시오) 그 스레드를 넣으십시오.
그런 식으로 모든 활동을 대화 할 수 있습니다.
응용 프로그램을 처음으로 확장하거나 자동으로 시작하는 클래스를 호출해야합니까? – GiGi
아니요, 매니페스트에 넣는 한 실제로는 시작한 첫 번째 항목이며 앱에서 정리 된 마지막 항목입니다. 어떤 활동이 존재하는 한 거기에있을 것을 보장합니다. –
백그라운드에서 무거운 프로세스를 수행하려는 경우 AsyncsTask가 훌륭한 옵션이 될 수 있습니다. –