介绍

  之前写了个把百度云作文网站文件服务器、一些园友的评论不错、不过我似乎把意思弄错了!  我用的百度云的SVN环境!

现在不少人都做web开发。不管你是什么语言编写的(jsp,php,asp.net等等)、使用百度的SitApp都能生成移动版本的轻应用、

包括Android和IOS,目前支持2个、话不多说了。需要详细了解的请直接百度或者看下面即可!

这里是我的PC端:点击预览

然后这是生成的APP:

原理

首先移移动端发起请求、这里不是访问的地址而是百度的APP,然后百度的APP再去连接你的网站、返回给移动端,而不是直接的访问。

准备工作

1》注册帐号、http://developer.baidu.com/light (已有帐号的请直接忽略)

2》点击这个图标创建:

然后跳转到了:

下面就是页面设计了:

    这样一直填写数据验证即可。

这是我最终的成果:

我的app自动生成页面:

代码原理

百度的app之强大的功能各位估计也猜想到了其实就是使用了Android内置的webkit内核浏览器,在SDK中封装为一个叫做WebView组件。

什么是webkit WebKit

是Mac OS X v10.3及以上版本所包含的软件框架(对v10.2.7及以上版本也可通过软件更新获取)。

同时,WebKit也是Mac OS
X的Safari网页浏览器的基础。WebKit是一个开源项目,主要由KDE的KHTML修改而来并且包含了一些来自苹果公司的一些组件。


统上,WebKit包含一个网页引擎WebCore和一个脚本引擎JavaScriptCore,它们分别对应的是KDE的KHTML和KJS。不过,
随着JavaScript引擎的独立性越来越强,现在WebKit和WebCore已经基本上混用不分(例如Google Chrome和Maxthon
3采用V8引擎,却仍然宣称自己是WebKit内核)。

使用注意

1.AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误。
    2.如果访问的页面中有Javascript,则webview必须设置支持Javascript。 webview.getSettings().setJavaScriptEnabled(true);  
    3.如果页面中链接,如果希望点击链接继续在当前browser中响应,而不是新开Android的系统browser中响应该链接,必须覆盖 webview的WebViewClient对象。

如下:

    mWebView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});

如果不做任何处理,浏览网页,点击系统“Back”键,整个Browser会调用finish()而结束自身,如果希望浏览的网 页回退而不是推出浏览器,需要在当前Activity中处理并消费掉该Back事件。

    public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {
mWebView.goBack();
return true;
}
return super.onKeyDown(keyCode, event);
}
    public class WebViewDemo extends Activity {
private WebView mWebView;
private Handler mHandler = new Handler(); public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.webviewdemo);
mWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.addJavascriptInterface(new Object() {
public void clickOnAndroid() {
mHandler.post(new Runnable() {
public void run() {
mWebView.loadUrl("javascript:wave()");
}
});
}
}, "demo");
mWebView.loadUrl("File:///URL/index.html");
}
}

上面是使用JS

其ta:

为了让WebView从apk文件中加载assets,Android SDK提供了一个schema,

前缀为"file:///android_asset/"。WebView遇到这样的schema,

就去当前包中的 assets目录中找内容。

2)addJavascriptInterface方法中要绑定的Java对象及方法要运行另外的线程中,

不能运行在构造他的线程中,这也是使用 Handler的目的。

APP

Android版本下载

IOS下载

以上,谢谢!

最新文章

  1. JQuery笔记
  2. js中遍历删除数组中的项(项目中遇到的问题解决)
  3. ruby -- 问题解决(四)编码错误导致无法显示(2)
  4. POJ-3107 Godfather
  5. 射频识别技术漫谈(6)——通讯协议概述【worldsing笔记】
  6. Say To ME
  7. React(九)create-react-app创建项目 + 按需加载Ant Design
  8. 添加宿主为控制台应用程序的WCF服务
  9. Java的家庭记账本程序(C)
  10. mybatis配置时出现org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
  11. struts2标签在jsp页面中构建map集合,循环显示
  12. c++ STL中的set和multiset
  13. WebService和Http的POST和GET请求区别和示例
  14. Tomcat9 配置在Windows7 64位 上安装步骤
  15. bzoj 3211 线段树
  16. 无界面Ubuntu服务器搭建selenium+chromedriver+VNC运行环境
  17. FlowPortal-BPM——移动手机端配置与IIS发布
  18. 本机添加多个git仓库账号
  19. 2017年Java学习总结
  20. 洛谷P4526 【模板】自适应辛普森法2(simpson积分)

热门文章

  1. springboot集成shiro实现权限认证
  2. python的subprocess模块(写的不错留作查询)
  3. SPEC CPU 2006编译perl 出错:undefined reference to `pow'
  4. Ionic 2 中添加图表
  5. 3D OpenGL ES
  6. CSS 利用border三角形绘制方法
  7. BZOJ 4491: 我也不知道题目名字是什么 RMQ
  8. lwz程序人生之启程
  9. Lemonade Trade
  10. 2018.3.4 Linux and Unix 知识点