不得不说,正是因为HTML5/CSS3/JS的强大才促成了PhoneGap的伟大。可以做出那么酷的应用,然后变成本地应用才有意义。
简介
PhoneGap是一款开源的手机应用开发平台,它仅仅只用HTML和JavaScript语言就可以制作出能在多个移动设备上运行的应用。 PhoneGap将移动设备本身提供的复杂的API进行了抽象和简化,提供了一系列丰富的API供开发者调用,只要你会HTML和Javascript或 者Java语言,就可以利用PhoneGap提供的API去调用各种功能,制作出在各种手机平台上运行的应用。
目前这类开发移动程序框架还是很多的,除PhoneGap外还有比如Web App、Titanium、MonoTouch、Native App等。试用了PhoneGap,感觉还是很不错的。
PhoneGap开发环境搭建(针对安卓平台)
<!DOCTYPE HTML> <html>
<head>
<title>PhoneGap</title>
<script type="text/javascript" charset="utf-8" src="phonegap-x.x.x.js"></script>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
<supports-screens
android:largeScreens="true"
android:normalScreens="true"
android:smallScreens="true"
android:resizeable="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
android:configChanges="orientation|keyboardHidden
====================解释上面这句话======================================================
android:configChanges="orientation|keyboardHidden"的使用
今天看到一个Android应用的源码,发现有一段这样的代码,平时开发的时候很少用的,后来了解到如果使用了这个属性,当横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不是重新执行onCreate方法,如果没有使用这个属性就会重新调用onCreate方法了。
=======================================================================================
然后就可以试着运行一下,成功的话会出现Hello World的界面。
import com.phonegap.api.PluginResult;
import com.phonegap.api.PluginResult.Status;
PluginResult pr=null;
if(action.equals("method1")){
pr=new PluginResult(Status.IO_EXCEPTION,"method1");
}else if(action.equals("method2")){
pr=new PluginResult(Status.OK,"method2");
}
return pr;
}
PhoneGap.exec(successCallback, // 成功后的回调方法
failureCallback, // 失败后的回调方法
' PluginTest ' , // 刚才配置的类名
' method1 ' , // 方法名称,就是之前提到的action参数
[ " /sdcard " ]); // sdcard路径
function successCallback(data){
alert( " data: " + data);
}
function failureCallback(data){
alert( " error: " + data);
}
</ script >
人品没问题的话,这样就能run起来了。。。。。。。
相关链接:
个人技术博客:http://www.ynihao.com/articles/view/1581
PhoneGap 官方网站:http://www.phonegap.com