温馨提示:本教程需要开发人员熟悉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文件夹下面的配置对应的,不要对应可以删除):
<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 } }
运行项目效果如下:
下节见!