2014-02-11 1 views
0

jMonkey 앱에서 안드로이드 인 텐트를 통해 전달 된 변수에 액세스하려고합니다. 나는 MainActivity 나는 jMonkey AppStates에서 이러한 변수에 액세스하려면 그러나jmonkey 엔진 appstates에서 인 텐트 엑센트에 액세스 하시겠습니까?

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     //super.onCreate(savedInstanceState); 
     Bundle parameters = getIntent().getExtras(); 
     System.out.println("hurr"); 
     if (parameters != null) { 
      String name = parameters.getString("myextra"); 
      System.out.println(name); 
      //Integer age = parameters.getInt("age"); 
     } 
    } 

의 일반적인 목적 변수 읽기 코드를 사용하여 이러한 변수에 액세스 할 수 있지만 이러한 변수를 유지하는 객체의 참조를 전달하는 방법을 모른다 jMonkey 시스템. MainActivity에서 AppStateManager에 액세스 할 수 없으며 JmeSystem 객체를 사용하여 AppState에서 JmeAndroidSystem 참조에 액세스 할 수 없습니다.

JamAndroidSystem이 보이도록 AndroidHarness 및 JmeSystem 코드를 해킹하는 대신이 통신에 좋은 방법이 있습니까?

답변

0

JMonkey는 MainActivity에서도 app 변수 인스턴스를 제공합니다.

app.getStateManager.getState(XYZ.class)이 액세스 할 수있는 OnCreate() 메소드에 새로운 AppState를 정의하여 Intent의 컨텍스트를 저장할 수 있습니다.

String url = getIntent().getStringExtra("url"); 
String uname = getIntent().getStringExtra("username"); 
String pass = getIntent().getStringExtra("password"); 
String amcatID = getIntent().getStringExtra("amcatID"); 
String moduleID = getIntent().getStringExtra("moduleID"); 

if (url!=null && uname!=null && pass!=null && amcatID!=null && moduleID!=null) { 
    System.out.println("hurrhurr"); 
    System.out.println(url); 
    System.out.println(uname); 
    System.out.println(pass); 
    System.out.println(amcatID); 
    System.out.println(moduleID); 
    app.getStateManager().attach(new SOAPCommunication(url,uname,pass,amcatID,moduleID)); 
}