天天看點

基于Eros的Android端功能增強的工具類庫

目前工具類支援--基礎依賴包wxframework <= 1.0.9 的版本

如果您的基礎依賴包wxframework的版本 > 1.0.9 , 為了使該工具類繼續可以使用, 可前往: Eros-plugin-android-extend

基于Eros架構下的相關功能(weex 與 Android 的互動):

  1. Android端檔案的檢視,下載下傳,預覽基本功能
  2. 本地緩存大小的擷取,清除功能
  3. 跳轉至應用市場評分頁(支援三星市場)
  4. 擷取軟鍵盤的高度
  5. 擷取螢幕的高度(不包含虛拟按鍵),版本 0.0.9
  6. 為下載下傳添加token參數,版本 0.1
  7. 修改打開Txt文檔崩潰的BUG , 版本0.1.1
  8. 修改下載下傳檔案的進度值的傳回值問題, 版本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