當前位置:首頁 » 安卓系統 » android跨域

android跨域

發布時間: 2022-09-25 20:12:56

① jQuery Mobile + PhoneGap的Android應用怎麼調試

環境:eclipse3.6/adt18/sdk4.0/jqm1.2/phonegap2.1/jquery1.8/chrome/safari
我現在使用jqm+phonegap開發一個android應用
在本地用jqm寫好頁面代碼用瀏覽器調試好,然後用jsonp跨域請求數據,通過phonegap寫入sqlite。

我把寫好的代碼(建的android項目)放在4.0模擬器里運行,可以正常請求到數據、寫入、查詢,現在苦於phonegap代碼不好調試。
特來請教調試技巧。

我之前是調試嘗試:
1. 我看了下sina sae,在裡面創建應用然後把這個項目代碼發布上去也感覺不對,因為的index.html是放在android項目的assets/www/下面的,不知道怎麼在sae上引導項目進入index.html。

2. 我寫好的代碼在safari里運行,phonegap部分運行不了。

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log("===>> deviceReady");
createTable();
$('#msg').text('deviceReady');
}

safari里不會執行onDeviceReady方法. 模擬器上面可以

我看了官網關於資料庫那塊的api,直接把代碼下來放在html中也是不能運行的。
這里我不確定瀏覽器是否直接phonegap對資料庫的操作。

不涉及系統API和phonegap特定api的可以直接在PC中的chrome下調試,比較方便,調試成功後使用phonegap打包再到Android環境下測試.涉及到chrome不提供的api的,建議編寫一些簡單的樁模塊來模擬,畢竟直接調試Android程序比調試html&js要麻煩很多.

② 跨域有哪幾種方式

跨源資源共享


通過 XHR 實現 Ajax 通信的一個主要限制,來源於跨域安全策略。默認情況下,XHR 對象只能訪 問與包含它的頁面位於同一個域中的資源。這種安全策略可以預防某些惡意行為。但是,實現合理的跨 域請求對開發某些瀏覽器應用程序也是至關重要的。


CORS(Cross-Origin Resource Sharing,跨源資源共享)是 W3C 的一個工作草案,定義了在必須訪 問跨源資源時,瀏覽器與伺服器應該如何溝通。CORS 背後的基本思想,就是使用自定義的 HTTP 頭部 讓瀏覽器與伺服器進行溝通,從而決定請求或響應是應該成功,還是應該失敗。


比如一個簡單的使用 GET 或 POST 發送的請求,它沒有自定義的頭部,而主體內容是 text/plain。在 發送該請求時,需要給它附加一個額外的 Origin 頭部,其中包含請求頁面的源信息(協議、域名和端 口),以便伺服器根據這個頭部信息來決定是否給予響應。下面是 Origin 頭部的一個示例:


這個例子通過查詢地理定位服務來顯示你的 IP 地址和位置信息。
JSONP 之所以在開發人員中極為流行,主要原因是它非常簡單易用。與圖像 Ping 相比,它的優點 在於能夠直接訪問響應文本,支持在瀏覽器與伺服器之間雙向通信。不過,JSONP 也有兩點不足。



  • 首先,JSONP 是從其他域中載入代碼執行。如果其他域不安全,很可能會在響應中夾帶一些惡意代碼,而此時除了完全放棄 JSONP 調用之外,沒有辦法追究。因此在使用不是你自己運維的 Web 服務時, 一定得保證它安全可靠。


  • 其次,要確定 JSONP 請求是否失敗並不容易。雖然 HTML5 給<script>元素新增了一個 onerror 事件處理程序,但目前還沒有得到任何瀏覽器支持。為此,開發人員不得不使用計時器檢測指定時間內是否接收到了響應。但就算這樣也不能盡如人意,畢竟不是每個用戶上網的速度和帶寬都一樣。



參考:javascript高級程序設計第21章

③ android 訪問伺服器,伺服器是返回xml好還是返回json好為什麼

JSON效率比XML更高一些。喜歡JSON因為數據佔用資源小 ,可以直接轉化為JS對象,還可以跨域訪問 。

④ ios android 有同源策略嗎

就是引用的資源需要在同一個域名下,否則有跨域安全性問題請求不到。當然也有很多方法可以跨域請求。

⑤ 如何在 android phonegap 應用程序中獲得 web 視圖的 url

在使用PhoneGap開發時,設置如下:$(document).bind("mobileinit",function(){ $.mobile.allowCrossDomainPages = true; });這樣PhoneGap的Web視圖就允許應用程序進行跨域調用了。以便於應用程序能夠從他的Home伺服器上獲取數據。

⑥ android 怎麼做 sdk開發

在APICloud上看到android sdk開發指南,它們平台上叫功能模塊,摘要一些下來看你有沒有參考價值:

1.開發環境:
PC:Windows XP/Win7/8/Mac OS;
Eclipse3.7及以上;
ADT21及以上;
Android SDK 21(5.0)及以上;
JDK1.6或者1.7。盡量不要使用1.8,存在各種潛在問題;
其中Android環境推薦使用Google整合版的Eclipse:SDK ADT Bundle;

2.開發幫助參考
Android在線API文檔:
Javascript規范及入門:
JSON數據在線Viewer:

3. 框架設計
APICloud引擎以實現對操作系統底層能力的封裝和擴展,通過系統Webkit瀏覽器引擎開放API給Javascript調用的形式,實現了HTML+CSS+Javascript開發語言和Object-C/Java/C/C++等Native開發語言之間的橋接,極大的豐富和增強了標准Javascript的能力。令前端開發者通過JS即可調用移動設備的底層功能,如:電話、簡訊、定位、多媒體、跨域http請求等,並能將如網路地圖、支付寶等第三方廠商的SDK很容易的集成至App中來。
本SDK開放橋接機制,方便具有一定Android基礎的開發者自由開發定義Native擴展模塊,豐富JS的能力,提升App的用戶體驗。APICloud引擎框架橋接層設計如圖(2):

4. 開發設計Native模塊
新建用於綁定映射至JS對象的類。在項目中新建Java類(以下以UZMoleDemo類為例,映射的JS對象為moleDemo),繼承自引擎Jar包中的APIMole或者UZMole類,並重寫相關函數

定義並聲明將被映射至JS類的Java函數。 若想將Java類中的某個函數映射至JS對象供JS調用,需要將該函數聲明以「jsmethod_」開頭,並且聲明該函數為public,同時接收且僅能接受一個參數:UZMoleContext。
函數聲明格式:public void jsmethod_showAlert(final UZMoleContextmoleContext){}

熱點內容
adbandroid版本 發布:2025-01-16 13:53:14 瀏覽:387
直鏈雲存儲 發布:2025-01-16 13:19:30 瀏覽:726
電腦主機伺服器多少錢 發布:2025-01-16 13:00:28 瀏覽:667
linuxoracle操作 發布:2025-01-16 12:40:50 瀏覽:47
河北存儲服務價格 發布:2025-01-16 12:39:21 瀏覽:351
掛機伺服器的搭建 發布:2025-01-16 12:34:07 瀏覽:417
安卓怎麼刪除信任憑證 發布:2025-01-16 12:22:06 瀏覽:338
代理編譯 發布:2025-01-16 12:07:59 瀏覽:794
伺服器為什麼老是無響應 發布:2025-01-16 12:07:59 瀏覽:894
安卓怎麼傳軟體到蘋果 發布:2025-01-16 12:01:28 瀏覽:959