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
는 전체 스택 추적 및 오류를 게시 할 수있는 것 : – XGouchet
변경 사항을 참조하십시오. @XGouchet .jar 및 .so deezer android sdk 파일이 모듈에서로드되지 않은 것 같습니다. 어떻게 수행할까요? –
스택 추적에서 jar 파일이로드되었습니다. SSL 연결 문제가있는 것 같습니다. Deezer SDK의 어떤 버전을 사용하고 있습니까? – XGouchet