首先activity使用了以下的接口。據說可以加快啓動的速度。
public class MainActivity extends Activity implements CordovaInterface,
OnClickListener
實現了CordovaInterface,對於以下代碼段要修改爲this,不然老是報莫名其妙的空指針。public Activity getActivity() {
// TODO Auto-generated method stub
return this;//默認這裏是null
}
這裏的話初始化SharedPerferences我把主頁保存起來,方便以後開發調試和修改。
private void initIndex() {
sharedPreferencesUtil = new SharedPreferencesUtil(this);
sharedPreferencesUtil.open("week_report");
String temp = sharedPreferencesUtil.getData("indexPage");
if (temp == null || temp.equals("")) {
indexPage = preset;
sharedPreferencesUtil.setData("indexPage", preset);
} else {
indexPage = temp;
}
}
接下來就初始化webview相關,以備下面的裝載。
private void initWebView() {
webView.setWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
webView.getSettings().setSupportZoom(true);//支持縮放
webView.getSettings().setBuiltInZoomControls(true);//可以縮放控制
Config.init();//init配置文件
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
if (progress == 100) {
progressBar.setVisibility(View.GONE);
} else {
if (progressBar.getVisibility() == View.GONE) {
progressBar.setVisibility(View.VISIBLE);
}
progressBar.setProgress(progress);
}
}
@Override
public void onReceivedTitle(WebView view, String title) {
// TODO Auto-generated method stub
super.onReceivedTitle(view, title);
tvTitle.setText(title);
}
});
Config.addWhiteListEntry("*", true);//給phonegap的webview增加白名單,不然外網的網址訪問不了。
webView.loadUrl(indexPage);//加載url網址
}
記得銷燬相關phonegap的webview。
public void onDestroy() {
super.onDestroy();
if (webView != null) {
// Send destroy event to JavaScript
webView.handleDestroy();
}
}
最後附上可以設置主頁的hybird app的界面。
ps:有什麼錯誤的地方請大牛們指正一下。