Background Thread
6839 단어 AndroidStudio안드로이드 개발
기법1. extends Thread class
MainActivity.java
//This method will be onClick method of a button
public void startThread(View view){
MyThread myThread=new MyThread(10);
myThread.start();
}
//create a custom thread
public class MyThread extends Thread{
//defining second externally
int seconds;
//create a constructor and take parameter of seconds
public MyThread(int seconds){
this.seconds=seconds;
}
//Override run method
@Override
public void run() {
for(int i=0;i<seconds;i++){
Log.d(TAG, "startThread:" + i);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
start를 누르면 배경에서 Thread가 집행되면서도 UI는 동결하지 않고 여전히 사용할 수 있습니다.
기술2. implements Runnable interface
MainActivity.java
//This method will be onClick method of a button
public void startThread(View view){
Run run=new Run(10);
new Thread(run).start();
}
//defining custom runnable class
public class Run implements Runnable{
int seconds;
//create constructor
public Run(int seconds){
this.seconds=seconds;
}
public void run() {
for(int i=0;i<seconds;i++){
Log.d(TAG, "startThread:" + i);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
두 가지 방법의 결과는 동일합니다. 이상입니다.
Reference
이 문제에 관하여(Background Thread), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fang8823/items/b31535567b613f4b8cbf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
//This method will be onClick method of a button
public void startThread(View view){
MyThread myThread=new MyThread(10);
myThread.start();
}
//create a custom thread
public class MyThread extends Thread{
//defining second externally
int seconds;
//create a constructor and take parameter of seconds
public MyThread(int seconds){
this.seconds=seconds;
}
//Override run method
@Override
public void run() {
for(int i=0;i<seconds;i++){
Log.d(TAG, "startThread:" + i);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
MainActivity.java
//This method will be onClick method of a button
public void startThread(View view){
Run run=new Run(10);
new Thread(run).start();
}
//defining custom runnable class
public class Run implements Runnable{
int seconds;
//create constructor
public Run(int seconds){
this.seconds=seconds;
}
public void run() {
for(int i=0;i<seconds;i++){
Log.d(TAG, "startThread:" + i);
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
두 가지 방법의 결과는 동일합니다. 이상입니다.
Reference
이 문제에 관하여(Background Thread), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fang8823/items/b31535567b613f4b8cbf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)