Cordova集成android原生应用

首先你得要有一个cordova的项目,因为太多太多的东西需要从那里复制粘贴了。。。
那我们就开始吧!

第一步:打开你的android原生项目;

第二步:将Cordova项目的Cordovalib导入安卓项目,并在app的build.gradle中添加依赖;

图1


第三步:在main文件夹下创建assets文件夹,然后将Cordova项目的H5端代码(即WWW文件夹)拷贝到assets里面;
在这里插入图片描述
第四步:在res下创建一个新的文件夹xml,然后将Cordova项目中res\xml\config.xml拷贝进去;
在这里插入图片描述
第五步:创建一个包,包名为com.test.MyPlugin,然后把Cordova项目对应目录下的MyPlugin.java文件复制粘贴进去;

第六步:再把cordova项目中的白名单的包复制粘贴过来;
在这里插入图片描述
第七步:开始测试:

7.1 新建类TestCordovaActivity,继承CordovaActivity,加载index.html

public class TestCordova extends CordovaActivity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // enable Cordova apps to be started in the background
    Bundle extras = getIntent().getExtras();
    if (extras != null
            && extras.getBoolean("cdvStartInBackground", false)) {
        moveTaskToBack(true);
    }

    // Set by <content src="index.html" /> in config.xml
    // 加载H5首页
    loadUrl(launchUrl);
}
}

7.2 在MainActivity添加按钮,点击跳转至TestCordovaActivity页面

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Button button = findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this,
                    TestCordova.class);
            MainActivity.this.startActivity(intent);
        }
    });
}
}

在这里插入图片描述
上面是我看别人做的,顺便写下来让自己印象深刻一点,不过借鉴过来的时候并不能一次性就跑通,还是有些问题的,下面就写出我觉得需要注意的点:

第一点:白名单一点要按照上面我写的那样,包名一致,类名一致;

第二点:config.xml文件中一定要注意value的值!!!
在这里插入图片描述
value的值就是MyPlugin.java文件的路径!!!

第三点:就是注意cordova.plugin.js文件中的内容!
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值