phonegap使用初步研究(二)使用cordova-2.9.0做hybrid app

首先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:有什麼錯誤的地方請大牛們指正一下。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章