Activity는 Handler를 이용하여 Thread와 통신하여 간단한 데모를 썼다
android로.os.Handler、java.lang.Thread 및android.os.Message 세 가지 유형의 통합 응용
여기에는 Activity 클래스 코드만 있습니다.다른 레이아웃 파일들은 아래 코드를 보고 싶습니다. 여러분은 알아야 합니다.
import java.text.SimpleDateFormat;
import java.util.Date;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
import com.wm.nsp.R;
public class DateHandlerActiviy extends Activity {
private MyHandler myHandler;
private TextView textView;
private boolean bool = true;
private static final SimpleDateFormat simpleDateFormat = new SimpleDateFormat("HH:mm:ss");
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.date);
textView = (TextView)findViewById(R.id.textView);
Button startButton = (Button)findViewById(R.id.startButton);
Button endButton = (Button)findViewById(R.id.endButton);
startButton.setOnClickListener(listener);
endButton.setOnClickListener(listener);
myHandler = new MyHandler(Looper.getMainLooper());
}
private OnClickListener listener = new OnClickListener() {
@Override
public void onClick(View v) {
switch(v.getId()){
case R.id.startButton:
bool = true;
new myThread().start();// ,
break;
case R.id.endButton:
bool = false;//
break;
default:
break;
}
}
};
class myThread extends Thread{
@Override
public void run() {
while(bool){
Message message = myHandler.obtainMessage();
message.what = 1;
message.obj = simpleDateFormat.format(new Date());
myHandler.sendMessage(message);
try {
Thread.sleep(1000);//
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
class MyHandler extends Handler{
public MyHandler(Looper looper){
super(looper);
}
@Override
public void handleMessage(Message msg) {
Log.i("System.out", msg.obj+"");
if(msg.what == 1){
textView.setText(msg.obj.toString());
}
}
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception in thread main java.lang. NoClassDefFoundError 오류 해결 방법즉,/home/hadoop/jarfile) 시스템은 Hello World 패키지 아래의class라는 클래스 파일을 실행하고 있다고 오인하여 시스템의 CLASSPATH 아래 (일반적으로 현재 디렉터리를 포함) Hell...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.