当前位置:操作系统 > 安卓/Android >>

Android中利用httpclient进行网络通信的方法(以用户登录为例说明)

1.服务器端

      服务器端和android没有太大关系,对J2EE比较熟悉的话写起来应该很容易,这里就不一一贴出代码。

首先在本地创建一个数据库表,其中包含了一个userinfo表用来存储用户信息。

需要实现的代码如下:

 


DBUtils:创建数据库连接对象

User实体类:用来存放用户信息

UserDao:用来对处理User相关的数据操作

UserService:调用UserDao来处理事务

UserServlet:处理用户请求,并返回

 


当客户端访问该servlet时,获得客户端传入的数据,处理数据,并将结果写到response中返回给客户端。

UserServlet中doPost方法如下:

 


[java] <span style="font-size:16px;">1   public void doPost(HttpServletRequest request, HttpServletResponse response)   
2               throws ServletException, IOException {   
3           UserService us = UserService.getInstance();   
4           String username = request.getParameter("username"); //获得从客户端传入的用户名和密码    
5           String password = request.getParameter("password");   
6           //System.out.println("username:"+username);    
7           //System.out.println("password:"+password);    
8           //response.setContentType("text/html");    
9           PrintWriter out = response.getWriter();   
10          if(us.login(username, password))   
11          {   
12              //用户登录成功!    
13              out.println("success");   
14          }   
15          else    //用户登录失败    
16              out.println("failed");         
17          out.flush();   
18          out.close();   
19      }  </span> 
<span style="font-size:16px;">1 public void doPost(HttpServletRequest request, HttpServletResponse response) 
2             throws ServletException, IOException { 
3         UserService us = UserService.getInstance(); 
4         String username = request.getParameter("username"); //获得从客户端传入的用户名和密码 
5         String password = request.getParameter("password"); 
6         //System.out.println("username:"+username); 
7         //System.out.println("password:"+password); 
8         //response.setContentType("text/html"); 
9         PrintWriter out = response.getWriter(); 
10         if(us.login(username, password)) 
11         { 
12             //用户登录成功! 
13             out.println("success"); 
14         } 
15         else    //用户登录失败 
16             out.println("failed");       
17         out.flush(); 
18         out.close(); 
19     }  </span>

 


2.客户端,首先创建一个登录Activity。如图所示:

 
 

 

当用户点击登录按钮后,创建一个http请求,发送到服务器端。获得服务器返回的结果后,再进行判断并执行相关操作。

httpclient相当于一个浏览器,通过它,可以很方便的发出GET,POST请求。

该Activity的具体代码如下:

 

[java] <span style="font-size:16px;">20  public class GossipActivity extends Activity {   
21      /** Called when the activity is first created. */   
22         
23      pivate EditText usernameEdit;   
24      private EditText passwordEdit;   
25      private Button loginButton;   
26         
27      @Override   
28      public void onCreate(Bundle savedInstanceState) {   
29          super.onCreate(savedInstanceState);   
30          setContentView(R.layout.main);   
31                 
32          usernameEdit = (EditText)findViewById(R.id.usernameEdit);   
33          passwordEdit = (EditText)findViewById(R.id.pwdEdit);   
34          loginButton = (Button)findViewById(R.id.loginButton);   
35             
36          loginButton.setOnClickListener(loginListener);   
37      }   
38         
39      //登陆监听器    
40      OnClickListener loginListener = new OnClickListener(){   
41     
42          @Override   
43          public void onClick(View v) {   
44              System.out.println("Login Button clicked!");   
补充:移动开发 , Android ,

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,