2014-02-24 3 views
1

java에서 일부 변수를 초기화하고 내 원시 코드로 보내려고합니다. java 변수가 초기화 될 시간을 얻고 네이티브 활동에 전달 될 수 있도록 nativeactivity 호출을 지연시켜야합니다.Java 객체가 초기화 될 때까지 nativeactivity 호출을 연기하는 방법은 무엇입니까?

내 주요한 문제는 NativeActivity (필수)에서 내 수업을 확장함에 따라 내 활동이 시작되는 즉시 기본 활동이 계속 호출된다는 것입니다. super가 실행 된 후 onCreate()가 호출 되 자마자 자동으로 원시 활동이 시작되고 Java 변수가 아직 초기화되지 않습니다.

+0

부스트를 사용합니까? – eozgonul

+0

나는 부스트에 익숙하지 않다. 이게 뭐야? –

+0

짧은 방법으로, 이것은 오픈 소스 크로스 플랫폼 C++ 라이브러리입니다. 나는 당신과 비슷한 상황을 겪었고 Boost에서 뮤텍스와 조건 변수를 사용하여 해결했습니다. 그것은 귀하의 경우에 필요한 것보다 더 복잡한 일이 될 수 있으므로 세부 사항은 다루지 않을 것입니다. – eozgonul

답변

0

클래스에 handler를 사용할 수 있습니다.

private void cal(){  
final Handler handler2 = new Handler(); 
     Runnable runnable = new Runnable() { 
     int i=0; 
     public void run() 
     {          
     if(i==0) 
     {  
      // Enter your code here which you want run after some deley.     

    i++; 
     } 
     handler2.postDelayed(this, 2000); 
     } 
    }; 
    handler2.postDelayed(runnable, 2000); 
    }  

전화 메인 클래스에이 기능 :

다음은 지연 작업을 수행하기 위해 노력하고 있습니다 내 코드입니다.

희망은 당신을 위해 또한 작동합니다.

감사합니다.

+0

onCreate() 호출 할 때 super.onCreate()를 호출하자마자 super 호출자를 찾자 마자 처리기를 통해 네이티브 호출을 제어 할 수 있습니까? .onCreate() 네이티브 코드 실행을 시작합니다. 어디에서 핸들러를 놓아야합니까? jni 또는 네이티브 코드로 작업 한 적이 있습니까 ?? –

+0

전체 활동이 아닌 전체 활동 호출을 지연시키는 방법이 필요합니다. 다른 변수가 초기화되어 매개 변수로 nativeactivity로 보낼 수 있도록 실행하는 작업이 필요합니다. –

관련 문제