一、教程目的。

本教程的目的在于教会怎么完成android与tomcat服务器的数据交互。
二、开发环境。
Myeclipse8.5+jdk1.6+android2.3
三、开发步骤。
(1)新建一个web项目,并添加struts2支持。
new->webproject
1在项目名称右键,Myeclipse->Add Struts Capabilities

struts specification 选择struts2.1
然后选择完成

2新建一个action类

package action;import java.io.IOException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionSupport;public class AndroidAction extends ActionSupport {        HttpServletRequest request=ServletActionContext.getRequest();        HttpServletResponse response = ServletActionContext.getResponse();        @Override        public String execute() throws Exception {                // TODO Auto-generated method stub                return super.execute();        }        public void test()        {                String str = request.getParameter("test");                System.out.println(str);                writeOut("hello android");        }        /**         * 返回值         * @param jsonStr         */        public void writeOut(String jsonStr) {                response.setContentType("html/txt");                response.setCharacterEncoding("utf-8");                response.setHeader("Pragma", "no-cache");                response.setHeader("Cache-Control", "no-cache, must-revalidate");                response.setHeader("Pragma", "no-cache");                try {                        response.getWriter().write(jsonStr);                        response.getWriter().flush();                        response.getWriter().close();                } catch (IOException e) {                        e.printStackTrace();                }        }}

  3.修改struts.xml

<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts><package name="androidaction" extends="json-default" namespace="/androidaction">  <action name="test" class="action.AndroidAction" method="test">           <result type="json" name="success">          <param name="contentType">text/html</param>     </result>     <result type="json" name="error">          <param name="contentType">text/html</param>     </result>  </action></package></struts>    

  4.发布web项目 AndroidWebserver上右键 run as Myeclipse server application

(2)新建一个android项目。
记得要加入commons-httpclient-3.1.jar依赖包
新建一个链接工具类ConnUtil.java代码如下

public class HelloApacheServerActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        final ConnUtil cu = new ConnUtil();        Button btn = (Button)findViewById(R.id.sendMessage);        btn.setOnClickListener(new OnClickListener(){                        @Override                        public void onClick(View arg0) {                                String s = cu.sayHello();                                Toast.makeText(HelloApacheServerActivity.this,s,Toast.LENGTH_SHORT).show();                        }                        });    }}

  对了,android项目要记得添加网络访问权限
<uses-permission android:name="android.permission.INTERNET"/>

最后验证一下
按下"say hello"按钮 在myeclipse 的console下可以看到"hello server" 这是从android端发来的消息
同时android会弹出一个Toast "hello android"这是从服务器返回的消息。

最后 完整工程下载:

http://files.cnblogs.com/feifei1010/Desktop.zip

欢迎热爱安卓开发者加入群共同进步。南京群 220818530,武汉群121592153,,杭州群253603803,厦门群253604146,湖南群217494504,大连群253672904
青岛群 257925319

更多相关文章

  1. 实战android菜单项之XML加载菜单与动态菜单项
  2. eclipse android 项目报错 ERROR: Unable to open class file
  3. vue+cordova移动端Android开发环境配置
  4. Android多功能课程表项目实现(完整版)
  5. Android常用技术、常用工具和开源项目
  6. [Android]ListView & ViewPager & GridView 常见问题解决方法
  7. Android学习实践:1.初次创建Android项目遇到的各种问题
  8. Android(安卓)Studio下的build工具路径和设置位置
  9. i-jetty环境搭配与编译

随机推荐

  1. 深入探讨Android----必不可少的高级功能
  2. 一个轻量级、高可用性的 Android 版本更
  3. Android中图像变换Matrix的原理应用
  4. 基于ffmpeg+opengl+opensl es的android视
  5. Android蓝牙开发简介
  6. 提升Android开发效率的最佳实践
  7. Android中添加自定义按键 ---- 非标准做
  8. Android 动态加载布局文件
  9. android 服务的应用,在Activity中实现背景
  10. Android(安卓)N预览版 权限上的一些改变