• 使用百度siteapp开发网站的App-(IOS和Android版本)


    介绍

      之前写了个把百度云作文网站文件服务器、一些园友的评论不错、不过我似乎把意思弄错了!  我用的百度云的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下载

    以上,谢谢!

  • 相关阅读:
    Java的Socket通信----通过 Socket 实现 TCP 编程之多线程demo(2)
    MySQL 数据备份与还原
    java实现时钟方法汇总
    java实现二叉树demo
    java实现心型、99乘法demo
    显示本月日历demo
    打开图片并显示在面板上demo
    ArraySort--冒泡排序、选择排序、插入排序工具类demo
    类的实例化顺序
    StringsUtil字符串工具类---灵活截取
  • 原文地址:https://www.cnblogs.com/chinhi/p/usebaidubuildapp.html
Copyright © 2020-2023  润新知