Android笔记:Android后台接口教程一(从零开始学习Android后台接口)Android(安卓)前后台通信
前言:
作为一名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 componentdescription> <display-name>This is the display name of my J2EE componentdisplay-name> <servlet-name>GetDataServletservlet-name> <servlet-class>com.dfwy.servlet.GetDataServletservlet-class> servlet> <servlet-mapping> <servlet-name>GetDataServletservlet-name> <url-pattern>/servlet/GetDataServleturl-pattern> servlet-mapping> <welcome-file-list> <welcome-file>index1.jspwelcome-file> <welcome-file>test.jspwelcome-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(); //模拟从数据库获得数据 Listgirls = 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 在里面处理列表数据便可。有需要可以评论交流哦。
至此完成。
更多相关文章
- Android省市区三级联动滚轮选择(真实项目中提取出来的组件)
- Android音频口数据通信开发;通过静态分析工具了解IPA实现 -- iOS/
- Android设备与USB设备的连接通讯
- Android中textView自动识别电话号码,电子邮件,网址(自动加连接)
- WebView之js调用Android类的方法传递数据 - 依凡王子
- Android下添加新的自定义键值和按键处理流程
- 当expandlistview的getGroupView或者getChildView中包含checkbox
- Android(安卓)数据存储与读取:SQLite
- Android(安卓)实现json网络数据通过BaseAdapter加载到ListView中