DCloud是HTML5开发App的一个模式, 由国人开发的, 介绍就不多说了, 直接官网看吧.
网址: http://www.dcloud.io/

优势呢, 就是支持一些常见的国产第三方库, 如微信, 微博, 高德一类的.
劣势呢, 竟然不能直接用gradle加载库, 没有使用maven管理! 文档也不是很详细.

那么我们怎么集成到项目里呢? 我们就拿HelloWorld来测试一下.

1. 准备

首先下载SDK代码
http://download.dcloud.net.cn/Android-SDK@1.9.6.19855_20150921.zip

直接解压就行, 我们需要熟悉的是HBuilder-Integrate这个工程.

新建一个崭新的HelloWorld工程.
依次需要添加libs, assets, jniLibs, 没有则在工程内创建对应的文件夹.
加载依赖Jar包, 把HBuilder-Integrate的libs的内容全部复制到新的工程.

加载libs库(build.gradle, 默认): compile fileTree(dir: ‘libs’, include: [‘*.jar’])
注意: 如果类出现冗余冲突, 则把jar包删掉即可. 因为库较多, 所以必然会和已有的库冲突, 删掉冲突的即可. 当然在实际的开发中, 也不必全部引入, 需要什么加载什么就行.

把assets的内容全部复制到新的工程.

assets内容就是H5的页面, 在main下新建assets文件夹就行.

把jniLibs的内容全部复制到新的工程.

在AndroidManifest中添加权限, 因为Demo用的功能较多, 权限特别多!

准备工作已经完成.

2. 修改工程

修改项目的layout, 添加一个FrameLayout, 用来加载H5页面.

<RelativeLayout...>...<FrameLayoutandroid:id="@+id/js_contaner"android:layout_width="match_parent"android:layout_height="match_parent"/></RelativeLayout>

MainActivity中添加H5的内容.
先复制WebAppMode类, 用于连接Activity和H5页面, 不用修改.

再添加代理

    private EntryProxy mEntryProxy;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);...if (mEntryProxy == null) {FrameLayout f = (FrameLayout) findViewById(R.id.js_contaner);wm = new WebappMode(this, f);mEntryProxy = EntryProxy.init(this, wm);mEntryProxy.onCreate(savedInstanceState, SDK.IntegratedMode.WEBAPP, wm);}}@Overridepublic void onPause() {mEntryProxy.onPause(this);super.onPause();}@Overridepublic void onResume() {super.onResume();mEntryProxy.onResume(this);}@Overrideprotected void onDestroy() {mEntryProxy.onStop(this);super.onDestroy();}

注意: onDestroy调用的是onStop, 这样在后退时不会完全关闭连接, 启动时就可以直接加载. 否则会出现后退之后, 无法加载, 空页面的情况.

3. 效果

OK, 启动一下看看效果吧!

DCloud的Demo写的还可以, 里面的功能比较丰富.

OK, enjoy it.

已有Android工程集成DCloud页面相关推荐

  1. 混合开发架构|Android工程集成React Native、Flutter、ReactJs

    混合开发架构|Android工程集成React Native.Flutter.ReactJs 架构设计说明 创建安卓原生工程 创建Flutter 集成嵌入原生工程 创建React Native 解决R ...

  2. Flutter:Android/iOS集成Flutter模块

    一.Android工程集成Flutter模块工程: 1.使用命令创建Flutter模块工程lib_flutter(与Android工程属于同级目录): flutter create -t module ...

  3. Android studio 集成Unity

    创建新的Android工程 集成Unity项目包到Android工程中 1. 把unity导出的libs文件夹下的jar包复制到AS工程中的libs下,然后点击右键添加到数据库(Add As Libr ...

  4. android jenkins 动态版本,Jenkins工具(二)之 Jenkins集成android工程

    本文演示Jenkins+Android+Gradle+Git的协同工作方法.主要介绍Jenkins如何对android工程进行持续集成,该android工程是通过gradle工具进行构建,并通过git ...

  5. 【Flutter】Flutter 混合开发 ( 关联 Android 工程与 Flutter 工程 | 安卓页面中嵌入 Flutter 页面 | 安卓中启动 Flutter 页面 )

    文章目录 前言 一.创建 Android 项目 二.关联 Android 工程与 Flutter Module 工程 1.配置 Flutter Module工程 2.配置 build.gradle 3 ...

  6. android 友盟统计功能,在Android工程中集成友盟统计

    在Android工程中集成友盟统计 首先需要在友盟官网注册账号并添加新应用,获取Appkey.具体步骤这里不进行叙述. 1.集成准备 首先需要集成友盟统计SDK 有两种方式: 1.下载SDK,并复制到 ...

  7. Android开发:app工程集成银联支付功能(客户端)

    Android开发:app工程集成银联支付功能(客户端) email:chentravelling@163.com 上一篇博文完成了服务器端的集成,可参考: Android开发:app工程集成银联支付 ...

  8. android原生接入rn,Android原生项目集成RN页面

    Android原生接入ReactNative 许久不接触RN,重新捡起重复踩坑,折腾三天就此记录 优化后接入步骤 新建文件夹,将原AndroidStudio项目拷贝至此目录 同目录下新建package ...

  9. Android端集成支付宝支付

    Android端集成支付宝支付 1.申请账号及配置变量 支付宝快速接入链接点击打开链接 支付宝扫码或者账号密码登录 下面是支付宝给出的接入介绍 第一步:创建应用并获取APPID 要在您的应用中接入支付 ...

最新文章

  1. 微众WeCross 跨链平台(13)开发示例
  2. (34)Gulp 构建HTML页面文件
  3. Android Studio(12)----Git使用教程之本地仓库的基本操作
  4. java类加载器分类_Java 类加载器的种类
  5. navicat导出查询结果原理_使用Navicat生成ER关系图并导出
  6. 《自顶向下网络设计(第3版)》——2.7 适应性
  7. 8个习惯让你减肥不用节食 - 生活至上,美容至尚!
  8. 计算机职业学校教学论文,中等职业学校计算机教学论文
  9. win7计算机里的桌面不见了怎么办,win7桌面图标不见了怎么办,教您解决win7桌面图标不见了...
  10. hdu6070 Dirt Ratio(二分+线段树)
  11. LVGL|lvgl中文教程手册(lvgl中文文档学习教程)
  12. openldap中的Mirror mode模式中的主主同步
  13. docker学习1--docker基础学习
  14. OpenCV图像特征SIFT
  15. 计算机ctrl加什么作用,ctrl是什么意思 Ctrl键的作用有哪些
  16. CRM项目实战第一天
  17. 《惢客创业日记》2019.03.24(周日)《惢客》011 目前的市场现状是什么样的?(二)
  18. AG9311MAQ设计100W USB TYPEC拓展坞资料|AG9311MAQ用于100W USB TYPEC转HDMI带PD快充+U3+SD/CF拓展坞方案说明
  19. 主流技术之网易云换肤方案
  20. 快手小程序、网红探店小程序、多商户版(裂变分销+商家核验+集字卡片活动+积分抵扣)

热门文章

  1. 数据视化Echarts+百度地图API实现市县区级下钻
  2. 华虹技通华为鸿蒙,浩丰科技(300419)个股分析_牛叉诊股_同花顺财经
  3. android google 登录登出接入
  4. 第八章 组织结构设计与类型
  5. android Web App开发
  6. springboot整合redis报错org.springframework.beans.factory.UnsatisfiedDependencyException
  7. EOS智能合约开发系列(18): 狼人杀游戏的`eosio.code`
  8. Android逆向:通过Xposed解密柠某直播本地数据
  9. MYSQL之如何列转行
  10. Python 3 条件判断和循环语句,list、tuple、dict、set容器,部分函数