Android-用户登陆的例子(服务器端开发到客户端实现)


1.回顾
       上篇实现总结了App接口开发课程讲解的内容

2.此篇
     这篇将总结app接口开发里的 用户登录的例子!

3.基本步骤
    (1)服务端实现 登陆接口 开发
    (2)实现 json 和xml数据封装类
    (3)编写 接口开发文档
    (4)实现 app端(安卓( Android ))开发

4. 服务器端开发
      基本需求:用户使用用户名和密码登陆,登陆后,返回用户个人信息。

      这里,开发 数据库访问层和登陆业务我就不写了。这里的接口实现是在Servlet 里实现,通过调用登陆业务逻辑,返回用户个人信息,后生成json数据或者xml数据。
      再者,填写接口开发文档。
      最后,通过接口开发文档实现android(安卓)客户端登陆例子开发。

      下面实现安卓接口开发 servlet  : 
[java]   view plain   copy
  1. package Interface.app.android;  
  2.   
  3. import java.io.IOException;  
  4. import java.io.PrintWriter;  
  5.   
  6. import javax.servlet.ServletException;  
  7. import javax.servlet.http.HttpServlet;  
  8. import javax.servlet.http.HttpServletRequest;  
  9. import javax.servlet.http.HttpServletResponse;  
  10.   
  11. import Interface.app.Util.AppInterface;  
  12.   
  13. import cn.edu.hpu.stumanager.model.Competitor;  
  14. import cn.edu.hpu.stumanager.service.CompetitorManager;  
  15. import cn.edu.hpu.stumanager.service.CompetitorManagerImpl;  
  16.   
  17. public class app_userlogin extends HttpServlet {  
  18.   
  19.     public void doGet(HttpServletRequest request, HttpServletResponse response)  
  20.             throws ServletException, IOException {  
  21.   
  22.         //设置 编码格式  
  23.         request.setCharacterEncoding("UTF-8");  
  24.         response.setCharacterEncoding("UTF-8");  
  25.         //获得 用户登录 姓名和密码  (app端需要 传参数 name和pasd)  
  26.         String name=request.getParameter("name");  
  27.         String pasd=request.getParameter("pasd");  
  28.           
  29.         String str="";  
  30.           
  31.         if(!(str.equals(name)&&str.equals(pasd))){  
  32.             //这里实现你的 登陆业务调用  
  33.           
  34. //          CompetitorManager manager=new CompetitorManagerImpl();  
  35. //          Object object = manager.userLogin("hpujava","111");  
  36. //          Competitor competitor=null;  
  37. //          if(object instanceof Competitor){  
  38. //              competitor=(Competitor) object;  
  39.                   
  40.                 //这里传调用 生成json 和 xml的 数据生成类    
  41.                    
  42.                 str=AppInterface.toJson(1,"success","用户对象");  
  43. //          }else{  
  44. //                
  45. //              str=object.toString();  
  46. //          }  
  47.               
  48.               
  49.         }else{  
  50.               
  51.             str="参数为空了!";  
  52.         }  
  53.           
  54.   
  55.         response.setContentType("text/json");  
  56.         PrintWriter out = response.getWriter();  
  57.         out.print(str);  
  58.         out.flush();  
  59.         out.close();  
  60.     }  
  61.   
  62.     public void doPost(HttpServletRequest request, HttpServletResponse response)  
  63.             throws ServletException, IOException {  
  64.   
  65.          doGet(request, response);  
  66.             
  67.     }  
  68.   
  69. }  

5.  浏览器 通过 get方式 测试
      首先,打开cmd,输入 ipconfig 命令 ,获得本地 ipv4 的地址!将 localhost 换成你的Ipv4地址;
      其次,在浏览器里数据刚才的地址,看可以返回你封装好的数据不能!

      我的测试地址:
[java]   view plain   copy
  1. http://192.168.75.1:8080/TennisGameSys/app_userlogin?name=hpujava&pasd=111  

      测试数据:
[plain]   view plain   copy
  1. {"data":{"address":"中国广州","borth":"1983.2.13","id":1,"matchage":3,"password":"111","realname":"李娜","sex":"女","username":"hpujava"},"code":1,"msg":"success"}  

6.  app客户端 本地开发测试
     (1)按 上述的方式 将 localhost 换成你的 ipv4地址 ;
     (2)建议在电脑上 安装 360wifi ,将你的手机 连接至 自己电脑开启的wifi ,以便测试;
     (3)如果两个同时在本地开发,一个人开发app端,一个开发服务器端,建议 开发app端的 电脑和手机连接置开     发服务器端开启的wifi 下,这样在局域网下进行测试开发;
     (4)如果有条件的话,可以在公网服务器上进行开发,需要域名;

7. 编写接口开发文档

     接口开发文档是十分重要的,比方说,你开发了一款app的服务器端,并且写了 接口开发文档。过了很长一段时间,想起来了,直接去看接口文档,更直观,快捷。

    其中更重要的是,如果你开发的服务器端接口,转给别人了,别人看起来也是十分方便的。

    这里就不演示例子了,我在Execl 里演示写了刚才的登陆接口的 接口文档,截个图:

 

     需要哪些注意事项,可以看我的上篇博客!

8. app端开发——安卓端 用户登录的例子
    基本步骤:
          (1)新建Android工程 
                 这里我就不多说了,如果不会的话,下面都不需要看了!
          (2)实现工具类 HttpPath 
                 封装接口地址,统一管理接口地址,当然这里没有考虑安全性,仅仅为了调试方便
                 示例:
[java]   view plain   copy
  1. package com.example.http;  
  2.   
  3. public class HttpPath {  
  4.   
  5.     private static final String IP="http://192.168.75.1:8080/";  
  6.       
  7.     public static String getUserLoginPath(){  
  8.           
  9.         return IP+"TennisGameSys/app_userlogin";  
  10.     }  
  11.       
  12. }  
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

四角天空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值