使用百度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下載

 

以上,謝謝!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM