去实习的时候,听中软国际老师讲的,由于是初学,很多都不懂,只是死记下来。

创建RegActivity

客户端建立:

Android 从服务器接收图标_服务器

Android 从服务器接收图标_服务器_02

View Code

1 HttpURL url =new HttpURL();
 2 // url地址
 3                     String requestUrl ="http://10.0.2.2:8080/web/servlet/RegServlet";
 4 
 5 // 参数,跟数据库传入数据结合,蓝色字相当于哈希表索引,可以随便定义,无实际意义,但要和客户端接口实现相同命名
 6                     Map<String, String> requestParams =new HashMap<String, String>();
 7                     requestParams.put("userName", loginName);
 8                     requestParams.put("userPass", pass);
 9                     requestParams.put("sex", sex);
10                     requestParams.put("city", ct);
11                     requestParams.put("job", job);
12                     requestParams.put("marry", ma);
13                     requestParams.put("love", love);
14 // 获取登录用户信息,定死的
15                     InputStream ins = url.getHttpCon(requestUrl, requestParams);
16                     XStream xStream =new XStream();
17                     UserInfo user = (UserInfo)xStream.fromXML(ins);

url中”servlet/RegServlet”为获得的,

Android 从服务器接收图标_Android 从服务器接收图标_03

Android 从服务器接收图标_客户端_04

客户端上网条件设置:

Android 从服务器接收图标_ci_05

Android 从服务器接收图标_客户端_06

在相同界面添加Activity页面注册:(最标准的情况应该在创建RegActivity时,同时创建)

Android 从服务器接收图标_客户端_07

在服务器和客户端分别建立相同的包,并在包下建立相同的接口类,

Android 从服务器接收图标_服务器_08

工程下建立已经封装好的HttpURL,

Android 从服务器接收图标_Android 从服务器接收图标_09

Android 从服务器接收图标_客户端_10

服务器下建立与RegActivity相应的RegServlet连接。

Android 从服务器接收图标_服务器

Android 从服务器接收图标_服务器_02

View Code

1 publicvoid doPost(HttpServletRequest request, HttpServletResponse response)
 2 throws ServletException, IOException {
 3 
 4             request.setCharacterEncoding("UTF-8");
 5 //账号
 6             String username = request.getParameter("userName");
 7 //密码
 8             String userpass = request.getParameter("userPass");
 9             String sex = request.getParameter("sex");
10             String city = request.getParameter("city");
11             String job = request.getParameter("job");
12             String marrage = request.getParameter("marry");
13             String love = request.getParameter("love");
14             
15 //数据访问
16             UserInfoDAO dao =new UserInfoDAO();
17 //创建user
18             UserInfo userInfo =new UserInfo();
19             userInfo.setUserName(username);
20             userInfo.setUserPass(userpass);
21             userInfo.setSex(sex);
22             userInfo.setCity(city);
23             userInfo.setJob(job);
24             userInfo.setMarry(marrage);
25             userInfo.setLove(love);
26             
27             UserInfo user = dao.add(userInfo);
28             UserInfo  user1 = dao.reId(user);
29             
30 //生成xml
31             XStream xStream =new XStream();
32             System.out.println(xStream.toXML(user1));
33             
34             PrintWriter out = response.getWriter();
35             out.print(xStream.toXML(user1));
36             out.flush();
37             out.close();
38         }

上图与数据库交互的Dao类也要相应的建立。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

还要先提交到服务器,在将服务器发布。

此时运行客户端即可。

 

 

常见问题:

1.        数据库已经可以显示,但输入信息不全:客户和服务器哈希表索引不一致。

2.        LogCat进行调试,控制台调试,System.out.println();,Toast调试

3.        注意客户端上网允许条件。

Android 从服务器接收图标_客户端_13

4.三个支持文件要对客户端,服务器同时导入。

 

Android 从服务器接收图标_服务器_14

导入方法:工程下建一个lib文件夹,在上图位置进行导入。

原理:通过Activity中的网址进行定位,通过http将数据按统一格式进行发送,并没有具体的实现调用跳转的函数,返回时也是通过固定定死的格式进行。