2013-08-22 6 views
1

나는 티타늄 용 디저 모듈을 만들고 있습니다.deezer 안드로이드 용 appcelerator 모듈

로그인 메시지를 시각화 할 때 문제가 있습니다.

은 여기 내 DeezerAndroidModule.java (또는 그것의 상당 부분)

@Kroll.module(name="DeezerAndroidModule", id="deezer.android") 
public class DeezerAndroidModuleModule extends KrollModule 
{ 
    private static final String TAG = "DeezerAndroidModuleModule"; 
     private final String APP_ID = "xxx"; 
     private final static String[] PERMISSIONS = new String[]{"basic_access","offline_access","email"}; 
    private DeezerInterface deezerInterface; 
    private  DeezerConnect connection; 
     {...} 
    @Kroll.method 
    public void loginDeezer() 
    { 

     connection.authorize(deezerInterface, PERMISSIONS, new ReconnectDialogHandler()); 

    } 
     @Kroll.method @Kroll.getProperty 
    public String userId() 
    { 

     DeezerRequest request = new DeezerRequest("/user/me"); 
     String result = null; 
     try { 
      result = connection.requestSync(request); 
     }//try 
     catch(MalformedURLException ex) { 

     }//catch 
     catch(IOException ex) { 

     }//catch 
     catch (OAuthException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } catch (DeezerError e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
     return result; 

    } 
     {...} 
    class ReconnectDialogHandler implements DialogListener { 

     @Override 
     public void onComplete(final Bundle values) { 
      SessionStore sessionStore = new SessionStore(); 
      sessionStore.save(connection, deezerInterface); 

     }//met 

     @Override 
     public void onDeezerError(final DeezerError deezerError) { 

     }//met 

     @Override 
     public void onError(final DialogError dialogError) { 

     }//met 

     @Override 
     public void onCancel() { 

     }//met 

     @Override 
     public void onOAuthException(OAuthException oAuthException) { 

     }//met 


    } 

문제가 내가 loginDeezer() 함수를 호출 할 때, 응용 프로그램이 로그인보기 메시지를 표시하지 않고 일반 Java Exception을 던졌습니다입니다 ...

여기 logcat 캡션이 있습니다

W/System.err(6737): java.lang.NullPointerException 
W/System.err(6737): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:412) 
W/System.err(6737): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl$HttpsEngine.makeConnection(HttpsURLConnectionImpl.java:378) 
W/System.err(6737): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.retrieveResponse(HttpURLConnectionImpl.java:1018) 
W/System.err(6737): at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:512) 
W/System.err(6737): at org.apache.harmony.luni.internal.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:258) 
W/System.err(6737): at com.deezer.sdk.b.a(Unknown Source) 
W/System.err(6737): at com.deezer.sdk.b.a(Unknown Source) 
W/System.err(6737): at com.deezer.sdk.DeezerConnectImpl.requestSync(Unknown Source) 
W/System.err(6737): at deezer.android.DeezerAndroidModuleModule.userId(DeezerAndroidModuleModule.java:84) 
W/System.err(6737): at org.appcelerator.kroll.runtime.v8.V8Object.nativeFireEvent(Native Method) 
W/System.err(6737): at org.appcelerator.kroll.runtime.v8.V8Object.fireEvent(V8Object.java:64) 
W/System.err(6737): at org.appcelerator.kroll.KrollProxy.doFireEvent(KrollProxy.java:835) 
W/System.err(6737): at org.appcelerator.kroll.KrollProxy.handleMessage(KrollProxy.java:1059) 
W/System.err(6737): at android.os.Handler.dispatchMessage(Handler.java:95) 
W/System.err(6737): at android.os.Looper.loop(Looper.java:130) 
W/System.err(6737): at org.appcelerator.kroll.KrollRuntime$KrollRuntimeThread.run(KrollRuntime.java:112) 

내 코드가 맞지 않습니까?

DeezerModule

@Kroll.method 
public void loginDeezer() 
{  
    TiApplication appContext = TiApplication.getInstance(); 
    Activity act = appContext.getCurrentActivity(); 
    Intent myIntent = new Intent(act, DeezerInterface.class); 
    act.startActivity(myIntent); 
} 

에서

과 DeezerInterface 활동 클래스는 this

+0

는 전체 스택 추적 및 오류를 게시 할 수있는 것 : – XGouchet

+0

변경 사항을 참조하십시오. @XGouchet .jar 및 .so deezer android sdk 파일이 모듈에서로드되지 않은 것 같습니다. 어떻게 수행할까요? –

+0

스택 추적에서 jar 파일이로드되었습니다. SSL 연결 문제가있는 것 같습니다. Deezer SDK의 어떤 버전을 사용하고 있습니까? – XGouchet

답변

1

난 그냥 활동을 사용하여, XGouchet 덕분에 문제를 해결 제발?