2016-04-22 58 views
1

我有一個我在Haxe中使用openfl.net.URLLoader獲取JSON的Android應用程序(這是一個遊戲和高分存儲在網絡服務器上)。我正在爲IDE使用FlashDevelop 5.1.1.1。OpenFL URLLoader無法在Android上運行(與Haxe/Neko一起工作)

當我將應用程序編譯爲Neko時,它運行良好,並從Web服務器獲取JSON字符串沒有問題。

當我編譯爲Android並將其安裝到我的手機上時,它永遠不會聯繫到網絡服務器。我有網頁服務器在任何頁面加載時通知我,所以我知道Android應用程序永遠不會訪問服務器。

應用程序有INTERNET權限,如在project.xml規定:

這真是多餘,雖然因爲我也使用openfl(extension.iap的In-App Purchase的擴展。 IAP),它會自動添加INTERNET權限(並且工作得很好)。

爲了完整起見,下面的代碼:

var urll:URLLoader = new openfl.net.URLLoader(); 
urll.addEventListener(Event.COMPLETE, function(e:Event){ 
    // Parses JSON result here -- this code is never reached. 
} 
urll.load(new URLRequest("http://example.com/?action=highscores")); 

我還試圖用haxe.Http.requestUrl,這在ネ作品完美,我得到一個「無效的套接字句柄」的錯誤。

關於我失蹤的任何想法?再次,在Neko中完美工作,無法獲取Android上的頁面。

在此先感謝!

回答

1

如果不是局部變量var urll:URLLoader使用類成員,並刪除匿名函數呢? 或作爲替代使用haxe.Http

+0

正如我在問題中所說,haxe.Http崩潰與「無效的套接字句柄」錯誤。至於其他建議,你能更清楚嗎?我見過的所有示例都使用局部變量,有些使用匿名函數。正如我所說的,它在Neko中運行良好,而不是Android。我會嘗試刪除匿名函數,以防與它有關。 –

+0

不使用匿名函數不起作用。在Neko中仍然可以正常工作,但在Android中仍然失敗。 –

+0

我意識到你對於使用類成員意味着什麼,所以我轉而使用它來代替局部變量,但它對Android也沒有影響。 –