模塊開發要點與返回刷新頁面注意事項
1、介紹
apicloud 除了使用官方提供的模塊外,我們可以自定義一些模塊供自己使用和上傳到官方出售。針對沒有提供或者價格過貴的模塊,如果有時間自己可以進行研究。
2、開發
首先要先下載開發工具(此處我還是只講Android),建議下載Android Studio。
關於開發規范大家參考官網即可(https://docs.apicloud.com/Module-Dev/module-dev-guide-for-android-studio),另附上官網提供的相關文檔地址,如下:
詳細的SDK幫助文檔:docs.apicloud.com/superwebview/Android/
Android在線API文檔:https://developer.android.google.cn/reference/packages.html
Javascript規范及入門:http://www.w3school.com.cn
JSON數據在線Viewer:http://www.bejson.com/go.html?u=http://www.bejson.com/jsonview2/
根據官網的開發規范和視頻教程開發基本無傷,在此我主要說明一下中間會有的一些小坑,如下:
- 開發過程中如果使用Android Studio 自帶的模擬器x86 會報錯,除非改成 arm。 建議大家使用第三方模擬器,比如mumu,海馬之類的,我使用的mumu模擬器(廣告比較少),關於Android Studio 如何連接第三方模擬器,和我一樣剛接觸 studio 的同學可以參考這篇博客,感謝博主謝橋的
(Android Studio連接第三方模擬器
還有一個地方需要注意的是, -113這個錯誤,網上有的說需要在gradle里加上以下配置即可,實際測試有點問題,可能是其他某個地方配置有問題,建議大家開始還是按照官文開發。
splits { abi { enable true reset() include 'x86', 'armeabi-v7a','x86_64' universalApk true } }
- 如果在app想要打開某個應用,Android的話需要package ,ios需要Url Scheme,在此送上另一位博主提供資料(常用移動應用 Packagename 和 URL Scheme),感謝起夢。
- 如果自己開發的模塊想要在官網售賣,上傳模塊信息的時候,大家務必在版本號上注明為 1.0.0,否則會被打回來。
返回刷新頁面注意事項,今天遇到的小問題,問題與解決方式如下:
在app開發過程中,難免會遇到用戶更改某些信息,返回后需要更新緩存與重新渲染頁面的情況。
例如:如果用戶注冊成功,我會一般會返回設置頁面,並更新頭像、昵稱等用戶信息,這是除非我們重新open一下,否則不會再次重新選擇,但我們一般情況下使用historyback比較多,或者直接關閉當前頁面,這樣的話,原有的頁面不會重新渲染。
解決方法:返回時,利用apicloud提供的execScript()接口,執行返回頁面的函數,實現返回頁面的刷新,如下(官網上的例子),如下(不建議大家使用過多的事件監聽,使用api的自定義監聽過多,會導致線程過度增加,占用內存,系統變慢,另外監聽過多,難免會遇到重復監聽,容易出現問題):
//在當前window中執行jsfun腳本 var jsfun = 'funcGoto();'; api.execScript({ script: jsfun }); //在當前window中找到名為frmName的frame,並在該frame中執行jsfun腳本 var jsfun = 'funcGoto();'; api.execScript({ frameName: 'frmName', script: jsfun }); //在名為winName的window中執行jsfun腳本 var jsfun = 'funcGoto();'; api.execScript({ name: 'winName', script: jsfun }); //在名為winName的window中找到名為frmName的frame,並在該frame中執行jsfun腳本 var jsfun = 'funcGoto();'; api.execScript({ name: 'winName', frameName: 'frmName', script: jsfun });
歡迎大家提出問題和指正,感謝