Android笔记:Android后台接口教程一(从零开始学习Android后台接口)Android 前后台通信

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaoyu940601/article/details/54950673

前言:

作为一名android开发人员,网络数据都是web开发人员提供,每次让他们写一个接口都跟求神拜佛一样,与其求别人还不如自己动手,经过将近一天的研究,参考了很多的资料。总算研究出来了,写下来有的人可能会用到。也算是自己做个笔记。文章有些长。请细心看完。
先看一下效果图:
json数据接口:

这里写图片描述
把json数据格式化一下,看一下还行,凑合。
这里写图片描述
写一个Android 小demo试试。效果图:
这里写图片描述

接下来说教程:
一、环境搭建
我用的是Eclipsefor JavaEE+Tomcat7.0,暂时没有用到数据库,后续加上。
先说一下Tomcat的环境搭建:
一、安装JDK 1.7

1、添加环境变量:在 我的电脑->属性->高级->环境变量

2、新建系统变量,变量名:JAVA_HOME  变量值:C:\Program Files\Java\jdk1.7.0 (JDK的安装目录)

3、在原有的系统变量 Path后面加上英文分号,

再添加%JAVA_HOME%\bin;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\jre\bin;

不要删除原来的。看清楚,它们之间的分号,是英文的分号。

4、重启电脑生效(因为添加的是系统变量,如果你的系统是win7,则不需要重启)。

4、测试JDK是否安装成功,运行->cmd ->D:  进入D盘,输入javac  看能否出来很多命令,出来则说明JDK配置成功。

二、Tomcat 7.0的安装配置

1、Tomcat 7.0 的免安装版的配置(假如将Tomcat 解压到C:\Program Files目录,

目录结构为:C:\Program Files\apache-tomcat-7.0.11

       1、添加环境变量:在 我的电脑->属性->高级->环境变量

       2、新建系统变量,变量名:CATALINA_HOME  变量值:C:\Program Files\apache-tomcat-7.0.11 (Tomcat 解压到的目录)。

       3、在系统变量  Path的最后面添加

%CATALINA_HOME%\lib;%CATALINA_HOME%\lib\servlet-api.jar;%CATALINA_HOME%\lib\jsp-api.jar

注意它们之间的分号,一定是英文的分号。

       4、Tomcat 7.0的管理员的配置,进入C:\Program Files\apache-tomcat-7.0.11(Tomcat目录)下的conf目录,

编辑tomcat-users.xml,找到最后的:

 <role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>

在上面这段后面 添加上:

<role rolename="manager-gui"/>
 <role rolename="admin-gui"/>
 <user username="admin" password="admin888" roles="admin-gui"/>
 <user username="tomcat" password="tomcat" roles="manager-gui"/>

红色为添加部分。 到这应该知道我们添加的管理员的用户名和密码是多少了吧!

5、进入Tomcat 目录下的bin目录,双击startup.bat 启动Tomcat 在命令行窗口会出来英文提示。

6、浏览器输入:http://localhost:8080 可以看到Tomcat的欢迎页面就说明配置成功了,点击右上角上manager连接,输入上面配置的用户名和密码,就可以进入管理页面。如图所示

这里写图片描述

2.EclipseforJavaEE下载以及配置Tamcat服务
EclipseforJavaEE 下载地址:
http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplersr1
这里写图片描述

根据自己电脑的配置选择相应的eclipse下载即可。
3.接下来说一下在Eclipse里配置service
1.打开Eclipse后如图所示:

这里写图片描述
2.选择Window–>Perferences–>Service–>Runtim…选项
这里写图片描述
3.新建一个Service
这里写图片描述

按照步骤来就好

这里写图片描述

这里写图片描述

点击finish即可。
5。再点击Window–>showView–>Service选项把service窗口显示出来
这里写图片描述
6。查看底部工具栏,点击启动服务便可。
这里写图片描述

至此配置完成,接下来到代码部分:
1.先新建一个web工程,选择File–>NewProject–>Web–>Dynamic..选项:
这里写图片描述

2。输入工程名,下一步

这里写图片描述

3。略过 ,下一步
这里写图片描述

4。在这一步,这个对勾一定要打上,否则后面会很受罪,亲身感受。。。。
这里写图片描述

5。点击Finish 完成
6。在WebContent文件夹下面新建img文件夹,在img文件夹里放上图片。这里写图片描述
7。在Webcontent文件夹下新建一个jsp文件,文件名暂时取为index,
8。打开WEB-INF–>下的web.xml 文件如图所示:
这里写图片描述
9。修改web.xml文件,web.xml代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" 
    xmlns="http://java.sun.com/xml/ns/j2ee" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee 
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
  <servlet>
    <description>This is the description of my J2EE component</description>
    <display-name>This is the display name of my J2EE component</display-name>
    <servlet-name>GetDataServlet</servlet-name>
    <servlet-class>com.dfwy.servlet.GetDataServlet</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>GetDataServlet</servlet-name>
    <url-pattern>/servlet/GetDataServlet</url-pattern>
  </servlet-mapping>
  <welcome-file-list>
    <welcome-file>index1.jsp</welcome-file>
    <welcome-file>test.jsp</welcome-file>
  </welcome-file-list>
</web-app>

10。打开java Resources文件下的src,在src文件夹下新建两个包,名字自定义就好,如图
这里写图片描述
11。在domain包下新建一个Girl类,在类里定义几个属性,在获取set,get方法,toString方法
代码如下:

package com.dfwy.domain;

public class Girl {
    private int id;
    private String name;
    private String image;
    /**
     *set和get方法
     */
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getImage() {
        return image;
    }
    public void setImage(String image) {
        this.image = image;
    }
    @Override
    public String toString() {
        return "People [id=" + id + ", image=" + image + ", name=" + name + "]";
    }

}

12。下载gson,和servlet-api 两个jar包,粘贴到WEB-INF下的lib文件夹下。
这里写图片描述
13。选中这两个jar包,右击选择buildPath–>add..选项
这里写图片描述
14。在servlet包下新建GetDataServlet类,这是核心代码。代码如下

package com.dfwy.servlet;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.logging.Logger;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.ws.Response;

import com.dfwy.domain.Girl;
import com.google.gson.Gson;

public class GetDataServlet extends HttpServlet{
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //获得gson对象
        Gson gson = new Gson();
        //模拟从数据库获得数据
        List<Girl>girls = new ArrayList<>();
        for(int i = 1;i<=9;i++){
            Girl girl = new Girl();
            girl.setId(i);
            girl.setName("大美女girl"+i);
             /* 
             * request.getContextPath()获得该项目的根路径 即 “/HouTai” 获得图片的路径 
             * 即相当于“/HouTai/img/girl.jpg”循环读取图片的路径 
             * request.getContextPath()+"/img/girl"+i+".jpg" 
             */ 
            girl.setImage(req.getContextPath()+"/img/girl"+i+".jpg");
            girls.add(girl);
        }
          // 调用gson.toJson()传入一个对象,返回为该对象转换为json格式的字符串  
        String string = gson.toJson(girls);
        req.setAttribute("data","{\"data\":" + string + "}");
        //跳转到index.jsp页面进行显示
        RequestDispatcher rd = req.getRequestDispatcher("/test.jsp");
        try{
            rd.forward(req, resp);
            return;
        }catch(Exception e){
            System.out.println("eeeee");
        }
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        // TODO Auto-generated method stub
    }   

}

然后右击GetDataServelt.java选择RunAsServerce就看到了想要的界面,把local host改成你电脑的IP地址,在统一局域往下就可以访问了。:
这里写图片描述
二、Android 端展示:
Android 端就比较简单了,在这里就不详细介绍了,简单说一下思路便可
新建一个异步在异步里获取接口数据,获得到json数据,新键一个BaseAdapter 在里面处理列表数据便可。有需要可以评论交流哦。
至此完成。

猜你喜欢

转载自blog.csdn.net/xiaoyu940601/article/details/54950673
今日推荐