Android应用连接服务器代码
来源:互联网 发布:药物查询软件 编辑:程序博客网 时间:2024/05/17 06:51
一、Android端代码:
//这是一个工具类,需要连接服务器的时候直接在所需的activity中调用静态方法即可import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URLDecoder;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.protocol.HTTP;public class LandServer {private static String url = "http://192.168.0.106:8080/Helper/servlet/";private static String result;private static HttpClient hc = new DefaultHttpClient();public static String doPost(String path,String name, String psd) {HttpPost hp = new HttpPost(url+path);NameValuePair n = new BasicNameValuePair("username", name);NameValuePair u = new BasicNameValuePair("password", psd);List<NameValuePair> list = new ArrayList<NameValuePair>();list.add(n);list.add(u);try {HttpEntity he =new UrlEncodedFormEntity(list,HTTP.UTF_8);hp.setEntity(he);HttpResponse response = hc.execute(hp);System.out.println(response.getStatusLine().getStatusCode());if(response.getStatusLine().getStatusCode() == HttpStatus.SC_OK){HttpEntity het =response.getEntity();InputStream in = het.getContent();BufferedReader bf = new BufferedReader(new InputStreamReader(in));String redLine = null;while((redLine=bf.readLine())!=null){System.out.println("redLine: " + redLine);result =redLine;}in.close();}else{System.out.println(response.getStatusLine().getStatusCode());result = "error";}} catch (Exception e) {e.printStackTrace();result = "Exception";}System.out.println(result);return result;}}
二、服务器端代码
//接受Android发来的请求,并从request中取出参数,通过response向Android端返回数据import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import javax.servlet.http.HttpSession;import utils.DealData;import domain.User;public class SchoolHelper extends HttpServlet {// public SchoolHelper() {// super();// }//// public void destroy() {// super.destroy();//// }public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();String username = request.getParameter("username");String password = request.getParameter("password");System.out.println("username : " + username + " password" + password);List<User>users = new ArrayList<User>();users = DealData.getAllUsers("users");User currentuser = new User();boolean flag = false;for(User u:users){if(u.getUsername().equals(username)&&u.getPassword().equals(password)){flag = true;currentuser = u;}}System.out.println(flag);if(flag){HttpSession session = request.getSession();session.setAttribute("currentuser", currentuser);out.print("true");}else{out.print("false");}}public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {this.doGet(request, response);System.out.println("成功");}}
所以这两段代码结合起来就实现了一个Android应用的登录功能
三、注意
一定要给应用设置internet权限,否则打死都连不通(曾经被这个坑得很惨………………):
<uses-permission android:name="android.permission.INTERNET" />
0 0
- Android应用连接服务器代码
- redis代码连接服务器
- android 判断当前应用是否与服务器连接成功
- Android开发-POST方法连接服务器(Servlet)-应用例程
- Android应用与Java Web服务器保持Socket长连接
- android 判断当前应用是否与服务器连接成功
- 服务器长短连接应用分析
- Android连接远程服务器
- Android连接服务器Servlet
- Android连接服务器Servlet
- android http连接服务器
- Android中连接服务器
- Android连接Tomcat服务器
- android 连接tftp 服务器
- ftp服务器连接伪代码
- SDE:直连接和应用服务器连接
- android连接wifi代码
- android 代码连接 wifi
- HDU 1695 GCD(phi函数+容斥)
- 状态栏编程实例
- SYN Flood 攻击及防御方法
- maven + spring mvc 创建Java web项目
- leetcode 414. Third Maximum Number 解法讨论
- Android应用连接服务器代码
- NOIP2016提高组day1试题 玩具谜题
- Linux系统性能分析——网络
- Mybatis自动生成代码
- c++自我理解的概念
- Spring BeanFactory
- 在目录下递归建立文件的方法
- ssh采用uuid作为主键的例子以及代码
- 【计算机网络】交换技术