mui初级入门教程(七)

您所在的位置:网站首页 js实现文件读写功能 mui初级入门教程(七)

mui初级入门教程(七)

2023-09-08 02:09| 来源: 网络整理| 查看: 265

文章来源:小青年原创 发布时间:2016-08-01 关键词:mui,nativejs,android 转载需标注本文原始地址: http://zhaomenghuan.github.io...

前言

这段时间以来一直有人问5+ sdk怎么在原生中集成,每次给了文档和没给没啥大区别,这部分人之所以不能根据文档写出想要的结果,无非有两种情况,一种对于原生完全懵逼,毕竟基于mui做APP毕竟前端还是占多数,而前端中熟悉原生的人毕竟是少数,很多人声称会原生哪里还会用h5,这话只能呵呵?就大趋势而言,应用web化是现在的潮流所向,现在即使有资金和技术实力的大厂也在做混合式开发和H5的APP,不然dcloud官方也不会花大力气在流应用上。近来越来越多的原生开发者朋友和我交流h5,他们很多是被逼着转前端,这些人懂原生,但是不懂h5,所以这些朋友从原生转mui过程中可能还是不能够理解如果用5+ sdk,中间的交互怎么解决,这就是第二种人的困境?

正是基于这种现实窘境,我打算把自己一知半解的android开发经验重新拿起来,试着去写点什么,抛砖引玉,仅此而已。本文作为混合式开发的第一篇,暂时不会介绍离线打包集成5+ sdk的相关内容,先用nativejs练练手。

步骤分解

在开始集成5+sdk之前,我们先来用native.js写一个文件管理的功能,以此熟悉native.js的相关API。先来预览一下效果:

经常有人问使用5+怎么系统文件,其实用nativejs就可以实现,有人又要问nativejs怎么引用。每次遇到这种问题,真的要喷血而出。

nativejs是集成在5+ app中,默认不需要引入就可以直接引用。nativejs是通过js调用系统原生方法,从而实现5+标准中没有提及的方法,所以说白了你还是要会原生,或者有人用nativejs将原生的方法转成了js,这样你只需要在页面中调用js的方法就可以实现调用原生。nativejs在这里充当一个“语法糖”的作用。

对于这样一个遍历文件系统的功能,用原生方法写,我们会这样写:

1.在AndroidManifest.xml下设置权限

5+ APP中这一步默认设置了,我们不要管。

2.导入Java类对象 import android.os.Environment;

Native.js中使用plus.android.importClass方法:

var environment = plus.android.importClass("android.os.Environment"); 3.判断SD卡是否插入(涉及到SDK的读取,最好先判断SDK是否插入) Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED)

nativejs这样写:

environment.getExternalStorageState() === environment.MEDIA_MOUNTED 4.获得sd卡根目录 File skRoot = Environment.getExternalStorageDirectory();

nativejs这样写:

var sdRoot = environment.getExternalStorageDirectory(); 5.遍历sd卡根目录下的所有文件和文件夹(返回值为数组) File[] files = sdRoot.listFiles();

nativejs中使plus.android.invoke调用对象(类对象/实例对象)的方法:

var files = plus.android.invoke(sdRoot,"listFiles"); 6.过滤系统隐藏文件 import java.io.File; import java.io.FileFilter; FileFilter ff = new FileFilter() { public boolean accept(File pathname) { return !pathname.isHidden();//过滤隐藏文件 } }; File[] files = sdRoot.listFiles(ff);

nativejs中可以这样写:

// 遍历sd卡根目录下的所有文件和文件夹 var files = plus.android.invoke(sdRoot,"listFiles"); var len = files.length; for(var i=0; i


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3