서적에 관한 질문 및 오류 등을 문의 할 수 있으며, 저자로부터 직접 답변을 받을 수 있습니다.

안녕하세요? 

자바가 서툴어 UI는 자바에서 처리하고, 나머지 수행은 네이티브에서 처리하고자 하였는데 때마침

"네이티브 스레드로 자바 콜백 만들기" 예제를 보고 구현을 해봤는데, 

콜백호출된 자바 함수에서 UI를 컨트롤하면 어플이 죽어버리는 현상이 발생해서 질문드립니다.

구현 코드는 예제에서 몇가지 추가하여 테스트 해봤습니다.


xml

<LinearLayout

    android:id="@+id/page1"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

/>


java

static View mPage1;

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

mPage1 = findViewById(R.id.page1);

}

public static void callback(int a){

Log.e("Java", "callback : " + a");

mPage1.setVisibility(View.INVISIBLE);

}


callback함수에서 mPage1.setVisibility(View.INVISIBLE);를 호출하면 어플이 죽어버리네요.. 이것 저것 해봤는데, 딱히 좋은 수가 생각나지 않아 질문드립니다.. 감사합니다



조재영

2013.02.14 23:05:31
*.137.110.90

한참을 헤멘끝에 자문자답입니다...

안드로이드에서 UI스레드가 아닌 다른 스레드에서 UI 컨트롤을 못하게 되있다고 하더군요...


원인출처

http://blog.naver.com/PostView.nhn?blogId=serimo&logNo=50151727013


해결출처

http://chen592969029.iteye.com/blog/1467237


안드로이드 프로그래밍 정복 1권 스레드부분 에도 나오네여..

전호철

2013.02.15 19:01:42
*.162.60.12

네. 댓글 다신것처럼 자바는 UI를 단일 Thread에서 관리하도록 되어 있기 때문에  UI Handler 등을 통해서 처리하셔야 합니다.


List of Articles
번호 제목 글쓴이 날짜sort 조회 수
43 [예제15.Native_Thread] Native Thread 예제 file 전호철 2012-10-31 4159
42 [예제14.JNI_onLoad] JNI_OnLoad 예제 file 전호철 2012-10-31 4218
41 [예제13.한글처리] NDK의 한글을 자바로 전달하는 예제 file 전호철 2012-10-31 4300
40 NDK 에서 BYTE 나 BOOL 등은 사용 못하는지요? [1] 더페이퍼 2012-10-30 4158
39 SSL_ERROR_SYSCALL 에러 질문드립니다.. 더페이퍼 2012-10-30 4565
38 [예제12.SDL] Android 에서 SDL 사용하는 예제 file 전호철 2012-10-26 4389
37 [예제11.Window_Fraction] file 전호철 2012-10-26 4257
36 [예제10.CatchThrow] Native에서 Exeption 처리 예제 file 전호철 2012-10-26 4321
35 [예제09.MyNewString] Native에서 String 생성자 호출 예제 file 전호철 2012-10-26 4272
34 [예제07/08.MethodCall] Native에서 JAVA의 Method를 호출하는 예... file 전호철 2012-10-26 4160
33 도대체 책의 예제 소스는 언제... 된장 2012-10-24 4426
32 [예제05/06.InstanceFieldAccess] Native에서 JAVA의 Field에 접... file 전호철 2012-10-22 4308
31 [예제04.ObjectArrayTest] Native에서 2차원 Int 배열 생성 예제 file 전호철 2012-10-22 4365
30 [예제03.IntArrary] JAVA와 Native 간 Int형 Array 전달 예제 file 전호철 2012-10-22 4323
29 [예제02.Prompt] JAVA와 Native 간 String 전달 예제 file 전호철 2012-10-22 4236
28 [예제01.HelloWorld] JNI를 통한 Native 함수 단순 호출 file 전호철 2012-10-22 4417
27 Error 질문 드립니다. [9] 더페이퍼 2012-10-18 4531
26 GetMethodID와 GetStaticMethodID [2] 심심해 2012-10-17 4687
25 NDK page-359 문의 [1] k2h 2012-10-16 4291
24 NDK 문의 드립니다. [4] 더페이퍼 2012-10-16 4395

사용자 로그인