zoukankan      html  css  js  c++  java
  • Android基础_web通信3

    在Android基础_web通信2中,我运用的JSONObject是Android原生的json类,通过import org.json.JSONObject来导入。

    还有另外一种更简单的方法,就是用Gson解析

    一.导入Gson包

    复制你需要添加的jar,并将其黏贴到app— —src— —main— —libs文件夹下,可运行的AndroidStudio项目都有像这样的目录结构。可以看到虽然jar已经复制黏贴过来了,但是还未导入,所以看不到jar中包含的内容。而已导入的jar,则可以看到jar中内容。

    不清楚怎么导入的可以百度搜索一下。

    二.代码

    在web端操作数据的代码

    //根据Id查询单个用户
        protected void doFindUserById(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter out=response.getWriter();
            //取出ID
            int id=Integer.parseInt(request.getParameter("uno"));
            for (Users users : userList) {
                if(users.getUno()==id){
                    out.println(new Gson().toJson(users));
                    return;
                }
            }
            out.close();
        }
    //查询所有用户
        protected void doFindUserList(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
            PrintWriter out=response.getWriter();
            //将所有用户以JSON格式响应到客户端
            out.println(new Gson().toJson(userList));
            out.close();        
        }

    移动客服端操作数据的代码

    //查询单个用户
        public void test_1(View view){
            try {
                URL url=new URL("http://192.168.3.222:8080/Web_Project2/UserServlet?method=userById&uno=1");
                HttpUtils.doGet(url, new CallBack() {
                    @Override
                    public void success(String str) {
                        Log.i("User Info","------success-----");
                        TbUsers users=new Gson().fromJson(str,TbUsers.class);
                        Log.i("User Info",users.getUname()+","+users.getUpwd());
                    }
                    @Override
                    public void failed(String str) {
                        Log.i("Error Message",str);
                    }
                });
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    //查询所有用户
        public void test_2(View view){
            try {
                URL url=new URL("http://192.168.3.222:8080/Web_Project2/UserServlet?method=userList");
                HttpUtils.doGet(url, new CallBack() {
                    @Override
                    public void success(String str) {
                        List<TbUsers> userList=new Gson().fromJson(str,new TypeToken<List<TbUsers>>(){}.getType());
                        for(TbUsers u:userList){
                            Log.i("User Info:",u.getUname()+","+u.getUpwd());
                        }
                    }
                    @Override
                    public void failed(String str) {
                    }
                });
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    工具类和Android基础_web通信2中一样。这里不粘贴代码了。

  • 相关阅读:
    uinty实现玩家尾随鼠标位置平滑旋转角度
    matlab hornerDemo
    【App 开发框架
    mobiscroll手机端插件 好用(时间、日历、颜色)
    朴素的UNIX之-调度器细节
    String与StringBuffer的差别
    用jquery ajax做的select菜单,选中的效果
    Codeforces Round #253 (Div. 2)A. Anton and Letters
    unix环境高级编程——文件i/o
    CSDN的技术问题
  • 原文地址:https://www.cnblogs.com/Crezy/p/8125692.html
Copyright © 2011-2022 走看看