android studio 开发apicould模块详解
最近有个业务需要开发apicould模块 本文吧开发过程做个整理,同时为了备忘最近搬迁了服务器 导致论坛图片附件无法上传 只能文字酬和,等空了看一下什么问题
新建工程 下载apicouldSDK
1:把SDK的lib的apiEngine v1.1.0.jar 复制到自己的项目中
2: armeabi-v7aarmeabi 也复制过来
3:assets也复制过来assets中module.json式模块映射文件格式如下
{
modules:[
{
name:'oss', 模块名 这个在AC调用用到
class:'com.hh85.oss.aliyunoss' 这里是对应自己项目的类地址
}
]
}
html里调用模块方法如下
var oss =api.require('oss');
4:AndroidManifest.xml修改
吧SDK的AndroidManifest.xml里的 <application android:name="com.uzmap.pkg.uzapp.UZApplication"
android:allowBackup="true"
android:icon="@drawable/uz_icon"
android:label="@string/app_name"
android:hardwareAccelerated="true">
<meta-data android:name="uz_version" android:value="1.2.0" />
<activity
android:name="com.uzmap.pkg.EntranceActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:screenOrientation="portrait"
android:configChanges="orientation|locale|keyboardHidden|keyboard|screenLayout|screenSize|smallestScreenSize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
复制替换自己工程里的application 权限这些看自己项目实际需要复制 完成后如下
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.hh85.oss">
<!-- 访问网络-->
<uses-permission android:name="android.permission.INTERNET" />
<!-- 写外部存储-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- 获取运营商信息,用于支持提供运营商信息相关的接口-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!-- 访问wifi网络信息,wifi信息可用于进行网络定位-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!-- 控制振动器-->
<uses-permission android:name="android.permission.VIBRATE" />
<!-- 读取手机当前的状态-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application android:name="com.uzmap.pkg.uzapp.UZApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:hardwareAccelerated="true">
<meta-data android:name="uz_version" android:value="1.2.0" />
<activity
android:name="com.uzmap.pkg.EntranceActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme"
android:screenOrientation="portrait"
android:configChanges="orientation|locale|keyboardHidden|keyboard|screenLayout|screenSize|smallestScreenSize" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
init方法详解
/**
*
* @param moduleContext
*/
public void jsmethod_init(UZModuleContext moduleContext){
keyid = moduleContext.optString("keyid"); //moduleContext就是外面传递过来的参数
moduleContext.success(ret,true); //这个方式就是JS回调出传递过去的参数
}
页:
[1]