kerkee在Android上的快速上手指南

kerkee是一个多主体共存型Hybrid框架,具有跨平台、用户体验好、性能高、扩展性好、灵活性强、易维护、规范化、集成云服务、具有Debug环境、彻底解决跨域问题。

Github上的地址:https://github.com/kercer/kerkee_android

OSChina上的地址:https://git.oschina.net/zihong/kerkee_android.git

官网地址:http://www.kerkee.com

kerkee的native部分目前支持Android和iOS平台,两个平台的架构设计及接口设计保持一致,大大降低了跨平台的成本,下面介绍一下如何集成kerkee以及如何上手快速做出一款自己的demo

kerkee的集成有:包的方式集成和源码集成两种方式,你可以选择其中的一种方式集成

包方式集成

***前提:***有Android环境,本项目现在使用的是gradle构建,IDE建议Android Studio,当然你也可以使用idea或eclipse,甚至其他。

kerkee从包方式集成,非常简单,建议使用此方式,干净简洁。

在你的Android工程的build.gradle中找到 dependencies 块,添加

compile 'com.kercer:kerkee:1.3.9'即可。

如下所示


dependencies {

    compile fileTree(include: '*.jar', dir: 'libs')

    compile 'com.kercer:kerkee:1.3.9'

}



源码集成

  • 1、 先拉取源码

      git clone https://github.com/kercer/kerkee_android.git
    

    源码的根目录包含kerkeekerkee_example目录

    kerkee目录是kerkee的工程,可以直接导入工程进行lib库依赖

  • 2、把kerkee目录拷贝到自己的工程根目录(通常与你工程的setting.gradle同一目录)

  • 3、在你自己工程的setting.gradle文件中添加include ':kerkee'

  • 4、在你自己工程build.gradle文件的dependencies 代码块中添加compile project(':kerkee')

基于此,集成基本完成,接下来将介绍如何上手实现自己的demo

快速上手指南

简述:

只需三步即可代码快速上手

  1. 注册js与native对应的类

  2. 实现native部分与js对应的方法

  3. 创建KCWebview进行调用

以下详情说明一下如何快速上手

  • 注册对应的接口类或模块

可以参考例子中的KCRegistMgr类的实现,全局只需注册一次就够了


//注册类,所注册的native code中的类的函数必是静态函数,js都能调到

//第一个参数为js的类名,第二个参数为native的类名

KCJSBridge.registClass(KCJSObjDefine.kJSObj_testModule, KCApiTestModule.class);

//上层可以使用自己的类取代kerkee中的jsBridgeClient,对应的js对象类为jsBridgeClient

// KCJSBridge.registClass(KCJSDefine.kJS_jsBridgeClient, KCApiJSBridgeClient.class);//与下一行效果一致

KCJSBridge.registJSBridgeClient(KCApiJSBridgeClient.class);



//注册对象方式

//KCApiJSObjExample必须继承KCJSObject,并实现getJSObjectName()方法,返回js类名



//KCApiJSObjExample中的函数可以是静态函数也可以是成员函数,HybridRuntime会自动处理



KCJSBridge.registObject(new KCApiJSObjExample());



  • 实现JS对应的Native接口

静态类如KCApiTestModule中的实现,修改一下方法名即可




public static void testInfo(final KCWebView aWebView, KCArgList aArgList)

{

}



KCApiJSObjExample(继承KCJSObject,并实现getJSObjectName()),修改一下方法名即可




//成员方法

public void objExampleNotStaticFunction(final KCWebView aWebView, KCArgList aArgList)

{

}



//静态方法

public static void objExampleStaticFunction(final KCWebView aWebView, KCArgList aArgList)

{

}

  • 创建KCWebView

在例子中提供了一个默认的KCDefaultBrowser,如果你有特殊的UI需求,你可以参照KCDefaultBrowser进行实现,这时你可以为所欲为地可以把KCWebView添加到任何view中进行呈现

所要注意的地方是:

创建KCWebView时,初始化时,若需要设置ChromeClient和WebViewClient,则注意以下两个函数的参数类型

mWebView.setWebChromeClient(KCWebChromeClient);

mWebView.setWebViewClient(KCWebViewClient)

  • 调用

    @Override

    protected void onCreate(Bundle savedInstanceState)

    {

        super.onCreate(savedInstanceState);

        //setContentView(R.layout.activity_main);



        //create browser that use KCWebview

        KCDefaultBrowser browser = new KCDefaultBrowser(this);

        View view = browser.getView();

        setContentView(view);



        //regist classes to JSBridge,the relationship between binding js objects and native classes

        //and you can use default browser's registJSBridgeClient function

        KCRegistMgr.registClass();



        //you can registObject here;

        //KCJSBridge.registObject(new KCTest());



        browser.loadTestPage();

        //browser.loadUrl("http://www.baidu.com");

    }

至此,简单Demo即可运行起来

当然,你也可以直接运行官方提供的Demo,可以按以下说明进行操作

在拉取的源码根目录下有个kerkee_example,这里就是demo。

在根目录添加local.properties文件,配置你的SDK路径


sdk.dir=/Users/zihong/android-sdks

ndk.dir=/Users/zihong/android-ndk

把根目录导入到Android Studio中,这时可直接运行example

转载于:https://my.oschina.net/u/2613714/blog/667591

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值