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:有什么错误的地方请大牛们指正一下。


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