public class MainActivity extends Activity implements Test2.ThreadRecevie{
public String CLASSNAME = "MainActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.i(CLASSNAME,"onCreate Thread.currentThread().getName() : "+Thread.currentThread().getName());
Test2 test2 = new Test2(this,"구글");
test2.start();
}
@Override
public void onReceiveRun(final String tmp) {
Log.i(CLASSNAME,"onReceiveRun1 : "+tmp);
Log.i(CLASSNAME,"onReceiveRun Thread.currentThread().getName() : "+Thread.currentThread().getName());
}
}
쓰레드
public class Test2 extends Thread {
Handler mHandler = new Handler();
ThreadRecevie mThreadRecevie;
private String CLASSNAME="Test2";
private String mUrl;
public interface ThreadRecevie{
public void onReceiveRun(String tmp);
}
public Test2(ThreadRecevie threadRecevie,String url) {
mThreadRecevie = threadRecevie;
mUrl = url;
}
@Override
public void run() {
super.run();
/* 이부분에 쓰레드에서 하는 네트워크 처리를 넣어준다.*/
Log.i(CLASSNAME,"run");
Log.i(CLASSNAME,"run Thread.currentThread().getName() : "+Thread.currentThread().getName());
mHandler.post(new Runnable() {
@Override
public void run() {
mThreadRecevie.onReceiveRun(mUrl+"가나다라마"); //참조된 ThreadRecevie객체의 onReceiveRun함수를 호출
}
});
//mThreadRecevie.onReceiveRun(mUrl+"가나다라마");
}
}
예제 첨부
'PROGRAMING > Android' 카테고리의 다른 글
Playlists.Members.getContentUri와 PlayList안의 음악들 조회 (0) | 2013.03.14 |
---|---|
Intent로 Activity 열기 getIntent로 전달된 값 받기 (0) | 2013.03.14 |
Android log 저장방법 UncaughtExceptionHandler 구현과 android.app.application (0) | 2013.03.06 |
Fragment 에서 BackStack 사용안하기. (0) | 2013.03.04 |
Fragment에서 BackStack 사용시 현재 전면에 나와있는 Fragment알아오기(OnBackStackChangedListener) (1) | 2013.03.04 |