APICloud:在app中使用自定义loader进行第三方模块的调试

在app中添加外部模块(bmLocation模块),使用自定义loader来调试

这里使用编码工具APICloud stuio

官方loader和自定义loader的在使用上的最大区别(个人见解)

官方loader中只会包含一些基础的模块供用户使用,而一当你要使用到一些第三方模块时就会发现,在控制台中绑定了第三方模块,也在配置文件config中引入该模块,但是用官方的AppLoader调试时就会报错
APICloud:在app中使用自定义loader进行第三方模块的调试_第1张图片
所以我们才需要使用到自定义loader
想了解更多关于官方loader和自定义loader的同学可以官方文档里看看,懒得找的同学戳这 自定义loader说明

开始建立自定义loader

这里需注意一点,任何一个应用有且只有一个自定义loader

首先,我们需要先去控制台随便添加一个模块,这里选择添加百度地图的定位模块bmLocation,
APICloud:在app中使用自定义loader进行第三方模块的调试_第2张图片
使用这个模块需要前往百度地图开发平台申请一个ak码,到时候配置config文件的时候要用到这个ak码,否则无法引用这个第三方的sdk
APICloud:在app中使用自定义loader进行第三方模块的调试_第3张图片
config文件中需添加如下代码来引用bmLocation模块

    "com.baidu.lbsapi.API_KEY" value="uOIxNnQGFhxejgQZcjc9DtzvhNNeXM1G"/>
    //*value就是你申请的ak码*

生成自定义loader安装包

这里编写一段利用bmLocation模块获取本地位置的代码,等会用来测试模块是否调用成功,模块使用方法详情请戳 bmLocation说明

var bmLocation = api.require("bmLocation");//导入模块
        bmLocation.configManager({//配置定位参数
            accuracy: 'device_sensors',
            filter: 1,
            activityType: 'automotiveNavigation',
            coordinateType: 'GCJ02',
            locationTimeout: 10,
            reGeocodeTimeout: 10
        });
        bmLocation.singleLocation({//单次定位,获取位置
            reGeocode: false,
            netWorkState: false
        }, function(ret) {
            var sta = ret.status;
            if (sta) {
                console.log(JSON.stringify(ret.reGeo));
                var country = ret.reGeo.country;
                var province = ret.reGeo.province;
                var city = ret.reGeo.city;
                var district = ret.reGeo.district;
                var street = ret.reGeo.street;
                var pos = ret.reGeo.poiList[0].name;
                var str = country + "," + province + "," + city + "," + district + "," + street;
                api.alert({
                    msg: str
                });
            } else {
                api.alert({
                    msg: '定位发生错误'
                });
            }
        });

将自己编写好的的代码检出,APICloud studio有代码检出的功能,如下图
APICloud:在app中使用自定义loader进行第三方模块的调试_第4张图片
或者也可以先把代码上传到代码托管平台GitHub上,然后再到控制台中上传代码,如下图
APICloud:在app中使用自定义loader进行第三方模块的调试_第5张图片

编译,生成自定义loader的apk

APICloud:在app中使用自定义loader进行第三方模块的调试_第6张图片
根据需要选择相应的系统,这里只测试安卓Android系统,务必勾选 【升级环境编译】
注意要使用自定义loader的应用要先配置完icon,启动页面等端设置,如图

APICloud:在app中使用自定义loader进行第三方模块的调试_第7张图片
编译完成之后下载apk,并安装到模拟器或手机上,安装有时会出现签名认证不用不给安装的情况 (先前用官方loader调试的widget还存在,导致冲突),这时我们只需删掉手机文件中的UZMap,然后再安装即可

调试

打开我们安装好的自定义loader
可以看到这里实时定位到了我们的位置
APICloud:在app中使用自定义loader进行第三方模块的调试_第8张图片
觉得有用请帮忙给个赞,谢谢《–》

你可能感兴趣的:(APICloud,app,前端)