Giter VIP home page Giter VIP logo

sdkhtml's Introduction

SDK5Html

一个HTML5 打包成Android apk 的框架,在使用该框架前你得有一点Android 开发基础,因为该框架需要使用Android studio 工具进行打包。

Image text
如果你在使用该框架打包时,你已经开发出了web 端盖的程序,已经部署在服务器上 并且已经运行起来了,你可以使用本框架的http、https 的方式 来实现打包。 如果你有一个离线的,静态的html,你可以采用本框架进行内部集成, 并且打包成Android apk。



在使用本框架你会用到一些官方文档,请查看以下:

HBuilder :
http://www.dcloud.io/
官方号称可以编写一套代码就能运行多个程序端。
在该框架中只支持 5+Runtime 和 MUI 这2个实际上就是我们所知道的HTML5 和一个前端框架(MUI)。

MUI:
http://dev.dcloud.net.cn/mui/ui/
Image text
更多开发问题请参考开发官网HBuilder

如果lib 包已经比较旧了,可以到官网去更新
http://ask.dcloud.net.cn/article/103
该框架demo只是引入了部分arr 更多arr 可查看官网对各个包都有说明
框架打包APK:


1. 将HTML 直接打包到apk内

HTML 打包在内部注意:
1.1 在我们的框架中大家可以看到 assets 文件这里面就是存放的是html 的资源。
html内部打包一定要按照 apps--->xxxx(你随意的名)--->www 建立你的项目否则 内部打包成apk 不能实现。
在本次框架中我已给出简单的html实例,蛋酒可以查看html 中的NCRoad说明.md 文档
1.2 接下来就是 manifest.json 文件 该文件我们要注意 以下:

` "id": "startdonh5",`  这里必须和你的apps的下一包目录相同 ‘xxxx(你随意的名)’这里
 "launch_path": "http://www.stardon.cn",   这是你程序启动的地址 可以是http,https或者实际的html路径

1.3 大家还会看见与apps 平行的目录还有个data 目录,这个目录的作用是当 运行程序时出现错误时出来程序的界面,简单的说它就是个错误提示的界面。 在这个界面我们需要注意 dcloud_control.xml 这是错误界面的配置界面。 里面的

     <app appid="startdonh5" appver="1.0.0"/>

appid 要与 manifest.json 中的 id 一致 appver 要与 manifest.json version 下的name 一致。

好了,到这里就将html直接打包到内部的方式配置已经说完了,现在来说说怎么启动我们 准备好的程序呢

在该框架demo中我们都知道程序入口需要看 AndroidManifest.xml
AndroidManifest.xml 需要 application 节点下添加

android:name=".NCRoadApplication" 这是必须的不管你使用那种方式集成都需要这句

<activity android:name="io.dcloud.PandoraEntry" android:configChanges="orientation|keyboardHidden|keyboard|navigation" android:hardwareAccelerated="true" android:launchMode="singleTask" android:screenOrientation="user" android:theme="@style/TranslucentTheme" android:windowSoftInputMode="adjustResize"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>
其中io.dcloud.PandoraEntry 时5+sdk 的首页 你可以自己修改成你的启动界面,大家可以看见,
我的SDK_WebApp.java 是我自定义的启动界面 .

通过以上我想你的程序已经可以运行了,不过这里运行时采用PandoraEntry 为启动界面。不能修改首页样式

如果有需求要修改 首页启动样式,请采用 SDK_WebApp 页面为启动界面。 在设置这个未启动界面时,我们就开始接着看下面的

#2.自定义启动界面,修改访问地址的方法。

前面简单的已经说完,接下来就是重要的了, 在使用SDK_WebApp作为启动界面时我们要注意SDK_WebApp界面代码中的几个地方 在SDK_WebApp 类中的内部类WebviewModeListener 中大家注意: 1.

View view = activity.getLayoutInflater().inflate(R.layout.activity_ncrmain, null);



大概在165 行,这里加载了一个layout 这个布局就是我们自定义的,我们可以修改这里面的布局来实现自定义启动首页,包括我 在首页做了一个参数设置的入口。 2.

继续看重新的 onCoreInitEnd 方法中有个

webview = SDK.createWebview(activity, url, appid, new IWebviewStateListener() {}

大家注意这个方法 中的url 与appid 这2个参数很重要 。

url : 是你要传的访问地址,可以是http,https 也可以是你的assets 下的html 页面
appid :就是你的apps--->xxxx(你随意的名)--->www 中的xxxx(你随意的名) 如果你url 使用http,https 的地址,那么这里的appid 请使用:

UUID.randomUUID().toString()


否则他会去直接找你本地的anifest.json 文件下的launch_path 配置的地址
好了本次的说明就到处结束,直接下载本框架或者demo 可以直接运行看看效果吧
如果有什么问题请在留言。

sdkhtml's People

Stargazers

 avatar  avatar  avatar  avatar 頂上ノ月 avatar  avatar MaxWell avatar 飞鱼 avatar  avatar 陈渝金 avatar

Watchers

James Cloos avatar 陈渝金 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.