目前工具類支援--基礎依賴包wxframework <= 1.0.9 的版本
如果您的基礎依賴包wxframework的版本 > 1.0.9 , 為了使該工具類繼續可以使用, 可前往: Eros-plugin-android-extend
基于Eros架構下的相關功能(weex 與 Android 的互動):
- Android端檔案的檢視,下載下傳,預覽基本功能
- 本地緩存大小的擷取,清除功能
- 跳轉至應用市場評分頁(支援三星市場)
- 擷取軟鍵盤的高度
- 擷取螢幕的高度(不包含虛拟按鍵),版本 0.0.9
- 為下載下傳添加token參數,版本 0.1
- 修改打開Txt文檔崩潰的BUG , 版本0.1.1
- 修改下載下傳檔案的進度值的傳回值問題, 版本0.1.2
Add dependency
dependencies {
implementation 'com.github.heynchy:eros-plugin-filecache-manager:0.1.2'
}
檔案操作Module
1. Module名稱: FileModule
2. 相關方法:
2.1 檔案下載下傳
/**
* 下載下傳檔案的方法,帶有進度的
*
* @param params 必須傳遞(Json 格式),相關參數包含url, fileId, fileName,token(需要權限的傳遞該參數)
* @param success 下載下傳成功的回調
* @param failure 下載下傳失敗的回調
* @param progress 下載下傳進度的回調
*/
@JSMethod(uiThread = true)
public void downloadFile(String params, final JSCallback success, final JSCallback failure, final JSCallback progress)
2.2 判斷檔案是否存在(是否已下載下傳)
/**
* 判斷檔案是否存在
*
* @param params Json格式,包含fileId 和 fileName
* @param resultCallback 結果回調(true: 檔案存在 false: 檔案不存在)
*/
@JSMethod(uiThread = true)
public void isFileExist(String params, JSCallback resultCallback)
2.3 預覽檔案(檢視檔案)
/**
* 預覽檔案
*
* @param params Json 格式,包含fileId 和fileName
*/
@JSMethod(uiThread = true)
public void previewFile(String params)
2.4 打開應用市場的評分頁(應用詳情頁)
/**
* 跳轉至應用市場的評價界面
*/
@JSMethod(uiThread = true)
public void marketComment()
緩存資料操作Module
1. Module 名稱: CacheModule
2. 相關方法
2.1 擷取緩存檔案的大小
/**
* 擷取應用緩存的大小
*
* @param callback 結果回調(傳回緩存大小的字元串, 例如"2.37MB")
*/
@JSMethod(uiThread = true)
public void getCachesSize(JSCallback callback)
2.2 清除緩存
/**
* 清除應用緩存
*
* @param callback 結果回調(如果清除成功則傳回true, 否則傳回false)
*/
@JSMethod(uiThread = true)
public void clearCaches(JSCallback callback)
Android相關功能的Module
1. Module 名稱: UtilModule
2. 相關方法
2.1 擷取Android手機軟體盤的高度
/**
* 擷取Android手機軟鍵盤的高度,傳回值包括pxHeight(以px為機關)和dpHeight(以dp為機關)-----非監聽形式
*
* @param callback 軟鍵盤彈出的回調
* @param callbackInvisible 軟鍵盤隐藏的回調
*/
@JSMethod(uiThread = true)
public void getSoftKeyInfo(final JSCallback callback, final JSCallback callbackInvisible)
/**
* 擷取Android手機軟鍵盤的高度----監聽形式
*
* @param callback 軟鍵盤彈出的回調
* @param callbackInvisible 軟鍵盤隐藏的回調
*/
@JSMethod(uiThread = true)
public void getSoftKeyInfoAlive(final JSCallback callback, final JSCallback callbackInvisible)
2.1.1 JS端使用說明
weex.requireModule('UtilModule').getSoftKeyInfo(visible => {
// 軟鍵盤彈出後的相關操作
var date = JSON.parse(visible);
console.log("heyn_OtherNormalModule1: "+ date.pxHeight);
console.log("heyn_OtherNormalModule2: "+ date.dpHeight);
}, invisible =>{
// 軟鍵盤隐藏後的相關操作
var date = JSON.parse(invisible);
console.log("heyn_OtherNormalModule3: "+ date.pxHeight);
console.log("heyn_OtherNormalModule4: "+ date.dpHeight);
});
2.2 擷取Android手機的螢幕高度(不包含虛拟按鍵)
/**
* 擷取Android螢幕尺寸,但是不包括虛拟鍵的高度
*
* @param callback 傳回值的回調(已轉換為JS端可用資料)
*/
@JSMethod(uiThread = true)
public void getNoHasVirtualKey(final JSCallback callback)
JS 調用方式----舉例——清除緩存的使用
<template>
<div>
<text onclick="click">testMyModule</text>
</div>
</template>
<script>
module.exports = {
methods: {
click: function() {
weex.requireModule('CacheModule').clearCaches(params => {
if (params){
// 清除成功
} else {
// 清除失敗
}
});
}
}
}
</script>
注意事項
1. 涉及到相關權限問題,需要手動添加至自己工程的AndroidManifest.xml中(針對上架的權限稽核問題)
1.1 檔案操作權限包括:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /
1.2 網絡權限:
<uses-permission android:name="android.permission.INTERNET" />
1.3 Android 8.0以上版本的APk安裝時,需要安裝權限:
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
Github位址:Eros-plugin-filecache-manager