基于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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Heynchy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值