温馨提示:本教程需要开发人员熟悉android开发环境配置、Sencha touch的使用。
本节将做一个登录和注册模块。
具体代码见附件!!!!
一,开发环境:
1,安装android开发环境(这里省略,可直接到android官方网下载adt-bundle-windows-x86)。
2,下载Phonegap。
3,下载Sencha touch。
二,搭建项目:
1,创建Android项目:
2,引入相应Phonegap文件,Sencha touch文件:
下载Phonegap解压后,里面有一个android例子。
a,拷贝里面cordova-2.8.0.jar到项目libs目录下。
b,拷贝里面的xml文件夹到项目res目录下。
c,将以下配置拷贝到AndroidManifest.xml文件中(这些配置与xml文件夹下config.xml文件的配置对应的,要删除配置,两个文件都要对应删除):
<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.INTERNET" /> <uses-permission android:name="android.permission.RECEIVE_SMS" /> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <uses-permission android:name="android.permission.RECORD_VIDEO"/> <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" /> <uses-permission android:name="android.permission.BROADCAST_STICKY" />
d,改写MainActivity代码如下:
public class MainActivity extends DroidGap {
@Override
public void onCreate(Bundle savedInstanceState) {
super.setIntegerProperty("loadUrlTimeoutValue", 300000);
super.onCreate(savedInstanceState);
super.loadUrl(Config.getStartUrl());
}
}
e,在项目文件夹assets中创建web文件,引入相应sencha touch核心文件,目录如下:
这里采用的是Sencha touch MVC模式。
三,编码:见附件。
登录调用的服务端是一个servlet,代码如下:
public class Login extends HttpServlet {
public Login() {
super();
}
public void destroy() {
super.destroy();
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/javascript");
PrintWriter out = response.getWriter();
out.println(request.getParameter("callback")+"({userName:\""+request.getParameter("userName")+"\",success:true})");
out.flush();
out.close();
}
public void init() throws ServletException {
// Put your code here
}
}
四,运行项目效果如下:
下节见!