Phonegap+Android+Sencha touch开发应用(一)

益之 2013-06-08

温馨提示:本教程需要开发人员熟悉android开发环境配置、Sencha touch的使用。

本节将做一个登录和注册模块。

具体代码见附件!!!!

一,开发环境:

1,安装android开发环境(这里省略,可直接到android官方网下载adt-bundle-windows-x86)。

2,下载Phonegap。

3,下载Sencha touch。

二,搭建项目:

1,创建Android项目:


Phonegap+Android+Sencha touch开发应用(一)
 

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核心文件,目录如下:


Phonegap+Android+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
	}

}

四,运行项目效果如下:


Phonegap+Android+Sencha touch开发应用(一)
 
Phonegap+Android+Sencha touch开发应用(一)
 
Phonegap+Android+Sencha touch开发应用(一)

下节见!
 

相关推荐