Android网络编程之获取网络上的Json数据实例
这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
为要获取网络上的Json所以需要服务器端提供的支持。
一、创建服务器端:
服务器端项目结构:
服务器端运行效果图:
第一步:创建业务所需的JavaBean
复制代码 代码如下:
package com.jph.sj.model;
import java.util.Date;
/**
* 新闻实体类
* @author jph
* Date:2014.09.26
*/
public class News {
private Integer id;
private String title;
private Date publishDate;
public News(Integer id, String title, Date publishDate) {
this.id = id;
this.title = title;
this.publishDate = publishDate;
}
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Date getPublishDate() {
return publishDate;
}
public void setPublishDate(Date publishDate) {
this.publishDate = publishDate;
}
}
第二步:创建业务逻辑接口和具体实现类
业务接口:
复制代码 代码如下:
package com.jph.sj.service;
import java.util.List;
import com.jph.sj.model.News;
public interface NewsService {
/**
* 获取最新的资讯
* @return
*/
public List<News> getLastNews();
}
业务接口的实现类:
复制代码 代码如下:
package com.jph.sj.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import com.jph.sj.model.News;
import com.jph.sj.service.NewsService;
public class NewsServiceBean implements NewsService {
/**
* 获取最新的视频资讯
* @return
*/
public List<News> getLastNews(){
List<News> newes = new ArrayList<News>();
newes.add(new News(1, "李白", new Date(System.currentTimeMillis())));
newes.add(new News(2, "杜甫", new Date(System.currentTimeMillis()+8200)));
newes.add(new News(3, "贾宝玉",new Date(System.currentTimeMillis()-6000)));
return newes;
}
}
第三步:创建控制器Servlet
复制代码 代码如下:
package com.jph.sj.servlet;
import java.io.IOException;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jph.sj.model.News;
import com.jph.sj.service.NewsService;
import com.jph.sj.service.impl.NewsServiceBean;
/**
* 负责响应客户端的请求:http://xxx/NewsListServlet/NewsListServlet
*/
public class NewsListServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private NewsService newsService = new NewsServiceBean();
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
List<News> newes = newsService.getLastNews();//获取最新的视频资讯
//[{id:20,title:"xxx",timelength:90},{id:10,title:"xbx",timelength:20}]
StringBuilder sbJson = new StringBuilder();
//将list集合封装成Json格式的字符串
sbJson.append('[');
for(News news : newes){
sbJson.append('{');
sbJson.append("id:").append(news.getId()).append(",");
sbJson.append("title:\"").append(news.getTitle()).append("\",");
sbJson.append("publishDate:").append(news.getPublishDate().getTime());
sbJson.append("},");
}
sbJson.deleteCharAt(sbJson.length() - 1);//删除字符串末尾的逗号
sbJson.append(']');
request.setAttribute("json", sbJson.toString());
request.getRequestDispatcher("/WEB-INF/page/jsonnewslist.jsp").forward(request, response);
}
}
第四步:创建jsonnewslist.jsp页面
精彩图集
精彩文章