나는 활동으로 작성했다.자바를 사용하여 안드로이드에서 동시에 간단한 작업을 수행하는 방법
이 활동의 변수를 true로 설정하고 5 초 동안 기다렸다가 현재 스레드 실행을 중단하지 않고 변수를 다시 false로 전환하기 만하면됩니다.
도움을 주시면 감사하겠습니다. 나는 이것을 몇 시간 동안 봤고 모든 종류의 성공을 시도했다.
나는 활동으로 작성했다.자바를 사용하여 안드로이드에서 동시에 간단한 작업을 수행하는 방법
이 활동의 변수를 true로 설정하고 5 초 동안 기다렸다가 현재 스레드 실행을 중단하지 않고 변수를 다시 false로 전환하기 만하면됩니다.
도움을 주시면 감사하겠습니다. 나는 이것을 몇 시간 동안 봤고 모든 종류의 성공을 시도했다.
나는 당신을 위해 무엇을 찾고있는 것은 AsyncTask를 생각합니다.
http://developer.android.com/reference/android/os/AsyncTask.html
private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
protected Long doInBackground(URL... urls) {
int count = urls.length;
long totalSize = 0;
for (int i = 0; i < count; i++) {
totalSize += Downloader.downloadFile(urls[i]);
publishProgress((int) ((i/(float) count) * 100));
// Escape early if cancel() is called
if (isCancelled()) break;
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
setProgressPercent(progress[0]);
}
protected void onPostExecute(Long result) {
showDialog("Downloaded " + result + " bytes");
}
}
생성되면, 작업은 매우 간단하게 실행됩니다
new DownloadFilesTask().execute(url1, url2, url3);
당신은 doInBackground()
방법 내부 AsyncTask를 인터페이스 및 수면을 구현하고 당신이 부울 변수
부울 bValue = 거짓이 클래스에 다시
onPostExecute()
방법당신의 변수를 변경해야합니다;
는 그런 다음 활동
private class sleepFiveTask extends AsyncTask<Void, Void, Void> {
protected void onPreExecute() {
bValue = true;
}
protected void doInBackground(Void... params) {
try {
Thread.sleep(5000); //sleep for 5 seconds
} catch (InterruptedException e) {
e.printStackTrace();
// handle the exception...
// For example consider calling Thread.currentThread().interrupt(); here.
}
}
protected void onPostExecute(Void result) {
bValue = false;
}
}
을 내부에 private 클래스를 추가하고 실행할 때 실행
새로운 sleepFiveTask() .Execute를();
Thread
부터 시작할 수 있습니다. 예 :
boolean myvar = true;
new Thread(
new Runnable() {
public void run() {
SystemClock.sleep(5000);
myvar = false;
}
}
}).start();
이 시도, 현재 스레드 실행을 동결 – user3078403
그것은 말이되지 않습니다. 실행이 정말로 멈 추면 다른 이유로 UI UI 스레드에서 실행되지 않는 병렬 스레드를 시작해야합니다. – nKn
또한 당신은 여분의}, 귀하의 응답을 위해 다시 고마워요 – user3078403
당신이 BackgroundTask으로 이것을 실행하는 tryed 적이 있습니까? false로 전환하면 작업이 종료됩니다. –
나는 이것을 시도했지만 작동하지 않았다. 나는 부울을 사용하고 while 루프는 작업이 완료되면 설정한다. – user3078403
같은 주제에 대해 많은 게시물이 있는데, 왜 그 것이 실패했는지 언급한다. 그렇지 않으면. – harshal